← All tools

Productivity & Collaboration

Jira Cloud

Search, read, create, and comment on Jira issues.

jira

Overview

Works with your Jira tickets. Agents can search the backlog, read a specific ticket, open new ones, or add comments — perfect for automating the small-but-tedious parts of project tracking.

How it works

Talks to Jira Cloud via its REST API v3 using Basic auth (email + API token). Four operations are supported: 'search_issues' runs a JQL query; 'get_issue' fetches one ticket with its description and comments; 'create_issue' opens a new ticket with project, summary, issue type, and optional description; 'add_comment' appends a comment to an existing ticket.

Example

When a user asks:

File a bug ticket for the login issue we just found.

the agent calls the tool:

jira(operation="create_issue", project="ACME", summary="Login fails for users with apostrophes in email", issueType="Bug")

and gets back: the new ticket's key (e.g. ACME-4217) and URL.

Configuration

Set these before calling the tool. Values marked required must be present or the tool call will fail.

JIRA_BASE_URL required

Your Atlassian Cloud base URL, e.g. https://yourdomain.atlassian.net.

JIRA_EMAIL required

Atlassian account email used as the Basic-auth username.

JIRA_API_TOKEN required

API token from id.atlassian.com/manage-profile/security/api-tokens.

Use it in a workflow

Wire this tool into a SwarmAI crew. Use the YAML DSL for declarative workflows, or the Java builder API when you want full programmatic control.

YAML DSL

# project-tracking.yaml
name: project-tracking-crew
process: SEQUENTIAL

agents:
  - id: tracker
    role: Project Tracker
    goal: Automate the boring parts of ticket management
    tools:
      - jira

tasks:
  - id: project-tracking-task
    agent: tracker
    description: Create a Bug ticket in the ACME project for the new login regression.

Java

import ai.intelliswarm.swarmai.agent.Agent;
import ai.intelliswarm.swarmai.task.Task;
import ai.intelliswarm.swarmai.swarm.Swarm;
import ai.intelliswarm.swarmai.swarm.SwarmOutput;
import ai.intelliswarm.swarmai.process.ProcessType;
import ai.intelliswarm.swarmai.tool.productivity.JiraTool;
import org.springframework.ai.chat.client.ChatClient;
import org.springframework.beans.factory.annotation.Autowired;

@Autowired ChatClient chatClient;
@Autowired JiraTool jiraTool;

Agent tracker = Agent.builder()
    .role("Project Tracker")
    .goal("Automate the boring parts of ticket management")
    .chatClient(chatClient)
    .tool(jiraTool)
    .build();

Task trackerTask = Task.builder()
    .description("Create a Bug ticket in the ACME project for the new login regression.")
    .agent(tracker)
    .build();

SwarmOutput result = Swarm.builder()
    .agent(tracker)
    .task(trackerTask)
    .process(ProcessType.SEQUENTIAL)
    .build()
    .kickoff();

What it's good for

Real scenarios where agents put this tool to work.

Sprint triage: JQL search for active tickets and summarize status
Pull a ticket (key + description + comments) as context for a planning agent
Auto-file bug tickets when a monitoring agent detects a regression
Post structured status updates as comments on existing tickets

Source

Implementation lives at swarmai-tools/src/main/java/ai/intelliswarm/swarmai/tool/productivity/JiraTool.java in the swarm-ai repository.

Open jira on GitHub →