> 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 Data Center & Server

**Authentication:** personal access token, OAuth 1.0a, or username and password. See [Magic Link](/merge-agent-handler/features/magic-link) for the runtime auth flow.

## Sample use cases

* Create a bug in project `OPS` on a self-hosted Jira instance and link it to the incident ticket
* Move every unfinished issue in the active sprint back to the backlog
* Log two hours of work against `OPS-1182` and transition it to `In Review`

## Available Tools

#### add_comment

Add a comment to a Jira issue. Body is a plain-text string.

#### get_comments

Get comments for a Jira issue

#### update_comment

Replace the body of an existing Jira comment. Call get_comments first to get a real comment_id, which cannot be...

#### delete_comment

Delete a comment from a Jira issue

#### create_issue

Create a Jira issue. REQUIRED: project, issuetype, summary. ALWAYS call discover_issue_required_fields first; its...

#### get_issue

Get Jira issue details using the issue key

#### update_issue

Update a Jira issue. Required: issue_key. Optional: summary, description, environment, priority, issuetype...

#### delete_issue

Delete a Jira issue

#### link_issues

Link two Jira issues. REQUIRED: outward_issue (FROM), inward_issue (TO), link_type. Common types: 'Duplicate' (marks...

#### transition_issue

Transition a Jira issue to a new status. Provide either transition_id or transition_name.

#### search_issues

Search Jira issues using JQL or structured filters. IMPORTANT: By DEFAULT, searches ALL statuses (including Done...

#### 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...

#### get_project_statuses

Get workflow statuses available for a specific project. Use this to verify if custom statuses like 'In Review' are...

#### get_issue_attachments

Get all attachments from an issue. Returns list with attachment ID, filename, size, author, created date. Use...

#### delete_attachment

Delete an attachment by ID. REQUIRED: attachmentId from get_issue_attachments(). Requires 'Delete All Attachments'...

#### add_attachment

Add an attachment to a Jira issue. REQUIRED: issueKey, filename, contentBase64 (base64-encoded file). Optional...

#### get_projects

List and filter Jira projects. Filters: query (name/key contains), keys, id, type_key...

#### 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. Returns component names, IDs, descriptions, lead users, and assignee info...

#### 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...

#### get_project_templates

Get project templates installed on this Jira instance for a project type. Returns list with 'templateKey' and 'name'...

#### create_project

Create Jira project. REQUIRED: key (2-10 uppercase), name, projectTypeKey ('software'/'business'/'service_desk')...

#### update_project

Update a Jira project. All parameters are optional. Only provided fields will be updated. Changing key or schemes...

#### delete_project

Delete a Jira project. WARNING: This is a destructive operation. Cannot delete archived projects; restore them first...

#### move_issues_to_sprint

Move issues to sprint. Max 50 issues. Requires sprint_id and issue_keys. Optional ranking. Sprint must be active or...

#### move_issues_to_backlog

Move issues to backlog. Max 50 issues. Removes from future/active sprints. Requires issue_keys. Use to unassign...

#### get_board_sprints

List sprints for board. Returns sprint IDs, names, states, dates. Filter by state: active, future, closed...

#### get_sprint

Get sprint details. Requires sprint_id. Returns state, dates, goal, board ID. Use to check sprint status before...

#### create_board

Create Jira board (scrum/kanban). Required: name, type (scrum/kanban), filter_id. Filter must ORDER BY Rank for...

#### get_boards

List all Jira boards. Filter by type (scrum/kanban), name, or project. Pagination supported. Returns board IDs...

#### get_board

Get Jira board details. Requires board_id. Returns name, type, location, configuration. Use get_boards to find board...

#### get_active_sprint

Get the active sprint for a Jira project by project key. Iterates boards for the project in API order (up to 20...

#### search_users

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

#### get_user

Get a specific Jira user by 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

#### add_worklog

Log work on a Jira issue. Requires issue_key and time_spent (Jira duration, e.g. '1h 30m'). Optional comment is a...

#### get_worklogs

Get worklog entries for a Jira issue