jira_edit
Set arbitrary fields on a JIRA issue—labels, story points, dates, rich-text custom fields, and more—using display names or canonical IDs. Preview changes with dry run.
Instructions
Set arbitrary fields on an existing JIRA issue by field display name or canonical id — labels, selects, story points, dates, rich-text custom fields (e.g. Acceptance Criteria), parent, and other editable fields. Names are resolved against the issue's edit screen and values coerced to the API shape, so pass natural values: {"Labels": ["a", "b"], "Story Points": 8, "Acceptance Criteria": "- one\n- two"}. String values for rich-text fields are JFM markdown auto-converted to ADF ("" clears the field); pass a raw ADF object ({"type": "doc", ...}) to bypass conversion. Complements jira_write (description body, assignee/reporter, raw-id fields); to change workflow status use jira_transition; for hierarchy jira_link_parent remains the canonical surface. Set dry_run: true to preview the request (method, path, body) without updating. Returns {status: ok, key, updated_fields} as YAML. Mirrors the CLI's omni-dev atlassian jira write --set-field.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| key | Yes | JIRA issue key (e.g., `PROJ-123`). | |
| fields | Yes | Map of field display name or canonical id (e.g. `"Labels"`, `"labels"`, `"Story Points"`, `"customfield_19300"`) to its new value. Names are resolved against the issue's edit screen (editmeta) and values are coerced to the API shape: select/option fields take the option string (becomes `{"value": ...}`), multi-selects an array of option strings, labels a plain string array, number/date fields the bare scalar, issue-link fields (e.g. Parent) an issue key string (becomes `{"key": ...}`). Rich-text fields (e.g. Acceptance Criteria) take JFM markdown (auto-converted to ADF; the empty string `""` clears the field) or a raw ADF document object (`{"type": "doc", ...}`) which is validated and forwarded as-is. | |
| dry_run | No | When true, resolve and return the would-be request (method, path, body) without updating the issue. Defaults to `false`. |