jira_update_issue
Update fields, status, epic links, or attachments on an existing Jira issue, including add/remove/set operations for fields needing special handling.
Instructions
Update an existing Jira issue including changing status, adding Epic links, updating fields, etc.
Args: ctx: The FastMCP context. issue_key: Jira issue key. fields: Dictionary of fields to update. additional_fields: Optional dictionary of additional fields. update: Optional dictionary of Jira "update" operations (add/remove/set) for fields that cannot be set via a direct overwrite. attachments: Optional JSON array string or comma-separated list of file paths.
Returns: JSON string representing the updated issue object and attachment results.
Raises: ValueError: If in read-only mode or Jira client unavailable, or invalid input.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| fields | Yes | Dictionary of fields to update. For 'assignee', provide a string identifier (email, name, or accountId). Example: `{'assignee': 'user@example.com', 'summary': 'New Summary'}` | |
| update | No | (Optional) Dictionary of Jira 'update' operations for fields that require add/remove/set semantics instead of a direct overwrite (e.g. issuelinks, labels, components). Each key maps to a list of operation dicts. Example: `{'issuelinks': [{'add': {'type': {'name': 'Tests'}, 'inwardIssue': {'key': 'PROJ-123'}}}]}` | |
| issue_key | Yes | Jira issue key (e.g., 'PROJ-123') | |
| attachments | 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'] | |
| additional_fields | No | (Optional) Dictionary of additional fields to update. Use this for custom fields or more complex updates. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| result | Yes |