New to Claude Skills? Learn how to install them →

affaan-m on GitHub

Jira Integration

Free

Streamline your Jira workflow with AI assistance.

by affaan-m239.3k stars on affaan-m/ecc
1 views
Updated Aug 10, 2026
Get this skill

Free · Opens the source repo

What Jira Integration does

The Jira Integration skill allows developers and designers to interact with Jira tickets directly from their AI coding workflows. This skill supports two primary methods of integration: using the recommended MCP (MCP-atlassian) server and making direct REST API calls. By leveraging these methods, users can retrieve, analyze, and update Jira tickets efficiently, enhancing their project management capabilities.

With this skill, users can activate various functionalities such as fetching Jira tickets to understand requirements, extracting testable acceptance criteria, adding progress comments, and transitioning ticket statuses through predefined workflows. It also allows linking merge requests and branches to specific Jira issues, ensuring that development work is closely tied to project management activities. The ability to perform JQL queries for issue searches further empowers users to manage their tasks effectively.

To get started, users can set up the MCP server, which provides a streamlined way to interact with Jira's API, or they can opt for direct REST API calls if MCP is not available. The skill requires specific environment variables to be set, including the Jira instance URL, user email, and API token, which must be handled securely to prevent exposure. This integration is particularly valuable for teams that rely heavily on Jira for tracking development progress and ensuring that all aspects of a project are aligned with its requirements.

Overall, this skill is designed for those who want to enhance their productivity by automating interactions with Jira, making it an essential tool for developers and project managers alike.

When to use it

Use this skill when you need to automate interactions with Jira, such as updating ticket statuses or extracting requirements for development tasks.

When not to use it

This skill may not be suitable for users who do not use Jira or prefer manual ticket management processes.

What you can build with it

Fetching Jira Tickets

Retrieve Jira tickets to understand project requirements and track progress directly from your coding environment.

Updating Ticket Status

Transition ticket statuses as work progresses, ensuring that your project management reflects current development states.

Adding Comments to Tickets

Automate the process of adding comments to Jira tickets to keep your team updated on progress and changes.

How to install Jira Integration

View source

1. Install with the skills CLI

npx skills add affaan-m/ecc/jira-integration --agent claude-code

2. Or install it manually

Download the skill folder and drop it into ~/.claude/skills/ for all projects, or .claude/skills/ to scope it to one repo. Restart Claude Code so it picks up the new skill.

Anthropic's agentic coding CLI, and the reference implementation of Agent Skills. Drop a skill folder into ~/.claude/skills and Claude Code loads it automatically whenever a task matches the skill's description. Claude Code docs

Inside SKILL.md

Written by affaan-m

Jira インテグレーションスキル

AI コーディングワークフローから直接 Jira チケットを取得・分析・更新します。MCP ベース(推奨)と直接 REST API の両アプローチをサポートします。

アクティベートするタイミング

  • 要件を理解するために Jira チケットを取得する
  • チケットからテスト可能な受け入れ基準を抽出する
  • Jira イシューに進捗コメントを追加する
  • チケットステータスをトランジションする(To Do → In Progress → Done)
  • マージリクエストやブランチを Jira イシューにリンクする
  • JQL クエリでイシューを検索する

前提条件

オプション A: MCP サーバー(推奨)

mcp-atlassian MCP サーバーをインストールします。これにより Jira ツールが AI エージェントに直接公開されます。

要件:

  • Python 3.10 以上
  • uvxuv から)、パッケージマネージャーまたは公式 uv インストールドキュメントからインストール

MCP 設定に追加(例: ~/.claude.jsonmcpServers):

{
  "jira": {
    "command": "uvx",
    "args": ["mcp-atlassian==0.21.0"],
    "env": {
      "JIRA_URL": "https://YOUR_ORG.atlassian.net",
      "JIRA_EMAIL": "your.email@example.com",
      "JIRA_API_TOKEN": "your-api-token"
    },
    "description": "Jira issue tracking — search, create, update, comment, transition"
  }
}

セキュリティ: シークレットをハードコードしないでください。JIRA_URLJIRA_EMAILJIRA_API_TOKEN はシステム環境変数またはシークレットマネージャーに設定することを推奨します。MCP の env ブロックはローカルのコミットされていない設定ファイルにのみ使用してください。

Jira API トークンの取得方法:

  1. https://id.atlassian.com/manage-profile/security/api-tokens にアクセス
  2. API トークンを作成をクリック
  3. トークンをコピーして環境変数に保存(ソースコードには絶対に保存しない)

オプション B: 直接 REST API

MCP が利用できない場合は、curl またはヘルパースクリプトで Jira REST API v3 を直接使用します。

必要な環境変数:

変数説明
JIRA_URLJira インスタンスの URL(例: https://yourorg.atlassian.net
JIRA_EMAILAtlassian アカウントのメールアドレス
JIRA_API_TOKENid.atlassian.com からの API トークン

シェル環境変数、シークレットマネージャー、またはリポジトリにコミットしないローカル環境ファイルに保存してください。

直接 curl 例では、Jira ユーザー設定を標準入力で渡し、認証情報がコマンドライン引数に出ないようにします。

jira_curl() {
  printf 'user = "%s:%s"\n' "$JIRA_EMAIL" "$JIRA_API_TOKEN" |
    curl -s -K - "$@"
}

MCP ツールリファレンス

mcp-atlassian MCP サーバーが設定されている場合、以下のツールが利用可能です。

ツール目的
jira_searchJQL クエリproject = PROJ AND status = "In Progress"
jira_get_issueキーで完全なイシュー詳細を取得PROJ-1234
jira_create_issueイシューの作成(タスク、バグ、ストーリー、エピック)新しいバグレポート
jira_update_issueフィールドの更新(概要、説明、担当者)担当者の変更
jira_transition_issueステータスの変更"In Review" に移動
jira_add_commentコメントの追加進捗更新
jira_get_sprint_issuesスプリント内のイシュー一覧アクティブスプリントレビュー
jira_create_issue_linkイシューのリンク(Blocks、Relates to)依存関係の追跡
jira_get_issue_development_infoリンクされた PR、ブランチ、コミットの確認開発コンテキスト

ヒント: トランジション前に必ず jira_get_transitions を呼び出してください。トランジション ID はプロジェクトのワークフローによって異なります。

直接 REST API リファレンス

チケットの取得

jira_curl \
  -H "Content-Type: application/json" \
  "$JIRA_URL/rest/api/3/issue/PROJ-1234" | jq '{
    key: .key,
    summary: .fields.summary,
    status: .fields.status.name,
    priority: .fields.priority.name,
    type: .fields.issuetype.name,
    assignee: .fields.assignee.displayName,
    labels: .fields.labels,
    description: .fields.description
  }'

コメントの取得

jira_curl \
  -H "Content-Type: application/json" \
  "$JIRA_URL/rest/api/3/issue/PROJ-1234?fields=comment" | jq '.fields.comment.comments[] | {
    author: .author.displayName,
    created: .created[:10],
    body: .body
  }'

コメントの追加

jira_curl -X POST \
  -H "Content-Type: application/json" \
  -d '{
    "body": {
      "version": 1,
      "type": "doc",
      "content": [{
        "type": "paragraph",
        "content": [{"type": "text", "text": "Your comment here"}]
      }]
    }
  }' \
  "$JIRA_URL/rest/api/3/issue/PROJ-1234/comment"

チケットのトランジション

# 1. 利用可能なトランジションを取得
jira_curl \
  "$JIRA_URL/rest/api/3/issue/PROJ-1234/transitions" | jq '.transitions[] | {id, name: .name}'

# 2. トランジションを実行(TRANSITION_ID を置き換える)
jira_curl -X POST \
  -H "Content-Type: application/json" \
  -d '{"transition": {"id": "TRANSITION_ID"}}' \
  "$JIRA_URL/rest/api/3/issue/PROJ-1234/transitions"

JQL での検索

jira_curl -G \
  --data-urlencode "jql=project = PROJ AND status = 'In Progress'" \
  "$JIRA_URL/rest/api/3/search"

チケットの分析

開発またはテスト自動化のためにチケットを取得する際に抽出する内容:

1. テスト可能な要件

  • 機能要件 — 機能が行うこと
  • 受け入れ基準 — 満たさなければならない条件
  • テスト可能な振る舞い — 具体的なアクションと期待される結果
  • ユーザーロール — この機能を使用するのは誰か、その権限
  • データ要件 — 必要なデータ
  • インテグレーションポイント — 関係する API、サービス、またはシステム

2. 必要なテストタイプ

  • ユニットテスト — 個別の関数とユーティリティ
  • インテグレーションテスト — API エンドポイントとサービスインタラクション
  • E2E テスト — ユーザー向け UI フロー
  • API テスト — エンドポイントコントラクトとエラーハンドリング

3. エッジケースとエラーシナリオ

  • 無効な入力(空、長すぎる、特殊文字)
  • 不正アクセス
  • ネットワーク障害またはタイムアウト
  • 同時ユーザーまたはレース条件
  • 境界条件
  • データの欠如または null 値
  • 状態遷移(ナビゲーションの戻り、リフレッシュなど)

4. 構造化された分析出力

Ticket: PROJ-1234
Summary: [チケットタイトル]
Status: [現在のステータス]
Priority: [High/Medium/Low]
Test Types: Unit, Integration, E2E

Requirements:
1. [要件 1]
2. [要件 2]

Acceptance Criteria:
- [ ] [基準 1]
- [ ] [基準 2]

Test Scenarios:
- Happy Path: [説明]
- Error Case: [説明]
- Edge Case: [説明]

Test Data Needed:
- [データ項目 1]
- [データ項目 2]

Dependencies:
- [依存関係 1]
- [依存関係 2]

チケットの更新

更新するタイミング

ワークフローステップJira の更新
作業開始"In Progress" にトランジション
テスト作成完了テストカバレッジサマリーをコメント
ブランチ作成ブランチ名をコメント
PR/MR 作成リンク付きコメント、イシューをリンク
テスト通過結果サマリーをコメント
PR/MR マージ"Done" または "In Review" にトランジション

コメントテンプレート

作業開始:

Starting implementation for this ticket.
Branch: feat/PROJ-1234-feature-name

テスト実装完了:

Automated tests implemented:

Unit Tests:
- [テストファイル 1] — [カバー内容]
- [テストファイル 2] — [カバー内容]

Integration Tests:
- [テストファイル] — [カバーするエンドポイント/フロー]

All tests passing locally. Coverage: XX%

PR 作成:

Pull request created:
[PR Title](https://github.com/org/repo/pull/XXX)

Ready for review.

作業完了:

Implementation complete.

PR merged: [link]
Test results: All passing (X/Y)
Coverage: XX%

セキュリティガイドライン

  • Jira API トークンをソースコードやスキルファイルに絶対にハードコードしない
  • 環境変数またはシークレットマネージャーを必ず使用する
  • すべてのプロジェクトで .env.gitignore追加する
  • git 履歴に露出した場合はトークンを即座にローテーションする
  • 必要なプロジェクトに限定した最小権限 API トークンを使用する
  • API 呼び出し前に認証情報が設定されているか検証する — 明確なメッセージとともに早期に失敗させる

トラブルシューティング

エラー原因対処法
401 UnauthorizedAPI トークンが無効または期限切れid.atlassian.com で再生成
403 Forbiddenトークンにプロジェクト権限がないトークンのスコープとプロジェクトアクセスを確認
404 Not Foundチケットキーまたはベース URL が間違っているJIRA_URL とチケットキーを確認
spawn uvx ENOENTIDE が PATH で uvx を見つけられないフルパス(例: ~/.local/bin/uvx)を使用するか、~/.zprofile に PATH を設定
接続タイムアウトネットワーク/VPN の問題VPN 接続とファイアウォールルールを確認

ベストプラクティス

  • 最後にまとめてではなく、作業しながら Jira を更新する
  • コメントは簡潔かつ情報量のあるものにする
  • コピーではなくリンクする — PR、テストレポート、ダッシュボードへのリンクを貼る
  • 他の人の意見が必要な場合は @メンションを使う
  • 作業を開始する前に、機能の全体的なスコープを理解するためにリンクされたイシューを確認する
  • 受け入れ基準が曖昧な場合は、コードを書く前に明確化を求める

Frequently asked questions about Jira Integration

Similar skills