Jira Integration
Retrieve, analyze, and update Jira tickets with MCP or direct REST API.
When to Activate
- Fetching ticket requirements and acceptance criteria
- Adding progress comments or status updates
- Transitioning ticket status (To Do → In Progress → Done)
- Searching for issues via JQL queries
- Linking PRs or branches to tickets
Setup
Option A: MCP Server (Recommended)
Install mcp-atlassian via uvx:
{
"jira": {
"command": "uvx",
"args": ["mcp-atlassian==0.21.0"],
"env": {
"JIRA_URL": "https://YOUR_ORG.atlassian.net",
"JIRA_EMAIL": "your.email@example.com",
"JIRA_API_TOKEN": "your-api-token"
}
}
}
Get your API token: https://id.atlassian.com/manage-profile/security/api-tokens
Option B: Direct REST API
Set these environment variables:
JIRA_URL— Jira instance URLJIRA_EMAIL— Your account emailJIRA_API_TOKEN— API token (never hardcode)
MCP Tools
With mcp-atlassian configured:
jira_search— JQL queriesjira_get_issue— Fetch issue detailsjira_create_issue— Create new issuesjira_update_issue— Update fieldsjira_transition_issue— Change statusjira_add_comment— Add commentsjira_get_transitions— List available transitions
Analyzing Tickets
Extract from tickets:
- Functional requirements — What needs to be built
- Acceptance criteria — Testable conditions
- Test types — Unit, integration, E2E
- Edge cases — Error scenarios, boundary conditions
- Dependencies — Linked issues, APIs, systems
Updating Tickets
| Workflow | Jira Action |
|---|---|
| Start work | Transition to "In Progress" + comment branch name |
| Tests done | Comment with test coverage summary |
| PR created | Comment with link, transition if needed |
| Merged | Transition to "Done" |
Security
- Never hardcode API tokens
- Use environment variables or secrets manager
- Add
.envto.gitignore - Rotate tokens if exposed
- Use least-privilege scopes