Workflows
Blocks
Integrations
Jira

Jira Action Block

What it does: Create, update, search, and transition issues in Jira automatically. Manage comments, sprints, projects, and boards from your workflow.

🎯

In simple terms: Connect your workflows to Jira so you can create issues, move them through stages, add comments, and search your backlog — all without leaving your automation.

When to Use This

Use the Jira action when you need to:

  • ✅ Create Jira issues automatically from form submissions, emails, or alerts
  • ✅ Transition issues through workflow stages (e.g., To Do → In Progress → Done)
  • ✅ Add comments to issues with context from other systems
  • ✅ Search for issues using JQL (Jira Query Language)
  • ✅ Assign issues to team members based on rules
  • ✅ Move issues between sprints automatically
  • ✅ Sync data between Jira and other tools (Slack, HubSpot, email, etc.)

Example: When a customer submits a support request, automatically create a Jira bug ticket, assign it to the on-call engineer, and notify the team on Slack.

Features

  • Issue Management: Create, update, get, search, delete, assign, and transition issues
  • Comment Management: Add, update, and retrieve comments on issues
  • Project & Board: List projects, boards, and sprints
  • Sprint Management: Move issues between sprints
  • JQL Search: Query issues using Jira's powerful query language
  • Multi-Auth: Supports Jira Cloud (API Token), Server (Password), and Server (PAT)
  • Variable Support: Use {{variables}} from previous workflow steps in any field

Getting Your Jira Credentials

Jira supports three authentication methods depending on your deployment type. Follow the guide that matches your setup.

Option A: Jira Cloud (Recommended)

Jira Cloud uses Email + API Token authentication.

Step 1: Go to your Atlassian API token page

Open https://id.atlassian.com/manage-profile/security/api-tokens (opens in a new tab) in your browser.

Step 2: Create a new API token

  1. Click Create API token
  2. Give it a label (e.g., InditeAI Workflow)
  3. Click Create
  4. Copy the token immediately — you won't be able to see it again

Step 3: Note your details

You will need three things:

  • Email: The email address you use to log in to Jira Cloud
  • API Token: The token you just created
  • Domain: Your Jira Cloud URL (e.g., https://yourcompany.atlassian.net)
⚠️

API tokens inherit the permissions of the user who creates them. Make sure your account has access to the projects you want to automate.

Option B: Jira Server (Self-Hosted) — Password

For self-hosted Jira Server or Data Center instances using basic auth.

Step 1: Gather your details

  • Email: Your Jira login email
  • Password: Your Jira login password
  • Domain: Your Jira Server URL (e.g., https://jira.yourcompany.com)
⚠️

Basic auth with passwords is deprecated in newer Jira Server versions. Consider using a Personal Access Token (PAT) instead.

Option C: Jira Server (Self-Hosted) — Personal Access Token (PAT)

For Jira Server 8.14+ and Data Center.

Step 1: Create a Personal Access Token

  1. In Jira, click your profile picture → Profile
  2. Click Personal Access Tokens in the left sidebar
  3. Click Create token
  4. Give it a name (e.g., InditeAI)
  5. Set an expiry date (optional but recommended)
  6. Click Create
  7. Copy the token immediately

Step 2: Note your details

  • Personal Access Token: The token you just created
  • Domain: Your Jira Server URL (e.g., https://jira.yourcompany.com)

Setup in InditeAI

1. Connect Your Jira Account

  1. Add the Jira action block to your workflow
  2. Click Select CredentialsCreate New
  3. Choose your Jira Version (Cloud, Server, or Server PAT)
  4. Enter your credentials (see above)
  5. Enter your Domain (your Jira instance URL)
  6. Click Save Credentials

2. Select an Action

Choose what you want to do:

CategoryActions
IssuesCreate Issue, Update Issue, Get Issue, Search Issues, Delete Issue, Assign Issue, Transition Issue
CommentsAdd Comment, Update Comment, Get Comments
ProjectsGet Projects, Get Project
Sprints / BoardsGet Boards, Get Sprints, Move to Sprint
UsersGet Users, Get Current User

3. Configure Action Fields

Each action requires different fields. See the detailed sections below.

Working with Issues

Create Issue

Project Key (Required): The Jira project key

PROJ
{{trigger.projectKey}}

Issue Type (Required): The type of issue to create

Bug
Task
Story
Epic
Sub-task

Summary (Required): The issue title

{{trigger.subject}}
Bug: Login page not loading on mobile

Description: Detailed issue description

{{trigger.description}}
Steps to reproduce:
1. Open the app on iOS
2. Navigate to login
3. Page shows blank screen

Priority: Issue priority level

Highest
High
Medium
Low
Lowest

Assignee: Account ID of the assignee

{{trigger.assigneeId}}
5b10a2844c20165700ede21g

Update Issue

Issue Key (Required): The issue to update

PROJ-123
{{previousStep.issueKey}}

Update any combination of: Summary, Description, Priority, Assignee.

Get Issue

Issue Key (Required): Retrieve full issue details

PROJ-123
{{trigger.issueKey}}

Returns all issue fields including status, assignee, reporter, comments, and custom fields.

Search Issues (JQL)

JQL Query (Required): Jira Query Language expression

project = PROJ AND status = "In Progress"
assignee = currentUser() AND sprint in openSprints()
project = PROJ AND created >= -7d ORDER BY priority DESC
labels = "bug" AND resolution = Unresolved

Max Results: Number of results to return (default: 50)

50
100
💡

JQL Tip: Use ORDER BY to sort results. Common fields: priority, created, updated, status, assignee.

Assign Issue

Issue Key (Required): The issue to assign

PROJ-123

Assignee (Required): The account ID of the user

5b10a2844c20165700ede21g
{{lookup.accountId}}

Transition Issue

Move an issue through workflow stages (e.g., To Do → In Progress → Done).

Issue Key (Required): The issue to transition

PROJ-123

Transition ID (Required): The ID of the target transition

21
31
41
💡

Finding Transition IDs: Use the "Get Issue" action first — the response includes available transitions with their IDs. Or call /rest/api/2/issue/PROJ-123/transitions via an HTTP Request block.

Delete Issue

Issue Key (Required): The issue to delete

PROJ-123
⚠️

Deleting an issue is permanent and cannot be undone. Make sure you have the correct issue key.

Working with Comments

Add Comment

Issue Key (Required): The issue to comment on

PROJ-123

Comment Body (Required): The comment text

{{trigger.message}}
Automatically generated from customer support ticket #{{ticket.id}}

Update Comment

Issue Key + Comment ID + New Body: All required.

Get Comments

Issue Key (Required): Returns all comments on the specified issue.

Working with Projects

Get Projects

No fields required. Returns a list of all projects accessible to the authenticated user.

Get Project

Project Key (Required): Returns details for a specific project.

PROJ

Working with Sprints & Boards

Get Boards

No fields required. Returns all boards visible to the authenticated user.

Get Sprints

Board ID (Required): Returns sprints for a specific board.

42
{{boards.id}}

Move to Sprint

Sprint ID (Required): Target sprint

78
{{sprint.id}}

Issue Key (Required): Issue to move

PROJ-123

Response Mapping

Map Jira response data to workflow variables:

Available Values:

  • Issue ID: Internal Jira issue ID
  • Issue Key: Human-readable key (e.g., PROJ-123)
  • Issue Summary: Issue title
  • Issue Status: Current status name
  • Issue Assignee: Assigned user
  • Issue Reporter: Creator of the issue
  • Issue Priority: Priority level
  • Issue Type: Type (Bug, Task, Story, etc.)
  • Project Key: Project identifier
  • Project Name: Project display name
  • Comment ID: Comment identifier
  • Sprint ID / Name: Sprint details
  • Board ID: Board identifier
  • Created / Updated Date: Timestamps
  • Full Response: Complete JSON response

Common Use Cases

1. Auto-Create Bug Reports from Support

Trigger: Customer support email or form Jira: Create Issue

Project Key: SUPPORT
Issue Type: Bug
Summary: {{email.subject}}
Description: {{email.body}}
Priority: {{calculatePriority(email)}}
Labels: ["customer-reported"]

2. Sprint Automation

Trigger: Schedule (every Monday) Workflow:

  1. Search for unresolved issues from last sprint
  2. Move them to the current sprint
JQL: project = PROJ AND sprint in closedSprints() AND resolution = Unresolved
Move to: {{currentSprint.id}}

3. Status Sync with Slack

Trigger: Jira Trigger (issue updated) Workflow:

  1. Get issue details
  2. Send Slack notification
Message: "{{issue.key}} moved to {{issue.status}} by {{user.displayName}}"
Channel: #project-updates

4. Auto-Assign Based on Label

Trigger: Jira Trigger (issue created) Workflow:

  1. Check issue labels with Condition block
  2. Assign to appropriate team member
If label = "frontend" → Assign to frontend-lead
If label = "backend" → Assign to backend-lead
If label = "urgent" → Assign to team-lead + Slack alert

5. Cross-Platform Project Sync

Trigger: HubSpot deal closed Jira: Create Epic

Project Key: DELIVERY
Issue Type: Epic
Summary: "Onboarding: {{deal.companyName}}"
Description: "New customer onboarding for {{deal.companyName}}, deal value: ${{deal.amount}}"
Priority: High

Best Practices

Data Quality

  • ✅ Always include Project Key and Issue Type when creating issues
  • ✅ Use JQL to check for duplicates before creating
  • ✅ Keep summaries concise and descriptive
  • ✅ Use consistent labels across automations

Security

  • ✅ Use API Tokens (Cloud) or PATs (Server) instead of passwords
  • ✅ Create a dedicated service account for automation
  • ✅ Limit permissions to only the projects and actions needed
  • ✅ Rotate tokens regularly

Automation

  • ✅ Use Condition blocks to avoid unnecessary API calls
  • ✅ Handle errors gracefully — Jira may return 404 for deleted issues
  • ✅ Use transitions instead of directly setting status fields
  • ✅ Cache project/board/sprint IDs when possible

Performance

  • ✅ Limit JQL search results with maxResults
  • ✅ Use specific JQL filters instead of broad queries
  • ✅ Avoid polling — use the Jira Trigger block for real-time events

Troubleshooting

Issue Not Created

Check:

  • Jira credentials are valid and connected
  • Project Key exists and you have permission to create issues in it
  • Issue Type is valid for the selected project
  • Summary is not empty
  • Required custom fields are populated (check project configuration)

Authentication Errors (401/403)

Fix:

  • Verify your API Token hasn't expired
  • Check that your email matches your Atlassian account
  • Ensure the domain URL is correct (no trailing slash)
  • For Server: confirm your PAT is still valid
  • Verify your account has the necessary project permissions

Transition Errors

Fix:

  • Use "Get Issue" to check available transitions — not all transitions are available from every status
  • Verify the Transition ID is correct (it's a number, not the status name)
  • Check if the transition requires additional fields (e.g., resolution)

JQL Search Returns Empty

Fix:

  • Test your JQL query directly in Jira's issue search first
  • Check field names — use internal names, not display names
  • Verify the authenticated user has access to the target projects
  • Ensure date formats are correct (-7d, "2024-01-01")

Limitations

  • API Rate Limits (Jira Cloud):
    • Standard: Up to 100 requests per minute per user
    • Heavy operations may be throttled further
  • Server/Data Center: Rate limits depend on your instance configuration
  • JQL Complexity: Very complex queries may time out on large instances
  • Attachments: Not supported in the current version — use an HTTP Request block for file uploads
  • Webhooks: For real-time events, use the Jira Trigger block instead of polling
💡

Tip: Create a dedicated Jira service account (e.g., automation@yourcompany.com) with appropriate permissions. This makes it easy to audit automated changes and prevents disruption when individual accounts change.

Example Workflow

Flow:

  1. Support email triggers the workflow
  2. A Jira issue is created with details from the email
  3. Priority is checked
  4. High-priority: assigned to on-call engineer + Slack alert
  5. Normal priority: assigned to support queue + email confirmation
  6. Workflow complete

Related Blocks

  • Jira Trigger: Start workflows when Jira events occur
  • Condition: Route logic based on issue fields
  • Slack: Notify teams about issue changes
  • Send Email: Send confirmations or updates
  • HTTP Request: Advanced Jira API calls
  • Set Variable: Prepare and format Jira data

Need Help?

Pro Tip: Use the "Search Issues" action with JQL before creating issues to prevent duplicates. For example: summary ~ "{{trigger.subject}}" AND project = PROJ AND created >= -1d

Indite Documentation v1.6.0
PrivacyTermsSupport