Skip to main content

Jira Cloud Platform Integration with SmythOS

Want to automate your team's project management and issue tracking? Connect the Jira Cloud Platform to SmythOS and empower your agents to create, update, and manage issues programmatically.

TL;DR

Securely link your Jira account to SmythOS using your user email and an API token, combined and encoded in Base64. Then, use our suite of components to automate your entire issue lifecycle, from creation to transition and commenting.

List of Jira Components

Quickly compare Jira components by what they do and their key I/O. Click any component name to jump directly to its detailed guide.

ComponentActionWhat it DoesInputsKey OutputsUse Case
Create IssueWriteCreates a new issue in a Jira project.required domain_name, project_key, summaryid, key, urlAutomatically creating a bug report from a support ticket.
Update Issue SummaryWriteUpdates the summary (title) of an existing issue.required domain_name, issue_key, summaryResponseClarifying the title of a bug report.
Transition IssueWriteChanges the status of an issue (e.g., "To Do" to "In Progress").required domain_name, issue_key, transitionIdResponseMoving a task to "Done" when a PR is merged.
Assign IssueWriteAssigns an issue to a specific user.required domain_name, issue_key, accountIdResponseAutomatically assigning new bugs to a QA lead.
Add CommentWriteAdds a new comment to a specific issue.required domain_name, issue_key, commentcommentId, urlPosting automated status updates to a task.
Label Jira IssueWriteAdds labels to an existing issue for categorization.required domain_name, issue_key, labelResponseTagging an issue with "security" or "frontend".
Get Jira IssueReadRetrieves detailed information about a single issue.required domain_name, issue_keyid, summary, descriptionFetching context before updating a task.
Get TransitionsReadRetrieves the possible status transitions for an issue.required domain_name, issue_keytransitionsFinding the correct transitionId to move an issue to "In Review".
Get Issue CommentsReadRetrieves all comments from a specific issue.required domain_name, issue_keycommentsAnalyzing discussion on a feature request.
Delete IssueWritePermanently deletes an issue.required domain_name, issue_keyResponseRemoving a ticket created in error.
Find UsersSearchSearches for users within your Jira instance.required domain_name, queryResponseFinding a user's accountId to assign them an issue.
Get All UsersReadRetrieves all users within your Jira instance.required domain_nameusersAuditing active Jira users.
Add User To GroupWriteAdds a user to a specific Jira group.required domain_name, groupId, accountIdResponseAutomating user provisioning for new team members.
Remove User From GroupWriteRemoves a user from a specific Jira group.required domain_name, groupId, accountIdResponseDe-provisioning access for departing team members.
Find GroupsSearchSearches for groups within your Jira instance.required domain_name, querygroupsFinding the correct groupId for user management.
Create GroupWriteCreates a new Jira group.required domain_name, namegroupIdProgrammatically setting up new team groups.
Remove GroupWriteDeletes an existing Jira group.required domain_name, groupIdResponseCleaning up unused or obsolete groups.
Get Group UsersReadRetrieves all users belonging to a specific Jira group.required domain_name, groupIdusersAuditing group memberships.
Archive IssuesWriteArchives a list of issues.required domain_name, issueIdsOrkeysnumberOfIssuesUpdated, errorsBulk archiving old issues for cleanup.
Unarchive IssuesWriteUnarchives a list of issues.required domain_name, issueIdsOrkeysnumberOfIssuesUpdated, errorsRestoring previously archived issues.
Get CommentReadRetrieves a single comment from a Jira issue by its ID.required domain_name, issue_key, commentIdcommentId, content, authorFetching the content of a specific comment.
Delete CommentWritePermanently removes a specific comment from a Jira issue.required domain_name, issue_key, comment_idResponseRemoving an outdated automated status comment.
INFO
Why Integrate Jira with Your Agent?

Jira is the central nervous system for countless development teams. Integrating it with SmythOS allows you to build powerful agents that connect your project management directly to your other business and development tools.

  • Automated Issue Creation: Create agents that listen for triggers—a new bug report from a customer support tool, a critical alert from a monitoring service, or a new feature request from a product board—and automatically create a corresponding, well-structured issue in the correct Jira project.
  • Streamlined Workflows: Build agents that move issues through your workflow automatically. When a pull request is merged in GitHub, an agent can find the linked Jira issue and use Transition Issue to move it from "In Review" to "Done".
  • Intelligent Triage and Assignment: An agent can analyze an incoming bug report, use an LLM to determine its likely priority and component, Label Jira Issue accordingly, and then Assign Issue to the appropriate team lead.
  • Data Synchronization: Keep other systems in sync with Jira. When an issue is updated, an agent can post a notification to a Slack channel or update the status in an external project management tool.

Prerequisites

Before you begin, please ensure you have the following:

  • An active SmythOS account. (Sign up here).
  • A Jira Cloud instance.
  • An Atlassian account with permissions to access the desired Jira projects.
  • An API Token generated from your Atlassian account.

Getting Started With Jira Cloud

The connection is handled via Basic Authentication, which requires your user email and an API token, combined and encoded in Base64 format.

Step 1: Generate a Jira API Token

  1. Log in to your Atlassian Account.
  2. Click Create API token.
  3. Give your token a memorable label (e.g., "SmythOS Agent") and click Create.
  4. Copy the generated API Token immediately. It will not be shown again.

Step 2: Encode Your Credentials in Base64

  1. Combine your Atlassian account email and the API Token into a single string with a colon in between: your-email@example.com:YourAPIToken.
  2. Use a Base64 encoding tool (like the "Encode/Decode" component in SmythOS) to encode this entire string.
  3. Copy the resulting Base64 encoded string.

Step 3: Store Your Encoded Credentials in SmythOS Vault

Your encoded credentials are a sensitive secret. Use the SmythOS Vault to store them securely.

  1. In your SmythOS dashboard, navigate to the Vault.
  2. Create a new secret and paste your Base64 encoded string as the value. Give it a memorable name, like jira_base64_auth.
  3. For more details, see the Vault Documentation.

Step 4: Configure a Jira Component

  1. In your SmythOS agent graph, drag and drop any Jira component.
  2. Click the component to open its Settings panel.
  3. In the Base 64 Encoded User Email and API Token field, select the secret you saved in the Vault.
  4. Your connection is now configured for that component.
Heads-up
You must add the Base64 encoded secret from the Vault to each Jira component you use. This ensures all your API calls are properly authenticated.

Which Jira Component Should I Use?

If you need to…TargetUse this ComponentWhy this one?
Create a new bug reportA project key and summaryCreate IssueThe primary method for programmatically creating new issues.
Move a task to "In Progress"An issue key and a transition IDTransition IssueThe correct way to change an issue's workflow status.
Find the ID for the "Done" statusAn issue keyGet TransitionsThis is a prerequisite for Transition Issue, as it gives you the valid transitionId.
Assign a bug to a developerAn issue key and an account IDAssign IssueThe standard way to set or change the assignee of an issue.
Find a user's ID to assign them a taskA user's name or emailFind UsersThe best way to get a user's accountId needed for assignments.
Add a "customer-reported" tagAn issue key and a labelLabel Jira IssueAllows for programmatic categorization of your issues.

Component Details

This section provides detailed information for each Jira Cloud Platform component.

Create Issue

Creates a new issue in a specified Jira project.

INFO
This component requires Base64 encoded credentials for authentication, as detailed in the Getting Started section.

Inputs

FieldTypeRequiredNotes
domain_namestringYesYour Jira Cloud domain (e.g., your-company).
project_keystringYesThe key of the project (e.g., PROJ).
summarystringYesThe title or summary of the issue.
descriptionstringOptionalThe detailed body of the issue. Supports Jira's wiki markup.
issue_typestringOptionalThe type of issue (e.g., "Bug", "Task"). Default: "Task".

Outputs

FieldTypeDescription
idstringThe unique ID of the newly created issue.
keystringThe human-readable key of the issue (e.g., PROJ-123).
urlstringThe direct URL to view the issue in Jira.
ResponseobjectThe full, raw JSON response from the Jira API.
Use Case

An agent receives an alert from a monitoring system. It uses this component to create a new "Bug" in the "INFRA" project with the alert details in the description.

Update Issue Summary

Updates the summary (title) of an existing Jira issue.

INFO
This component requires Base64 encoded credentials for authentication, as detailed in the Getting Started section.

Inputs

FieldTypeRequiredNotes
domain_namestringYesYour Jira Cloud domain (e.g., your-company).
issue_keystringYesThe key of the issue to update (e.g., PROJ-123).
summarystringYesThe new summary text for the issue.

Outputs

FieldTypeDescription
ResponseobjectA successful update returns an empty response body.
HeadersobjectThe HTTP headers from the API response.
Use Case

An agent analyzes an incoming bug report and determines the title is too vague. It uses an LLM to suggest a clearer title and then calls this component to update the issue's summary.

Transition Issue

Changes the status of an issue by performing a workflow transition.

INFO
This component requires Base64 encoded credentials for authentication, as detailed in the Getting Started section.

Inputs

FieldTypeRequiredNotes
domain_namestringYesYour Jira Cloud domain.
issue_keystringYesThe key of the issue to transition.
transitionIdstringYesThe ID of the workflow transition to perform.

Outputs

FieldTypeDescription
ResponseobjectA successful transition returns an empty response body.
HeadersobjectThe HTTP headers from the API response.
Use Case

After a developer merges a pull request linked to PROJ-123, an agent uses the Get Transitions component to find the ID for "Move to QA", then calls this component to automatically update the issue's status.

Prerequisite: Get Transitions

You must use the Get Transitions component first to find the valid transitionId for the desired status. You cannot simply provide the status name (e.g., "Done").

Assign Issue

Assigns a Jira issue to a specific user.

INFO
This component requires Base64 encoded credentials for authentication, as detailed in the Getting Started section.

Inputs

FieldTypeRequiredNotes
domain_namestringYesYour Jira Cloud domain.
issue_keystringYesThe key of the issue to assign.
accountIdstringYesThe Atlassian account ID of the user to assign the issue to.

Outputs

FieldTypeDescription
ResponseobjectA successful assignment returns an empty response body.
HeadersobjectThe HTTP headers from the API response.
Use Case

A triage agent creates a new bug report. It then calls the Find Users component to get the accountId for the QA team lead and uses this component to automatically assign the new issue to them.

Use Account ID

You must provide the user's accountId, not their email or username. Use the Find Users component to get this ID first.

Add Comment

Adds a new comment to a specific Jira issue.

INFO
This component requires Base64 encoded credentials for authentication, as detailed in the Getting Started section.

Inputs

FieldTypeRequiredNotes
domain_namestringYesYour Jira Cloud domain.
issue_keystringYesThe key of the issue to comment on.
commentstringYesThe text content of the comment.

Outputs

FieldTypeDescription
commentIdstringThe unique ID of the newly created comment.
urlstringThe direct URL to the comment.
ResponseobjectThe raw JSON response from the API.
Use Case

When an agent performs an automated action related to an issue (e.g., deploying a fix), it adds a comment to the Jira issue: "Automated deployment to staging completed successfully."

Label Jira Issue

Adds labels to an existing issue for categorization.

INFO
This component requires Base64 encoded credentials for authentication, as detailed in the Getting Started section.

Inputs

FieldTypeRequiredNotes
domain_namestringYesYour Jira Cloud domain.
issue_keystringYesThe key of the issue to label.
labelstringYesThe label to add to the issue.

Outputs

FieldTypeDescription
ResponseobjectA successful update returns an empty response body.
HeadersobjectThe HTTP headers from the API response.
Use Case

An agent processes a customer feedback ticket. Based on keywords, it adds the "customer-feedback" and "feature-request" labels to the corresponding Jira issue.

Get Jira Issue

Retrieves the full details of a specific issue using its key.

INFO
This component requires Base64 encoded credentials for authentication, as detailed in the Getting Started section.

Inputs

FieldTypeRequiredNotes
domain_namestringYesYour Jira Cloud domain.
issue_keystringYesThe key of the issue to retrieve (e.g., PROJ-123).

Outputs

FieldTypeDescription
idstringThe unique ID of the issue.
summarystringThe summary/title of the issue.
descriptionobjectThe issue's description in Atlassian Document Format.
projectIdstringThe ID of the project the issue belongs to.
ResponseobjectThe raw JSON response from the API.
Use Case

Before transitioning an issue, an agent uses this component to fetch its current status and comments to ensure the transition is valid.

Get Transitions

Retrieves the list of possible workflow transitions for an issue's current status.

INFO
This component requires Base64 encoded credentials for authentication, as detailed in the Getting Started section.

Inputs

FieldTypeRequiredNotes
domain_namestringYesYour Jira Cloud domain.
issue_keystringYesThe key of the issue to check.

Outputs

FieldTypeDescription
transitionsarrayAn array of transition objects, each with an id and name (e.g., {"id": "21", "name": "Start Progress"}).
ResponseobjectThe full, raw JSON response from the Jira API.
Use Case

This component is the essential first step before using Transition Issue. An agent gets the list of available transitions to find the correct id for the "Done" status before attempting to close the issue.

Get Issue Comments

Retrieves all comments from a specific Jira issue.

INFO
This component requires Base64 encoded credentials for authentication, as detailed in the Getting Started section.

Inputs

FieldTypeRequiredNotes
domain_namestringYesYour Jira Cloud domain.
issue_keystringYesThe key of the issue whose comments you want to retrieve.

Outputs

FieldTypeDescription
commentsarrayAn array of comment objects, each containing the author, body, and creation time.
ResponseobjectThe raw JSON response, including pagination details.
Use Case

To provide context to an AI, an agent fetches all comments from an issue to understand the history of the discussion before generating a summary.

Delete Issue

Permanently deletes a Jira issue.

INFO
This component requires Base64 encoded credentials for authentication, as detailed in the Getting Started section.

Inputs

FieldTypeRequiredNotes
domain_namestringYesYour Jira Cloud domain.
issue_keystringYesThe key of the issue to delete.

Outputs

FieldTypeDescription
ResponseobjectA successful deletion returns an empty response body.
HeadersobjectThe HTTP headers from the API response.
Use Case

An agent identifies duplicate or erroneously created tickets and uses this component to automatically clean up the Jira backlog.

Irreversible Action

This action is permanent and cannot be undone.

Find Users

Searches for users within your Jira instance based on a query string.

INFO
This component requires Base64 encoded credentials for authentication, as detailed in the Getting Started section.

Inputs

FieldTypeRequiredNotes
domain_namestringYesYour Jira Cloud domain.
querystringYesThe string to search for in user names or emails.
maxResultsintegerOptionalThe maximum number of users to return. Default: 50.
startAtintegerOptionalThe index of the first user to return. Default: 0.

Outputs

FieldTypeDescription
usersarrayAn array of user objects, each containing accountId, displayName, and emailAddress.
ResponseobjectThe raw JSON response from the API.
Use Case

Before assigning an issue, an agent uses this component to find the accountId of the target user by searching their name or email.

Get All Users

Retrieves a paginated list of all users within your Jira instance.

INFO
This component requires Base64 encoded credentials for authentication, as detailed in the Getting Started section.

Inputs

FieldTypeRequiredNotes
domain_namestringYesYour Jira Cloud domain.
maxResultsintegerOptionalThe maximum number of users to return per page. Default: 50.
startAtintegerOptionalThe index of the first user to return. Default: 0.

Outputs

FieldTypeDescription
usersarrayAn array of user objects, each containing accountId, displayName, and emailAddress.
ResponseobjectThe raw JSON response from the API, including pagination details.
Use Case

An auditing agent regularly fetches all users to compare against an internal employee directory for consistency.

Add User To Group

Adds a specified user to a Jira group.

INFO
This component requires Base64 encoded credentials for authentication, as detailed in the Getting Started section.

Inputs

FieldTypeRequiredNotes
domain_namestringYesYour Jira Cloud domain.
groupIdstringYesThe ID of the group to add the user to.
accountIdstringYesThe Atlassian account ID of the user to add.

Outputs

FieldTypeDescription
ResponseobjectA successful addition returns the group object.
HeadersobjectThe HTTP headers from the API response.
Use Case

As part of an onboarding workflow, an agent automatically adds new employees to relevant Jira groups based on their role, granting them immediate project access.

Remove User From Group

Removes a specified user from a Jira group.

INFO
This component requires Base64 encoded credentials for authentication, as detailed in the Getting Started section.

Inputs

FieldTypeRequiredNotes
domain_namestringYesYour Jira Cloud domain.
groupIdstringYesThe ID of the group to remove the user from.
accountIdstringYesThe Atlassian account ID of the user to remove.

Outputs

FieldTypeDescription
ResponseobjectA successful removal returns an empty response body.
HeadersobjectThe HTTP headers from the API response.
Use Case

When an employee leaves the company, a de-provisioning agent automatically removes them from all relevant Jira groups to revoke access.

Find Groups

Searches for groups within your Jira instance based on a query string.

INFO
This component requires Base64 encoded credentials for authentication, as detailed in the Getting Started section.

Inputs

FieldTypeRequiredNotes
domain_namestringYesYour Jira Cloud domain.
querystringYesThe string to search for in group names.
maxResultsintegerOptionalThe maximum number of groups to return. Default: 50.
startAtintegerOptionalThe index of the first group to return. Default: 0.

Outputs

FieldTypeDescription
groupsarrayAn array of group objects, each containing name and groupId.
ResponseobjectThe raw JSON response from the API.
Use Case

An agent needs to add a user to a specific team group but only knows the team's name. It uses this component to find the corresponding groupId.

Create Group

Creates a new Jira group.

INFO
This component requires Base64 encoded credentials for authentication, as detailed in the Getting Started section.

Inputs

FieldTypeRequiredNotes
domain_namestringYesYour Jira Cloud domain.
namestringYesThe name of the new group.

Outputs

FieldTypeDescription
groupIdstringThe ID of the newly created group.
namestringThe name of the newly created group.
ResponseobjectThe raw JSON response from the API.
Use Case

When a new project starts, an agent can automatically create a dedicated Jira group for the project team.

Remove Group

Deletes an existing Jira group.

INFO
This component requires Base64 encoded credentials for authentication, as detailed in the Getting Started section.

Inputs

FieldTypeRequiredNotes
domain_namestringYesYour Jira Cloud domain.
groupIdstringYesThe ID of the group to delete.

Outputs

FieldTypeDescription
ResponseobjectA successful deletion returns an empty response body.
HeadersobjectThe HTTP headers from the API response.
Use Case

After a project concludes, an agent can automatically remove the associated Jira group to clean up the instance.

Irreversible Action

This action is permanent and cannot be undone.

Get Group Users

Retrieves a paginated list of users belonging to a specific Jira group.

INFO
This component requires Base64 encoded credentials for authentication, as detailed in the Getting Started section.

Inputs

FieldTypeRequiredNotes
domain_namestringYesYour Jira Cloud domain.
groupIdstringYesThe ID of the group whose users you want to retrieve.
maxResultsintegerOptionalThe maximum number of users to return per page. Default: 50.
startAtintegerOptionalThe index of the first user to return. Default: 0.

Outputs

FieldTypeDescription
usersarrayAn array of user objects, each containing accountId, displayName, and emailAddress.
ResponseobjectThe raw JSON response from the API, including pagination details.
Use Case

An agent needs to verify the members of a specific Jira group to ensure proper access controls.

Archive Issues

Archives a list of Jira issues. Archived issues are hidden from most views but can be unarchived.

INFO
This component requires Base64 encoded credentials for authentication, as detailed in the Getting Started section.

Inputs

FieldTypeRequiredNotes
domain_namestringYesYour Jira Cloud domain.
issueIdsOrkeysarrayYesAn array of strings, where each string is an issue ID or key to be archived.

Outputs

FieldTypeDescription
numberOfIssuesUpdatedintegerThe count of issues successfully archived.
errorsarrayA list of any errors that occurred during the process for specific issues.
ResponseobjectThe raw JSON response from the API.
Use Case

At the end of a fiscal year, a cleanup agent gets a list of all "Done" issues from the previous year and uses this component to archive them in a single batch operation.

Unarchive Issues

Unarchives a list of previously archived Jira issues, making them visible again.

INFO
This component requires Base64 encoded credentials for authentication, as detailed in the Getting Started section.

Inputs

FieldTypeRequiredNotes
domain_namestringYesYour Jira Cloud domain.
issueIdsOrkeysarrayYesAn array of strings, where each string is an issue ID or key to be unarchived.

Outputs

FieldTypeDescription
numberOfIssuesUpdatedintegerThe count of issues successfully unarchived.
errorsarrayA list of any errors that occurred during the process for specific issues.
ResponseobjectThe raw JSON response from the API.
Use Case

If a stakeholder requests information from an old project, an agent can quickly unarchive the relevant issues to make them accessible for reporting or review.

Get Comment

Retrieves a single, specific comment from a Jira issue by its ID.

INFO
This component requires Base64 encoded credentials for authentication, as detailed in the Getting Started section.

Inputs

FieldTypeRequiredNotes
domain_namestringYesYour Jira Cloud domain.
issue_keystringYesThe key of the issue containing the comment.
commentIdstringYesThe unique identifier of the comment to retrieve.

Outputs

FieldTypeDescription
commentIdstringThe unique ID of the retrieved comment.
contentobjectThe body of the comment in Atlassian Document Format.
authorobjectDetails of the user who wrote the comment.
urlstringThe direct URL to the comment.
ResponseobjectThe raw JSON response from the API.
Use Case

If a workflow is triggered by a new comment, the agent can use this component to fetch the full content of that specific comment for processing.

Delete Comment

Permanently removes a specific comment from a Jira issue.

INFO
This component requires Base64 encoded credentials for authentication, as detailed in the Getting Started section.

Inputs

FieldTypeRequiredNotes
domain_namestringYesYour Jira Cloud domain.
issue_keystringYesThe key of the issue containing the comment.
comment_idstringYesThe ID of the comment to delete.

Outputs

FieldTypeDescription
ResponseobjectA successful deletion returns an empty response body.
HeadersobjectThe HTTP headers from the API response.
Use Case

An agent posts an automated status update as a comment. Once the task is complete, it calls this component to delete the now-outdated status comment to keep the issue clean.

Irreversible Action

This action is permanent and cannot be undone.

Best Practices & Advanced Tips

  • Secure Your Credentials: Your useremail:api_token string is a direct credential. Always Base64 encode it and store the result in the SmythOS Vault.
  • Understand the Workflow: Many Jira actions are multi-step. To change an issue's status, you must first Get Transitions to find the correct ID, then Transition Issue. To assign an issue, you may need to Find Users first to get their accountId.
  • Use JQL for Advanced Searches: While not a dedicated component, Jira's power comes from JQL (Jira Query Language). You can use a generic API component in SmythOS to make calls to Jira's /rest/api/3/search endpoint with a JQL query for highly specific searches.
  • Custom Fields: To update custom fields on an issue, you will need to use the Update Issue endpoint with a custom JSON body. This typically requires a generic API call component where you construct the full payload according to the Jira REST API documentation.

Troubleshooting Common Issues

  • Error: 401 Unauthorized

    • Cause: The Base64 encoded useremail:api_token string is incorrect, or the user's account does not have access. The API token may have been revoked.
    • Solution: Carefully re-create and re-encode your credential string. Ensure the user email is correct and the API token is valid in your Atlassian account settings.
  • Error: 403 Forbidden

    • Cause: The authenticated user does not have the necessary project permissions to perform the action (e.g., trying to create an issue in a project they can't access).
    • Solution: Check the user's project role and permission scheme directly in Jira.
  • Error: 404 Not Found

    • Cause: An incorrect domain_name, issue_key, or project_key was provided.
    • Solution: Double-check all identifiers for typos. Ensure the issue or project exists and the user has permission to view it.
  • "Transition is not available" Error

    • Cause: You are attempting to use a transitionId that is not valid for the issue's current status in the workflow.
    • Solution: Always call the Get Transitions component for the specific issue right before you attempt to transition it to get the list of currently available transitions.

What's Next?

You are now ready to build powerful development and project management workflows with the SmythOS Jira Integration!

Consider these ideas:

  • Build an Agent That...

    • Acts as a bridge to your customer support tool. When a support ticket is escalated to "bug," the agent automatically creates a linked Jira issue. When the Jira issue is marked "Done," the agent posts an internal note back on the support ticket.
    • Manages your release process. When a developer merges a PR into the release branch in GitHub, an agent finds all related Jira issues and transitions them to a "Ready for Release" status.
    • Creates a daily stand-up report by fetching all issues assigned to a specific user that were updated in the last 24 hours and sending a summary to a Microsoft Teams channel.
  • Explore Other Integrations:

    • When a new issue is created, send a notification to a Slack or Discord channel.
    • Use an LLM component to summarize a long customer email, then use that summary as the description when creating a Jira issue.
    • Connect Jira to a time-tracking tool, automatically creating log entries based on issue transitions.