AI Agents SDE Task Viewer
      • Context
      • Plan
      • Prd
  1. Home
  2. AgentSDE
  3. agent-core
  4. gh-555
  5. plan
  6. prd.json
prd.json(2.6 KB)· Apr 23, 2026
{
  "issueNumber": 555,
  "branchName": "rc/atlassian-integration",
  "generatedAt": "2026-04-23T17:15:37Z",
  "stories": [
    {
      "id": "S1",
      "title": "Implement Bitbucket webhook client helper + PR-lifecycle fixtures (created/updated/approved/merged)",
      "priority": 1,
      "dependsOn": [],
      "acceptanceCriteria": [
        "test/helpers/bitbucket-webhook-client.ts exports sendBitbucketWebhook(eventType, body) and POSTs to /webhooks/bitbucket?secret=... with X-Event-Key and X-Request-UUID headers",
        "Helper reads BITBUCKET_WEBHOOK_SECRET from env and throws clear error when unset",
        "Fixtures pr_created/pr_updated/pr_approved/pr_merged exist under test/fixtures/bitbucket/ and parse as valid JSON",
        "Each fixture contains minimum fields BitbucketAdapter.normalize() reads (pullrequest.id, repository.full_name, actor.nickname)"
      ],
      "passes": false,
      "completedAt": null
    },
    {
      "id": "S2",
      "title": "Add Bitbucket pr_comment + push fixtures and the Bitbucket smoke test",
      "priority": 2,
      "dependsOn": [
        "S1"
      ],
      "acceptanceCriteria": [
        "pr_comment.json and push.json exist under test/fixtures/bitbucket/ and parse as valid JSON",
        "test/smoke/bitbucket.smoke.e2e-spec.ts loads one fixture, calls sendBitbucketWebhook, asserts status === 'dispatched'",
        "Smoke test passes against a local agent-core instance with BJ-6 merged"
      ],
      "passes": false,
      "completedAt": null
    },
    {
      "id": "S3",
      "title": "Implement Jira webhook client helper + 4 Jira fixtures",
      "priority": 3,
      "dependsOn": [],
      "acceptanceCriteria": [
        "test/helpers/jira-webhook-client.ts exports sendJiraWebhook(eventType, body) and signs the raw JSON body with HMAC-SHA256 under X-Hub-Signature: sha256=<hex>",
        "Helper reads JIRA_WEBHOOK_SECRET from env and throws clear error when unset",
        "Fixtures issue_created/issue_updated/issue_deleted/comment_created exist under test/fixtures/jira/ and parse as valid JSON",
        "Each fixture includes webhookEvent and the minimum issue/comment/changelog fields JiraAdapter.normalize() reads"
      ],
      "passes": false,
      "completedAt": null
    },
    {
      "id": "S4",
      "title": "Add Jira smoke test verifying end-to-end dispatch",
      "priority": 4,
      "dependsOn": [
        "S3"
      ],
      "acceptanceCriteria": [
        "test/smoke/jira.smoke.e2e-spec.ts loads one fixture, calls sendJiraWebhook, asserts status === 'dispatched'",
        "Smoke test passes against a local agent-core instance with BJ-7 merged"
      ],
      "passes": false,
      "completedAt": null
    }
  ]
}
PlanPr description