Authentication
This provider requires authentication.- email: Atlassian Jira Email (required: True, sensitive: False)
- api_token: Atlassian Jira API Token (required: True, sensitive: True)
- host: Atlassian Jira Host (required: True, sensitive: False)
- ticket_creation_url: URL for creating new tickets (optional, will use default if not provided) (required: False, sensitive: False)
- BROWSE_PROJECTS: Browse Jira Projects (mandatory)
- CREATE_ISSUES: Create Jira Issues (mandatory)
- CLOSE_ISSUES: Close Jira Issues
- EDIT_ISSUES: Edit Jira Issues
- DELETE_ISSUES: Delete Jira Issues
- MODIFY_REPORTER: Modify Jira Issue Reporter
- TRANSITION_ISSUES: Transition Jira Issues
In workflows
This provider can be used in workflows. As “step” to query data, example:- create_jira_ticket_upon_alerts.yml
- incident-enrich.yaml
- jira-create-ticket-on-alert.yml
- jira-transition-on-resolved.yml
- jira_on_prem.yml
- test_jira_create_with_custom_fields.yml
- test_jira_custom_fields_fix.yml
- update_jira_ticket.yml
Connecting with the Provider
- Go to https://id.atlassian.com/manage-profile/security/api-tokens to Create API token and generated token should be passed to jira authentication.
- Get
host
andboard_id
from your respective board from its URL. - Get
project_key
from your project > settings > details. email
would be same as of your account email.
Auto-Transition Workflows
The Jira provider supports automatically transitioning tickets when alerts change status. This is useful for keeping your Jira board synchronized with alert states - for example, automatically closing tickets when alerts are resolved.Prerequisites
- Configure a Jira Cloud provider in Keep
- Ensure your Jira user has the
TRANSITION_ISSUES
permission - Know your Jira board name and desired transition status names
Workflow 1: Create Jira Ticket on Alert
This workflow creates a Jira ticket when an alert fires, but only if no ticket has been created yet.if: "not '{{ alert.ticket_id }}'"
- Only creates a ticket if one doesn’t exist yetenrich_alert
- Stores the ticket ID, type, and URL in the alert for later use- The ticket is created in the default status (usually “To Do” or “Open”)
Workflow 2: Transition Ticket to Done on Alert Resolved
This workflow updates the existing Jira ticket and transitions it to “Done” when the alert is resolved.- Uses
issue_id: "{{ alert.ticket_id }}"
from the enriched alert data transition_to: Done
- Transitions the ticket to the specified status- No
if
condition needed - if the alert has noticket_id
, the action will simply fail gracefully
Available Transition Names
Common Jira transition names (varies by workflow):Done
Resolved
Closed
In Progress
To Do
Canceled
- Go to your Jira project settings
- Navigate to Workflows
- Check the available statuses in your workflow
- Use the exact status name in the
transition_to
parameter (case-insensitive)
Error Handling
If you specify an invalid transition name, the Jira provider will return a helpful error message listing all available transitions for that ticket:Example: Three-State Workflow
You can also create intermediate transitions:Testing
- Create an alert that triggers the first workflow
- Verify a Jira ticket is created
- Check that the alert has
ticket_id
,ticket_type
, andticket_url
fields
- Resolve the alert to trigger the second workflow
- Verify the existing ticket is updated (no new ticket created)
- Check that the ticket status changed to “Done”
- Check the logs in Keep UI for any errors or debugging info
Troubleshooting
Issue: Workflow creates a new ticket instead of updating
Cause: Theissue_id
parameter is missing or the alert doesn’t have a ticket_id
.
Solution: Ensure the first workflow enriches the alert with ticket_id
and the second workflow uses it via issue_id: "{{ alert.ticket_id }}"
.
Issue: Transition fails with “Transition ‘X’ not found”
Cause: The transition name doesn’t match your Jira workflow. Solution: Check the error message for available transitions and update thetransition_to
parameter accordingly.
Issue: Permission denied when transitioning
Cause: Your Jira user doesn’t have theTRANSITION_ISSUES
permission.
Solution: Grant the necessary permissions in Jira project settings.
Advanced Features
Configuration Variables
You can use Keep’s configuration variables to make the workflows more flexible:Custom Fields
You can also set custom fields when creating or updating tickets:Labels and Components
Notes
Useful Links
- https://id.atlassian.com/manage-profile/security/api-tokens
- https://developer.atlassian.com/cloud/jira/software/rest/api-group-board/#api-rest-agile-1-0-board-boardid-issue-get
- https://developer.atlassian.com/cloud/jira/platform/rest/v2/api-group-issues/#api-rest-api-2-issue-post
- https://developer.atlassian.com/cloud/jira/platform/rest/v2/api-group-issues/#api-rest-api-2-issue-issueidorkey-transitions-get (Transitions API)