Get Issue
Get details of a specific Jira issue including its Epic links and relationship information.
Parameters:
| Parameter | Type | Required | Description |
|---|
issue_key | string | Yes | Jira issue key (e.g., ‘PROJ-123’, ‘ACV2-642’) |
fields | string | No | (Optional) Comma-separated list of fields to return (e.g., ‘summary,status,customfield_10010’). You may also provide a single field as a string (e.g., ‘duedate’). Use ‘*all’ for all fields (including custom fields), or omit for essential fields only. |
expand | string | No | (Optional) Fields to expand. Examples: ‘renderedFields’ (for rendered content), ‘transitions’ (for available status transitions), ‘changelog’ (for history) |
comment_limit | integer | No | Maximum number of comments to include (0 or null for no comments) |
properties | string | No | (Optional) A comma-separated list of issue properties to return |
update_history | boolean | No | Whether to update the issue view history for the requesting user |
| Example: | | | |
{"issue_key": "PROJ-123", "fields": "summary,status,assignee", "comment_limit": 5}
Use fields: "*all" to get all fields including custom ones. Use expand: "renderedFields" for rendered HTML content.
Custom field IDs differ between Cloud and Server/DC. Use jira_search_fields to discover field IDs.
Create Issue
Create a new Jira issue with optional Epic link or parent for subtasks.
This is a write tool. Disabled when READ_ONLY_MODE=true.
Parameters:
| Parameter | Type | Required | Description |
|---|
project_key | string | Yes | The JIRA project key (e.g. ‘PROJ’, ‘DEV’, ‘ACV2’). This is the prefix of issue keys in your project. Never assume what it might be, always ask the user. |
summary | string | Yes | Summary/title of the issue |
issue_type | string | Yes | Issue type (e.g. ‘Task’, ‘Bug’, ‘Story’, ‘Epic’, ‘Subtask’). The available types depend on your project configuration. For subtasks, use ‘Subtask’ (not ‘Sub-task’) and include parent in additional_fields. |
assignee | string | No | (Optional) Assignee’s user identifier (string): Email, display name, or account ID (e.g., ‘user@example.com’, ‘John Doe’, ‘accountid:…’) |
description | string | No | Issue description in Markdown format |
components | string | No | (Optional) Comma-separated list of component names to assign (e.g., ‘Frontend,API’) |
additional_fields | string | No | (Optional) JSON string of additional fields to set. Examples: - Set priority: {"priority": {"name": "High"}} - Add labels: {"labels": ["frontend", "urgent"]} - Link to parent (for any issue type): {"parent": "PROJ-123"} - Link to epic: {"epicKey": "EPIC-123"} or {"epic_link": "EPIC-123"} - Set Fix Version/s: {"fixVersions": [{"id": "10020"}]} - Custom fields: {"customfield_10010": "value"} |
| Example: | | | |
{"project_key": "PROJ", "issue_type": "Task", "summary": "Implement new feature", "description": "## Requirements\n\n- Feature A\n- Feature B"}
Use Markdown in the description — it’s automatically converted to ADF (Cloud) or wiki markup (Server/DC). For epics, provide epic_name parameter.
Cloud uses ADF format internally (auto-converted from Markdown). Server/DC uses wiki markup.
Update Issue
Update an existing Jira issue including changing status, adding Epic links, updating fields, etc.
This is a write tool. Disabled when READ_ONLY_MODE=true.
Parameters:
| Parameter | Type | Required | Description |
|---|
issue_key | string | Yes | Jira issue key (e.g., ‘PROJ-123’, ‘ACV2-642’) |
fields | string | Yes | JSON string of fields to update. For ‘assignee’, provide a string identifier (email, name, or accountId). For ‘description’, provide text in Markdown format. Example: '{"assignee": "user@example.com", "summary": "New Summary", "description": "## Updated\nMarkdown text"}' |
additional_fields | string | No | (Optional) JSON string of additional fields to update. Use this for custom fields or more complex updates. Link to epic: {"epicKey": "EPIC-123"} or {"epic_link": "EPIC-123"}. |
components | string | No | (Optional) Comma-separated list of component names (e.g., ‘Frontend,API’) |
attachments | string | No | (Optional) JSON string array or comma-separated list of file paths to attach to the issue. Example: ‘/path/to/file1.txt,/path/to/file2.txt’ or [‘/path/to/file1.txt’,‘/path/to/file2.txt’] |
| Example: | | | |
{"issue_key": "PROJ-123", "summary": "Updated title", "description": "New description", "additional_fields": "{\"priority\": {\"name\": \"High\"}}"}
Use additional_fields as a JSON string for any field not covered by explicit parameters. Find field IDs with jira_search_fields.
Delete Issue
Delete an existing Jira issue.
This is a write tool. Disabled when READ_ONLY_MODE=true.
Parameters:
| Parameter | Type | Required | Description |
|---|
issue_key | string | Yes | Jira issue key (e.g., ‘PROJ-123’, ‘ACV2-642’) |
Batch Create Issues
Create multiple Jira issues in a batch.
This is a write tool. Disabled when READ_ONLY_MODE=true.
Parameters:
| Parameter | Type | Required | Description |
|---|
issues | string | Yes | JSON array of issue objects. Each object should contain: - project_key (required): The project key (e.g., ‘PROJ’) - summary (required): Issue summary/title - issue_type (required): Type of issue (e.g., ‘Task’, ‘Bug’) - description (optional): Issue description in Markdown format - assignee (optional): Assignee username or email - components (optional): Array of component names Example: [{"project_key": "PROJ", "summary": "Issue 1", "issue_type": "Task"}, {"project_key": "PROJ", "summary": "Issue 2", "issue_type": "Bug", "components": ["Frontend"]}] |
validate_only | boolean | No | If true, only validates the issues without creating them |
Transition Issue
Transition a Jira issue to a new status.
This is a write tool. Disabled when READ_ONLY_MODE=true.
Parameters:
| Parameter | Type | Required | Description |
|---|
issue_key | string | Yes | Jira issue key (e.g., ‘PROJ-123’, ‘ACV2-642’) |
transition_id | string | Yes | ID of the transition to perform. Use the jira_get_transitions tool first to get the available transition IDs for the issue. Example values: ‘11’, ‘21’, ‘31’ |
fields | string | No | (Optional) JSON string of fields to update during the transition. Some transitions require specific fields to be set (e.g., resolution). Example: '{"resolution": {"name": "Fixed"}}' |
comment | string | No | (Optional) Comment to add during the transition in Markdown format. This will be visible in the issue history. |
| Example: | | | |
{"issue_key": "PROJ-123", "transition_name": "Done", "comment": "Closing as completed"}
Use jira_get_transitions first to see available transitions for the current issue state.
Get Transitions
Get available status transitions for a Jira issue.
Parameters:
| Parameter | Type | Required | Description |
|---|
issue_key | string | Yes | Jira issue key (e.g., ‘PROJ-123’, ‘ACV2-642’) |
Get All Projects
Get all Jira projects accessible to the current user.
Parameters:
| Parameter | Type | Required | Description |
|---|
include_archived | boolean | No | Whether to include archived projects in the results |
Get Project Issues
Get all issues for a specific Jira project.
Parameters:
| Parameter | Type | Required | Description |
|---|
project_key | string | Yes | Jira project key (e.g., ‘PROJ’, ‘ACV2’) |
limit | integer | No | Maximum number of results (1-50) |
start_at | integer | No | Starting index for pagination (0-based) |