Skip to content

The Jira integration connects your Jira project to kluster.ai Code Reviews, allowing kluster to use ticket details as context during code reviews. When connected, kluster can verify whether your code matches the requirements defined in a Jira ticket, catching gaps between the specification and the implementation.

For example, if a Jira ticket specifies that a function must accept command-line arguments and support multiple algorithms, kluster flags missing requirements in your code. This turns code review into a requirements-aware process rather than a purely syntactic or security-focused check.

Connect Jira

You can connect Jira from the External Knowledge page on the kluster.ai platform. The setup process depends on whether you use cloud-hosted Jira or a self-hosted (IT-managed) instance.

Jira Cloud (OAuth)

For Jira Cloud instances, kluster uses an OAuth wizard for authentication.

  1. Navigate to External Knowledge in the kluster.ai platform. Jira appears as an available source.

    External Knowledge page showing Jira as a source option

  2. Click Connect next to Jira. This launches the Jira OAuth authorization wizard.

    Jira OAuth wizard connection notification

  3. Accept the connection notification in the wizard to grant kluster access to your Jira instance.

  4. Once the authorization completes, the Jira integration status changes to Connected. A list of Jira projects from your instance appears. Enable or disable specific projects to control which ticket data kluster can access during code reviews.

    Jira integration showing as Connected, select project

Restrict access to sensitive projects

If your Jira instance contains internal security, IT, or HR projects, disable them from the project list. This prevents their ticket details from being included in code review context.

Self-hosted Jira (API token)

For self-hosted or IT-managed Jira instances that do not support OAuth, you can connect using an API token instead.

  1. Navigate to External Knowledge in the kluster.ai platform.

  2. Click the Connect Jira dropdown, and select Connect via API token.

    Connecting via API token

  3. Fill in the self-hosted or IT-managed Jira instance details. Click Connect to complete the setup.

    Self-hosted Jira API token connection screen

How Jira context flows into reviews

Once connected, kluster identifies Jira tickets by their ticket ID (e.g., KAN-2). The ticket context is automatically included in a code review when any of the following conditions are met:

  • Branch name contains the ticket ID: For example, a branch named feature/KAN-2 triggers kluster to pull in the requirements from ticket KAN-2.
  • Ticket ID is mentioned in the chat prompt: Including the ticket ID in your message to the AI assistant (e.g., "Create a Python script that prints Pi (Ticket KAN-2)") links the review to that ticket.

How kluster detects the ticket depends on your tool:

Tool How the ticket is detected
Cursor, VS Code, Windsurf Branch name is detected automatically — check out a branch like feat/KAN-2 and kluster picks it up.
Claude Code, Codex CLI Branch is not detected automatically — include the ticket ID in your prompt or paste the ticket link.

When Jira context is not included

If your branch has a generic name like main or develop and the ticket ID is not mentioned anywhere in the prompt, kluster does not include Jira context in the review. To ensure ticket requirements are checked, reference the ticket ID explicitly in the branch name or in the prompt.

Once kluster starts a code review process, it will check the intent of the Jira ticket associated with the request. It will then suggest the intent of the Jira ticket to the AI tool being used, so that it is automatically applied.

Example workflow

The following example illustrates how kluster uses Jira ticket context to validate code against requirements.

Assume a Jira ticket KAN-2 specifies the following requirements:

- Output must be formatted as `The PI: {number}`.
- At least two methods of calculating Pi must be implemented.
- The script must accept command-line arguments to select the algorithm.

A developer creates a branch named feat/KAN-2 and asks their AI assistant (Claude in this example) to "write code that returns pi in Python."

╭─── Claude Code v2.1.63 ────────────────────────────╮ │                                                    │ │               Welcome back kluster.ai!             │ │                                                    │ │                     ▐▛███▜▌                        │ │                    ▝▜█████▛▘                       │ │                      ▘▘ ▝▝                         │ │                                                    │ │  Opus 4.6 · Claude Max · kluster's Organization    │ │                      /workspace                    │ ╰────────────────────────────────────────────────────╯ Create a Python script that prints Pi (Ticket KAN-2) ● I'll create a simple Python script that prints Pi. ⎿ Write(print_pi.py)

The AI generates a basic script that prints Pi using a single method.

Because kluster has access to the Jira ticket, it compares the generated code against the ticket requirements and flags the following gaps:

  • The output format does not match The PI: {number}.
  • Only one calculation method is implemented instead of two.
  • No argument parsing is included.

kluster then asks the developer whether to fix the code to comply with the Jira ticket requirements. This prevents under-implemented features from being committed without review.

╭─── Claude Code v2.1.63 ────────────────────────────╮ │                                                    │ │               Welcome back kluster.ai!             │ │                                                    │ │                     ▐▛███▜▌                        │ │                    ▝▜█████▛▘                       │ │                      ▘▘ ▝▝                         │ │                                                    │ │  Opus 4.6 · Claude Max · kluster's Organization    │ │                      /workspace                    │ ╰────────────────────────────────────────────────────╯ ● kluster-verify — kluster_code_review_auto (MCP) (modified_files_path: "/workspace/print_pi.py") ⎿ { "isCodeCorrect": false, "explanation": "Found 1 issue. [HIGH] The script fails to implement requirements from KAN-2." } ⚠️ kluster.ai clarification required — The review found that Jira ticket KAN-2 has specific requirements: 1. Output formatted as "The PI: {number}" 2. At least 2 methods of calculating Pi 3. Argument parsing to select the algorithm Would you like me to update the script to meet all KAN-2 requirements? yes ● Updating print_pi.py to meet all KAN-2 requirements... ⎿ Write(print_pi.py) ● kluster-verify — kluster_code_review_auto (MCP) (modified_files_path: "/workspace/print_pi.py") ⎿ { "isCodeCorrect": true, "explanation": "No issues found. Code analysis complete.", … +11 lines (ctrl+o to expand) } ● Script is updated and passing all checks. It now includes: - builtin method — uses math.pi - leibniz method — approximates Pi via Leibniz series - --method argument to select the algorithm - Output formatted as The PI: {number} --- 🔍 kluster.ai Review Summary 📋 kluster feedback - 1 high-severity issue in initial review: script didn't meet KAN-2 requirements (missing output format, multiple methods, and argument parsing). - Final review: 0 issues — all requirements satisfied. - 📚 External knowledge used: Jira ticket KAN-2 ✅ Issues found and fixed Updated script includes two Pi methods (builtin and leibniz), argparse for algorithm selection, and The PI: {number} output format per KAN-2. ⚠️ Impact Assessment: Without these fixes, the script would not have met the ticket requirements.

After the AI coding agent finishes the implementation, kluster performs a follow-up review to verify that the code matches the intent from the Jira ticket requirements. If it does, kluster states that no issues were found in the code.

Next steps