Jira
Let an agent triage and move work in Jira without your login. It searches with JQL and reads issues, creates, renames, labels, prioritises, assigns and transitions them, and deleting an issue or a comment can wait for a person.
- host
- {site}.atlassian.net
- connect
- API key, per user
Create issue
jira-create-issue
Rename issue
jira-rename-issue
Add issue label
jira-add-issue-label
Set issue priority
jira-set-issue-priority
Reads and writes in Jira. Writes are off until you switch them on.
Each one is a named operation from the pack. Reads change nothing.
Writes
Create issue
read backjira-create-issue
Create one issue in a project with a summary, a plain-text description and optional labels. Take the issue type id from list-issue-types; a subtask type is refused, because this action sets no parent. The description becomes one Atlassian Document Format paragraph; headings, lists and formatting are not offered. Set the priority and assignee afterwards with set-issue-priority and assign-issue. Returns the new issue's id and key.
Rename issue
read backjira-rename-issue
Change one issue's summary.
Add issue label
read backjira-add-issue-label
Add one label to an issue, keeping its other labels. A label has no spaces; Jira creates a label that does not exist yet.
Set issue priority
read backjira-set-issue-priority
Set one issue's priority. Take the priority id from list-priorities; a priority outside the project's priority scheme is refused.
Assign issue
read backjira-assign-issue
Assign one issue to a user by Atlassian account id. Use get-myself for the connected user's own id, or an assignee or reporter accountId from get-issue. The user must be assignable in the project. Unassigning and the project's default assignee are not offered. Jira can email the new assignee, as its notification scheme says.
Transition issue
read backjira-transition-issue
Move one issue through its workflow, for example to In Progress or Done. Take transition_id and to_status_id from the same entry of list-transitions (its id and to.id). A transition whose screen asks for fields (hasScreen) can be refused, because this action sets none.
Add comment
read backjira-add-comment
Add one comment to an issue, visible to everyone who can see the issue. The text is sent as one Atlassian Document Format paragraph; formatting, mentions and restricted visibility are not offered. Jira can email the issue's watchers, as its notification scheme says. Returns the comment with its id.
Delete comment
read backjira-delete-comment
Delete one comment from an issue. Treat it as final.
Delete issue
read backjira-delete-issue
Delete one issue with its comments and history. Treat it as final. An issue with subtasks is refused; delete its subtasks before, or keep the issue.
Reads
Get myself
jira-get-myself
Get the Jira user the connection acts as: account id, display name, email (when the user's privacy settings show it), time zone and whether the account is active. Use its accountId to assign an issue to that user.
List projects
jira-list-projects
List the projects the user can see, 50 a page, optionally filtered by text in the key or name. Each project has its id, key, name and type. The response has startAt, maxResults, total and isLast; when isLast is false, pass startAt plus 50 as start_at for the next page.
List issue types
jira-list-issue-types
List the issue types a project can create, 50 a page: id, name, description and whether it is a subtask type. Use an id with create-issue; a subtask type needs a parent, which create-issue does not set. The response has startAt, maxResults and total.
List priorities
jira-list-priorities
List the issue priorities, 50 a page: id, name, description and whether it is the default. Use an id with set-issue-priority. The response has startAt, maxResults, total and isLast.
Search issues
jira-search-issues
Search issues with JQL, 25 a page. Each issue has its id and key, and the summary, status, assignee, priority, issue type, project, labels and dates. Jira refuses an unbounded query: include a restriction, for example project = OPS AND statusCategory != Done ORDER BY updated DESC. Recent changes can take a moment to show in search; read one issue with get-issue for its current state. When nextPageToken is in the response, pass it as next_page_token for the next page; the last page has none. No total count is returned.
Get issue
jira-get-issue
Get one issue: summary, status, assignee, reporter, priority, issue type, project, labels, description, parent, due date, resolution and dates. The description is Atlassian Document Format (a JSON document), not plain text. Comments are read with list-comments and the moves an issue can make with list-transitions.
List transitions
jira-list-transitions
List the transitions the user can make on an issue from its current status. Each has an id, a name and to, the status it moves the issue to (to.id, to.name). Pass the id and to.id to transition-issue. An empty list means the user may not transition the issue.
List comments
jira-list-comments
List an issue's comments, 20 a page, from the oldest unless order is -created. Each comment has its id, author, body (Atlassian Document Format), and created and updated times. The response has startAt, maxResults and total; pass startAt plus 20 as start_at for the next page.
Get comment
jira-get-comment
Get one comment on an issue: author, body (Atlassian Document Format), and created and updated times.
How do users connect? Each one brings their own Jira.
- 1.Call for the userYour server invokes the action for the signed-in user. Without a Jira connection, the SDK throws EndUserNotConnectedError with a connect link.
- 2.The user pastes a keyThe link opens a form that shows where in Jira's settings to create the key. The link lasts 10 minutes and works once.
- 3.Anlyon checks itThe key is checked with Jira before it is kept, and bound to {site}.atlassian.net. It is never shown back.
- 4.Your server confirmsYour server confirms the connection for the user who is signed in, and the call goes through.
Guardrails. Suggested limits and approvals, for you to review.
Suggested limits
- 50 issues created a day
- 100 issues renamed a day
- 200 labels added a day
- 100 priorities set a day
- 100 issues assigned a day
- 200 issues transitioned a day
- 200 comments added a day
- 20 comments deleted a day
- 10 issues deleted a day
Suggested approvals
- A person approves deleting an issue
- A person approves deleting a comment
- A person approves adding a comment
What the key must allow
- An API token without scopes, from your Atlassian account
- Your Jira site and the email the token belongs to
- It acts as you, so its reach is your project permissions
Good to know
- The credential reaches only the one site you name.
- Jira has no idempotency key for a create. Anlyon sends it once and never repeats it.
For your own account
- 1.In Atlassian, open id.atlassian.com, Security, API tokens, and create an API token.
- 2.In Anlyon, open Actions, then Integrations, and choose Jira.
- 3.Enter your site (acme for acme.atlassian.net), your email and the token.
- 4.Anlyon checks them with Jira before storing them. They become a secret named JIRA, bound to your site's host.
Jira in your code. For one of your users, or for your own account.
Act for one of your users from your server, or connect your company's own Jira with the CLI.
import { Client, EndUserNotConnectedError } from "@anlyonhq/sdk";const anlyon = new Client({ apiKey: process.env.ANLYON_API_KEY! });try { const { data } = await anlyon .forUser(session.userId) .actions.invoke("jira-create-issue", { project_key: "OPS", issue_type_id: "10001", summary: "Checkout fails for saved cards", description: "Reported by three customers this morning." }); return { status: "done", grade: data.grade };} catch (error) { if (error instanceof EndUserNotConnectedError) { // The user connects their own Jira, then you call again. return { status: "connect_required", url: error.connectUrl }; } throw error;}Other integrations. Under the same limits, approvals and receipts.
Available
Stripe
Payments · API key
Refunds under a money ceiling, and every customer, payment and invoice to read.
Available
GitHub
Code · API key
Issues, pull requests and code, in the repositories you choose.
Available
HubSpot
CRM · Sign in
Contacts, companies and deals: search them and change them.
- Anlyon app
- Available
- Your own app
- Recommended for production
