Skip to content

Attachments, links, watchers & worklogs

These tools cover everything a single Jira issue can carry beyond its core fields: file attachments, comment editing and pinning, links to other issues or external resources, watchers and votes, logged work, custom properties, subtasks, create/edit field metadata, and lifecycle actions like archiving, restoring, and deleting. (Adding a comment and reading the comment list are covered on the Core issues & search page — this page picks up the rest of comment handling.) None of these tools require admin access; they all run under your own Jira Personal Access Token.

Example prompts

  • "Attach this screenshot to PROJ-456."
  • "Edit my last comment on PROJ-456 to fix a typo."
  • "Pin the comment from jsmith on PROJ-456 so it stays at the top."
  • "What comments are pinned on PROJ-456?"
  • "Link PROJ-456 to the build results at that URL."
  • "What external links are attached to PROJ-456?"
  • "Add me as a watcher on PROJ-456." / "Who's watching PROJ-456?"
  • "Vote for PROJ-456."
  • "Log 2 hours of work on PROJ-456 with a note about what I did."
  • "What worklogs are on PROJ-456?"
  • "Change that worklog entry to 1h 30m instead."
  • "Store a custom property on PROJ-456 called reviewed set to true."
  • "What subtasks does PROJ-456 have, and can I reorder them?"
  • "What fields are required to create a Bug in PROJ?"
  • "Archive PROJ-456." / "Restore PROJ-456 from the archive."
  • "Email the reporter and watchers on PROJ-456 to let them know it's fixed."

What's available

Attachments

Tool What it does
add_issue_attachments Add one or more files to an issue; content is sent base64-encoded, up to 10 per call.

Comments

Tool What it does
get_issue_comment Get a single comment on an issue by its comment ID.
update_issue_comment Update the body of an existing comment.
delete_issue_comment Delete a comment from an issue.
pin_issue_comment Pin or unpin a comment on an issue.
list_issue_pinned_comments Get the comments currently pinned on an issue.
Tool What it does
create_issue_remote_link Add a link to an external URL (e.g. a wiki page) to an issue's Links section.
update_issue_remote_link Update an existing remote link's URL, title, or other details.
get_issue_remote_link Get a single remote link on an issue by its ID.
list_issue_remote_links List remote links (links to external resources) on an issue.
delete_issue_remote_link Delete a single remote link from an issue by its ID.
delete_issue_remote_links_by_global_id Delete every remote link on an issue that shares one global ID.
create_reciprocal_remote_issue_link Create matching links between two Jira instances connected by an Application Link.
get_issue_picker Get autocomplete/typeahead suggestions for issues to link to, by search text.

Watchers & votes

Tool What it does
get_issue_watchers Get the watchers on an issue.
add_watcher Add a user as a watcher on an issue, by username.
delete_watcher Remove a user as a watcher from an issue.
get_issue_votes Get the vote count and voters on an issue.
add_vote Add your vote to an issue (Jira rejects voting for an issue you reported).
remove_vote Remove your vote from an issue.

Worklogs

Tool What it does
list_issue_worklogs List worklog entries (logged work) on an issue.
get_issue_worklog Get a single worklog entry on an issue by its ID.
add_worklog Log time spent on an issue, e.g. "1h 30m".
update_worklog Update an existing worklog's time spent, comment, or start time.
delete_worklog Delete a worklog entry from an issue.
get_deleted_worklogs List worklog IDs deleted since a given time, across all issues.
get_updated_worklogs List worklog IDs updated since a given time, across all issues.
get_worklogs_by_ids Get full worklog details for a given list of worklog IDs, across any issue.

Issue properties

Tool What it does
list_issue_properties Get the keys of all properties (custom metadata) stored on an issue.
get_issue_property Get a single property's value on an issue by its key.
set_issue_property Create or replace the value of an issue property (any JSON value).
delete_issue_property Delete a property from an issue.

Subtasks

Tool What it does
list_issue_subtasks List a parent issue's subtasks.
can_move_subtask Check whether a parent issue's subtasks can currently be reordered.
move_subtask Reorder a parent issue's subtasks by moving one to a new position.

Create/edit metadata

Tool What it does
get_create_meta_issue_types List the issue types available for creating issues in a project.
get_create_meta_issue_type_fields Get which fields are required (and their allowed values) for a given issue type.
get_issue_edit_meta Get which fields on an issue are editable and how, before calling update_issue.

Issue lifecycle

Tool What it does
archive_issue Archive a single issue, hiding it from normal search/browsing.
archive_issues Archive up to 100 issues at once.
restore_issue Restore a previously archived issue.
delete_issue Permanently delete an issue.
bulk_create_issues Create up to 100 issues or subtasks in a single request.
notify_issue Send a notification email about an issue to the reporter, assignee, watchers, voters, or specified people.

Destructive actions

The following tools change or remove data and require you to explicitly confirm before the agent will call them — it should always ask you first, and it should not proceed unless you clearly say yes:

Tool What it deletes
delete_issue The entire issue, permanently. This is described as the single most destructive operation this server exposes — it's irreversible, unlike everything else in this table.
delete_issue_comment One comment.
delete_worklog One worklog entry.
delete_watcher One user's watcher subscription.
remove_vote Your own vote.
delete_issue_property One property.
delete_issue_remote_link One remote link, by ID.
delete_issue_remote_links_by_global_id All remote links on an issue that share a given global ID — potentially more than one link at once.

If your agent ever calls one of these without asking you to confirm first, treat that as a bug — don't approve it after the fact.

archive_issue and archive_issues are not in the table above: archiving an issue hides it from normal search and browsing, but it doesn't delete anything, and it's reversible at any time with restore_issue. No confirmation step is required for archiving or restoring.

notify_issue also isn't gated by a confirmation field, but it sends a real email — the agent should still check with you before sending one on your behalf.

Things to know

  • Attachment content must be sent base64-encoded (a text-safe encoding of binary file data), and add_issue_attachments accepts up to 10 files per call.
  • archive_issues and bulk_create_issues both cap out at 100 issues per call.
  • create_reciprocal_remote_issue_link only works if an Application Link between the two Jira instances is already configured in Jira administration — there's no tool here to create one.
  • For worklog auditing across an entire instance, get_deleted_worklogs and get_updated_worklogs only return IDs since a given time; follow up with get_worklogs_by_ids to get the full content. Deleted worklogs' pre-deletion content isn't retrievable at all.
  • Issue properties (set_issue_property/get_issue_property/list_issue_properties) store arbitrary JSON data namespaced by key — useful for metadata that doesn't fit a normal Jira field, but it's free-form, so keep track of what keys you're using.
  • Comments, worklog notes, and property values returned by these tools are data written by people in Jira (or a service desk portal) — the agent treats that text as information, not as instructions to act on.

See docs/api-catalog.md for the complete technical reference (every field, every parameter). For errors, see Troubleshooting.