JIRA Ticket Sync
Sync current plan progress to JIRA ticket: $ARGUMENTS
If no argument provided, search for a ticket URL in the active plan file (most recently modified .md in plans/).
Workflow
Step 1: Identify Ticket and Context
- Parse ticket ID from
$ARGUMENTSor extract from the active plan file - Fetch current ticket state via JIRA MCP (
mcp__atlassian__getJiraIssue) - Determine current milestone by checking:
- Does a plan file exist? → Plan created
- Is there a working branch? → Implementation started
- Are tasks in progress? → Active implementation
- Is there an open PR? → PR ready for review
- Is the PR merged? → Complete
Step 2: Gather Update Content
Based on the current milestone:
| Milestone | Content to Post | |-----------|-----------------| | Plan created | Plan summary, branch name, link to PR (if draft exists) | | Implementation in progress | Task completion summary (X of Y tasks done), any blockers | | PR ready | PR link, summary of changes, test results | | PR merged | Final summary, suggest moving ticket to "Done" |
Step 3: Post Update
- Add a comment to the ticket with the gathered content via JIRA MCP
- Update ticket fields if applicable:
- Add branch name to a custom field or comment
- Add PR link to a custom field or comment
- Report what was synced to the user
Step 4: Suggest Status Transition
Based on the milestone, suggest (but don't automatically perform) a status transition:
| Milestone | Suggested Status | |-----------|-----------------| | Plan created | "In Progress" | | PR ready | "In Review" | | PR merged | "Done" |
Important Notes
- Never auto-transition ticket status — always suggest and let the user confirm
- Idempotent updates — running sync multiple times at the same milestone should not create duplicate comments
- Comment format — use JIRA markdown with clear headers and bullet points
Execution
Sync the ticket now.