> This page is for Workforce.

> 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