-
Notifications
You must be signed in to change notification settings - Fork 0
Jira Workflows
Typical agent tasks against Jira Data Center. All examples work through the
typed tools where they exist, and through the generic tools
(atlassian_discover_operations → atlassian_describe_operation →
atlassian_execute_operation) for everything else.
Jira custom fields are instance-specific. Never guess customfield_* IDs or
required fields — query the target instance first:
-
jira_get_create_metadata(project, then issue type) before creating. -
jira_get_edit_metadatabefore updating an existing issue. -
jira_get_transitionsbefore a workflow transition. -
jira_list_fieldsto map custom field IDs to names and schemas.
jira_search_issues({ jql: "project = MCP AND status = Open ORDER BY created DESC", maxResults: 20 })
Large result sets paginate with cursor / nextCursor; use
responseProfile: "compact" (default) to keep custom-field noise out, or
fields: ["summary", "status", "assignee"] to select exactly what you need.
See Attachments and Large Results.
jira_get_issue({ issueIdOrKey: "MCP-123" })
-
jira_get_create_metadata({ projectIdOrKey: "MCP" })→ pick an issue type, read its required fields and allowed values. - Create with the fields the instance told you about:
jira_create_issue({
fields: {
project: { key: "MCP" },
issuetype: { name: "Task" },
summary: "Printer is on fire"
}
})
jira_update_issue({ issueIdOrKey: "MCP-123", fields: { summary: "Printer is no longer on fire" } })
jira_add_comment({ issueIdOrKey: "MCP-123", body: "Resolved by replacing the printer." })
jira_get_transitions({ issueIdOrKey: "MCP-123" }) // what is available now
jira_transition_issue({ issueIdOrKey: "MCP-123", transition: { id: "31" } })
Transitions live in the risky tier — start the server with
--exposure-tier=risky (or FORCE-include the specific operation).
Upload via multipart bodies (requires safe tier and ATLASSIAN_FILE_ROOT):
atlassian_execute_operation({
operationId: "jira.issue.attachments.upload",
pathParams: { issueIdOrKey: "MCP-123" },
body: { files: ["/abs/path/under/file-root/screenshot.png"] }
})
Download with jira_download_attachment. Limits and sandbox rules: see
Attachments and Large Results.
The agile operations are registry operations (jira.agile.*), called
through the generic tools. Typical sprint flow:
# Find boards and the active sprint (read tier)
atlassian_execute_operation({ operationId: "jira.agile.boards.list" })
atlassian_execute_operation({ operationId: "jira.agile.boards.sprints.list", pathParams: { boardId: 42 } })
atlassian_execute_operation({ operationId: "jira.agile.sprints.issues", pathParams: { sprintId: 7 } })
# Plan work (safe tier)
atlassian_execute_operation({ operationId: "jira.agile.sprints.create", body: { name: "Sprint 12", originBoardId: 42 } })
atlassian_execute_operation({ operationId: "jira.agile.sprints.issues.move", pathParams: { sprintId: 7 }, body: { issues: ["MCP-123"] } })
atlassian_execute_operation({ operationId: "jira.agile.issues.estimation.update", pathParams: { issueIdOrKey: "MCP-123" }, body: { value: 5 } })
# Close out (risky tier: sprint delete)
atlassian_execute_operation({ operationId: "jira.agile.sprints.delete", pathParams: { sprintId: 7 } })
Use atlassian_describe_operation({ operationId: "jira.agile.sprints.create" })
to see the exact parameters and any request body template before calling.
Atlassian errors arrive as structured tool errors with status,
operationId, sanitized details, and normalized fieldErrors (for example
which field failed validation). The server never retries any request
automatically — if a write times out, check the issue in Jira before deciding
to repeat it.
中文版 · English is the authoritative version.
Documentation source: docs/wiki/
— changes are reviewed via pull request; edits made directly in this wiki
are overwritten by the next sync. · 中文首页
Get started
Workflows
Reference
- Exposure tiers
- Attachments and large results
- Security model
- Compatibility matrix
- Upgrade guide
- Troubleshooting