> This page is for Agent Handler.

> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.merge.dev/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.merge.dev/_mcp/server.

# Jira

**Authentication:** OAuth or email and API token. See [Magic Link](/merge-agent-handler/features/magic-link) for the runtime auth flow, or [Application credentials](/merge-agent-handler/admin-setup/add-oauth-credentials) to bring your own OAuth app.

## Sample use cases

* Find every Jira issue assigned to me with status `In progress` and a due date in the past.
* Create a sub-task under PROJ-1247 for each acceptance criterion in this story.
* Move all stale `In review` tickets older than 14 days into `Backlog`.

## Available Tools

#### add\_comment

Add a comment to a Jira issue. Example: \{'issue\_key': 'PROJ-123', 'body': 'This is a comment'}

#### get\_comments

Get comments for a Jira issue

#### update\_comment

Update a comment on a Jira issue

#### delete\_comment

Delete a comment from a Jira issue

#### create\_issue

Create a Jira issue.

#### get\_issue

Get Jira issue details using the issue key

#### update\_issue

Update a Jira issue.

#### delete\_issue

Delete a Jira issue

#### link\_issues

Link two Jira issues.

#### transition\_issue

Transition a Jira issue to a new status. Provide either transition\_id or transition\_name. Example: \{'issue\_key': 'PROJ-123', 'transition\_name': 'In Progress', 'comment': 'Starting work'}

#### search\_issues

Search Jira issues using JQL or structured filters.

#### get\_issue\_transitions

Get available transitions for a Jira issue

#### discover\_issue\_required\_fields

Discover required fields for Jira issue creation. Always call this tool ahead of create\_issue.

#### list\_statuses

List all workflow statuses in Jira. READ-ONLY: Creating statuses via API is NOT supported - use Jira UI to add custom statuses like 'In Review', then use this to verify.

#### get\_project\_statuses

Get workflow statuses available for a specific project. Use this to verify if custom statuses like 'In Review' are configured before using transition\_issue.

#### get\_issue\_attachments

Get all attachments from an issue. Returns list with attachment ID, filename, size, author, created date. Use attachment IDs with delete\_attachment().

#### delete\_attachment

Delete an attachment by ID. REQUIRED: attachmentId from get\_issue\_attachments(). Requires 'Delete All Attachments' or 'Delete Own Attachments' project permission.

#### add\_attachment

Add an attachment to a Jira issue. REQUIRED: issueKey, filename, contentBase64 (base64-encoded file). Optional: contentType (MIME type). Returns attachment ID and metadata.

#### move\_issues\_between\_projects

Move issues between projects.

#### get\_move\_task\_progress

Check progress of bulk move operation. Requires task\_id from move\_issues\_between\_projects. Returns status: RUNNING, COMPLETE, or FAILED with progress percentage and result details.

#### get\_projects

Search and filter Jira projects.

#### get\_project

Get a specific Jira project by key or ID

#### get\_project\_issue\_types

Get issue types for a specific project

#### get\_project\_components

Get all components for a Jira project.

#### get\_project\_versions

Get versions for a specific project

#### get\_priorities

Get all available priorities. Returns list with 'id', 'name', 'description' fields. Use these values when setting priority in create\_issue or update\_issue. Format: \{"name": "High"} or \{"id": "3"}.

#### get\_project\_templates

Get template keys for project type.

#### create\_project

Create Jira project.

#### update\_project

Update a Jira project.

#### delete\_project

Delete a Jira project.

#### move\_issues\_to\_sprint

Move issues to sprint.

#### move\_issues\_to\_backlog

Move issues to backlog. Max 50 issues. Removes from future/active sprints. Requires issue\_keys. Use to unassign issues from sprints. Requires 'Manage Sprints' permission and valid license.

#### get\_board\_sprints

List sprints for board. Returns sprint IDs, names, states, dates. Filter by state: active, future, closed. Pagination supported. Use to find sprint IDs for move operations.

#### get\_sprint

Get sprint details. Requires sprint\_id. Returns state, dates, goal, board ID. Use to check sprint status before moving issues.

#### create\_board

Create Jira board (scrum/kanban).

#### get\_boards

List all Jira boards. Filter by type (scrum/kanban), name, or project. Pagination supported. Returns board IDs, names, types. Use to discover board IDs for sprint operations.

#### get\_board

Get Jira board details. Requires board\_id. Returns name, type, location, configuration. Use get\_boards to find board IDs.

#### search\_users

Search for Jira users. Requires at least one of: query (e.g., 'john'), username, or account\_id parameter to search for users.

#### get\_user

Get a specific Jira user by account ID or username

#### get\_current\_user

Get the current authenticated user

#### get\_user\_assignee\_suggestions

Get user assignee suggestions for an issue or project

#### get\_user\_groups

Get groups that a user belongs to