mcpField
J
jira-expert

jira-expert

github.com/alirezarezvani生産性28.9k827 回インストール2 日前に更新
リポジトリ

jira-expert について

jira-expertは、Jiraのプロジェクト運用を支援するスキルで、JQL検索、ワークフロー設計、自動化、レポートを扱います。スクリプトとAtlassian Remote MCPツールを併用し、一部の設定はJiraのWeb UIまたはREST APIで行います。

主な機能

  1. 01自然言語からJQLを作成
  2. 02ワークフロー設計の問題点を検証
  3. 03課題・フィールド・遷移の操作を支援
  4. 04ダッシュボード・自動化・レポートの手順

活用シーン

  1. 01期限超過の課題や担当中のバグを検索
  2. 02プロジェクトのワークフローを設計・検証
  3. 03スプリントや複数プロジェクトのレポート作成

MCP 対応

Atlassian Remote MCPツールを使い、Jira課題の検索、作成、編集、コメント、遷移を実行します。プロジェクト作成やワークフロー設定など一部の機能はMCPから利用できず、Web UIまたはREST APIが必要です。

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/alirezarezvani/claude-skills --skill jira-expert

インストール後、Claude Code で/jira-expertを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

references/
automation-examples.md
AUTOMATION.md
jql-examples.md
WORKFLOWS.md
scripts/
jql_query_builder.py
workflow_validator.py

詳細

Atlassian Jira エキスパート

Jira の設定、プロジェクト管理、JQL、ワークフロー、自動化、レポート作成に関するマスターレベルの専門知識を備えています。Jira のあらゆる技術面および運用面に対応します。

クイックスタート — よくある操作

このスキル内の MCP の例では、実際の Atlassian Remote MCP ツールを使用します(camelCase 形式で、mcp__atlassian__<toolName> として公開されています)。正式なツール一覧は project-management/references/atlassian-mcp-tools.md です。ツール名を決して作り出さないでください。機能が一覧にない場合、MCP では利用できません。

課題を作成する(最初に getAccessibleAtlassianResources を一度呼び出して cloudId を取得します):

mcp__atlassian__createJiraIssue (cloudId, projectKey="MYPROJ", issueTypeName="Story", summary="My new story")

JQL クエリを実行する(付属のスクリプトで自然言語から JQL を組み立ててから実行します):

python3 scripts/jql_query_builder.py "high priority bugs assigned to me"
# → emits validated JQL, e.g.: assignee = currentUser() AND type = Bug AND status != Done
mcp__atlassian__searchJiraIssuesUsingJql (cloudId, jql="project = MYPROJ AND status != Done AND dueDate < now()")

プロジェクトを作成する:MCP では利用できません。Jira のウェブ UI(Projects > Create project)または REST API(POST /rest/api/3/project)を使用してください。

ツールの全リファレンスについては、Atlassian MCP Integration を参照してください。JQL 関数については、JQL Functions Reference を参照してください。レポートのテンプレートについては、Reporting Templates を参照してください。


ワークフロー

プロジェクトの作成

プロジェクトの作成はMCP では利用できません。手順 2~6 は Jira のウェブ UI(Projects > Create project)または REST API(POST /rest/api/3/project)で実行してください。作成後、mcp__atlassian__getVisibleJiraProjects で表示を確認し、mcp__atlassian__getJiraProjectIssueTypesMetadata で課題タイプを確認してください。

  1. プロジェクトの種類(Scrum、Kanban、Bug Tracking など)を決定します
  2. 適切なテンプレートを使ってプロジェクトを作成します(ウェブ UI/REST)
  3. プロジェクト設定を構成します:
    • 名前、キー、説明
    • プロジェクトリーダーとデフォルトの担当者
    • 通知スキーム
    • 権限スキーム
  4. 課題タイプとワークフローを設定します
  5. 必要に応じてカスタムフィールドを設定します
  6. 初期ボード/バックログビューを作成します
  7. 引き継ぎ先:チームのオンボーディングを担当するスクラムマスター
ワークフローの設計

ワークフロー/スキームの編集はMCP では利用できません。Jira Settings > Issues > Workflows で設定してください。付属のバリデーターを使用して、デプロイ前にアンチパターンを検出してください。

  1. プロセスの状態(To Do → In Progress → Done)を整理します
  2. トランジションと条件を定義します
  3. Jira で作成する前に、設計をチェックします:
    python3 scripts/workflow_validator.py workflow.json --format json
    
    入力:ワークフローの states と transitions を含む JSON ファイルです。出力を確認し、報告されたアンチパターン(行き止まりの状態、到達できない状態、欠落したトランジション)をすべて修正してから、Jira での作業に進みます。
  4. バリデーター、事後関数、条件を追加し、ワークフロースキームを構成します(ウェブ UI)
  5. 検証:まずテスト用プロジェクトにデプロイします。本番プロジェクトに関連付ける前に、すべてのトランジション、条件、事後関数が想定どおりに動作することを確認します
  6. ワークフローをプロジェクトに関連付けます
  7. サンプル課題でワークフローをテストします。MCP では、サンプル課題に対して mcp__atlassian__getTransitionsForJiraIssue を実行し、想定したトランジションが表示されることを確認してから、mcp__atlassian__transitionJiraIssue で課題をワークフローに沿って進めます
JQL クエリの作成

まず付属のビルダーを使用します。自然言語にパターンを照合して、検証済みの JQL を生成します:

python3 scripts/jql_query_builder.py "high priority bugs assigned to me" --format json
python3 scripts/jql_query_builder.py --patterns   # list all supported query patterns

出力を確認し、JSON 結果の jql フィールド(またはテキストモードの GENERATED JQL ブロック)を取り出して、mcp__atlassian__searchJiraIssuesUsingJql (cloudId, jql=<generated>) で実行します。ビルダーで一致するパターンが見つからない場合は、以下のリファレンスを使って JQL を手動で作成します。

基本構造:field operator value

よく使う演算子:

  • =, !=:等しい、等しくない
  • ~, !~:含む、含まない
  • >, <, >=, <=:比較
  • in, not in:リスト内にある、リスト内にない
  • is empty, is not empty
  • was, was in, was not
  • changed

便利な JQL の例:

期限切れの課題を検索する:

dueDate < now() AND status != Done

スプリントのバーンダウン対象の課題:

sprint = 23 AND status changed TO "Done" DURING (startOfSprint(), endOfSprint())

長期間更新されていない課題を検索する:

updated < -30d AND status != Done

プロジェクトをまたいでエピックを追跡する:

"Epic Link" = PROJ-123 ORDER BY rank

ベロシティを計算する:

sprint in closedSprints() AND resolution = Done

チームのキャパシティ:

assignee in (user1, user2) AND sprint in openSprints()
ダッシュボードの作成
  1. 新しいダッシュボードを作成します(個人用または共有用)
  2. 関連するガジェットを追加します:
    • フィルター結果(JQL ベース)
    • スプリントバーンダウン
    • ベロシティチャート
    • 作成済みと解決済み
    • 円グラフ(ステータスの分布)
  3. 見やすいレイアウトに配置します
  4. 自動更新を設定します
  5. 適切なチームと共有します
  6. 引き継ぎ先:シニア PM またはスクラムマスター(利用担当)
自動化ルール
  1. トリガーを定義します(課題の作成、フィールドの変更、スケジュール設定)
  2. 条件を追加します(該当する場合)
  3. アクションを定義します:
    • フィールドを更新する
    • 通知を送信する
    • サブタスクを作成する
    • 課題をトランジションする
    • コメントを投稿する
  4. サンプルデータを使って自動化をテストします
  5. 有効化して監視します

高度な機能

カスタムフィールド

作成するタイミング:

  • 標準フィールドにないデータを追跡する
  • プロセス固有の情報を収集する
  • 高度なレポートを可能にする

フィールドタイプ:テキスト、数値、日付、選択(単一/複数/カスケード)、ユーザーピッカー

設定:

  1. カスタムフィールドを作成します
  2. フィールドコンテキストを設定します(対象のプロジェクト/課題タイプ)
  3. 適切な画面に追加します
  4. 必要に応じて検索テンプレートを更新します
課題のリンク

リンクタイプ:

  • ブロックする/ブロックされている
  • 関連する
  • 重複する/重複されている
  • クローンする/クローンされている
  • エピックとストーリーの関係

ベストプラクティス:

  • 機能をグループ化するにはエピックリンクを使用します
  • 依存関係を示すにはブロックリンクを使用します
  • コメントにリンクの理由を記録します
権限とセキュリティ

権限スキーム:

  • プロジェクトの閲覧
  • 課題の作成/編集/削除
  • プロジェクトの管理
  • スプリントの管理

セキュリティレベル:

  • 機密性の高い課題の表示範囲を定義します
  • 機密データへのアクセスを制御します
  • セキュリティの変更を監査します
一括操作

一括変更:

  1. JQL を使って対象の課題を検索します
  2. 一括変更操作を選択します
  3. 更新するフィールドを選択します
  4. 検証:実行前にすべての変更をプレビューし、JQL フィルターが意図した課題のみを対象としていることを確認します。一括編集は元に戻すのが困難です
  5. 実行して確認します
  6. バックグラウンドタスクを監視します

一括トランジション:

  • 複数の課題をワークフロー内で移動します
  • スプリントの整理に便利です
  • 適切な権限が必要です
  • 検証:大規模に適用する前に、JQL フィルターを実行し、少量の結果ごとに内容を確認します

JQL 関数リファレンス

ヒント:複雑な JQL をその場で何度も実行するのではなく、頻繁に使うクエリは名前付きフィルターとして保存します。パフォーマンスに関するガイダンスは、ベストプラクティスを参照してください。

日付:startOfDay()、endOfDay()、startOfWeek()、endOfWeek()、startOfMonth()、endOfMonth()、startOfYear()、endOfYear()

スプリント:openSprints()、closedSprints()、futureSprints()

ユーザー:currentUser()、membersOf("group")

高度な関数:issueHistory()、linkedIssues()、issuesWithFixVersions()

レポートテンプレート

ヒント:これらの JQL スニペットは共有フィルターとして保存するか、ダッシュボードのガジェットに直接組み込めます(ダッシュボードの作成を参照)。

レポートJQL
スプリントレポートproject = PROJ AND sprint = 23
チームのベロシティassignee in (team) AND sprint in closedSprints() AND resolution = Done
バグの傾向type = Bug AND created >= -30d
ブロッカー分析priority = Blocker AND status != Done

判断フレームワーク

Atlassian 管理者にエスカレーションするタイミング:

  • 新しいプロジェクト権限スキームが必要な場合
  • 組織全体に適用するカスタムワークフロースキームが必要な場合
  • ユーザーのプロビジョニングまたはプロビジョニング解除が必要な場合
  • ライセンスまたは請求に関する質問がある場合
  • システム全体の設定を変更する場合

スクラムマスターと連携するタイミング:

  • スプリントボードの設定
  • バックログの優先順位付けビュー
  • チーム固有のフィルター
  • スプリントレポートのニーズ

シニア PM と連携するタイミング:

  • ポートフォリオレベルのレポート
  • プロジェクト横断ダッシュボード
  • 経営層向けの可視化ニーズ
  • 複数プロジェクト間の依存関係

ハンドオフプロトコル

Senior PM から:

  • プロジェクト構成の要件
  • ワークフローとフィールドのニーズ
  • レポート要件
  • 統合のニーズ

Senior PM へ:

  • プロジェクト横断のメトリクス
  • 課題の傾向とパターン
  • ワークフローのボトルネック
  • データ品質に関する知見

スクラムマスターから:

  • スプリントボードの設定依頼
  • ワークフロー最適化のニーズ
  • バックログのフィルタリング要件
  • ベロシティ追跡の設定

スクラムマスターへ:

  • 設定済みのスプリントボード
  • ベロシティレポート
  • バーンダウンチャート
  • チームのキャパシティビュー

ベストプラクティス

データ品質:

  • フィールドの検証ルールを使用して必須フィールドを徹底します
  • プロジェクトの種類ごとに、一貫した課題キーの命名規則を使用します
  • 古い課題や孤立した課題を定期的に整理します

パフォーマンス:

  • JQL で先頭にワイルドカードを使用しないでください(大きなテキストフィールドに対する ~ は処理コストが高くなります)
  • 複雑な JQL をその都度再実行する代わりに、保存済みフィルターを使用します
  • ページの読み込み時間を短縮するため、ダッシュボードのガジェットを制限します
  • 履歴を保持するため、完了したプロジェクトは削除せずにアーカイブします

ガバナンス:

  • カスタムワークフローのステータスとトランジションを設定する理由を記録します
  • 変更を加える前に、権限スキームとワークフロースキームをバージョン管理します
  • 組織全体に適用されるスキームを更新する際は、変更管理レビューを必須にします
  • ユーザーロールを変更した後に、権限監査を実施します

Atlassian MCP 統合

主要ツール:Atlassian Remote MCP server(バンドルされた .mcp.json、サーバーキー atlassian)。ツールは mcp__atlassian__<toolName> として表示されます。正規のツール一覧:project-management/references/atlassian-mcp-tools.md。ツール名を決して創作しないでください。機能がその一覧にない場合は、Web UI/REST API に案内してください。

主な操作の呼び出し例(mcp__atlassian__getAccessibleAtlassianResources を使って cloudId を一度取得します):

課題の作成(最初に getJiraIssueTypeMetaWithFields で必須フィールドを確認します):

mcp__atlassian__createJiraIssue (cloudId, projectKey="MYPROJ", issueTypeName="Story", summary="My new story")

JQL クエリの実行:

mcp__atlassian__searchJiraIssuesUsingJql (cloudId, jql="project = MYPROJ AND status != Done AND dueDate < now()")

課題フィールドの更新:

mcp__atlassian__editJiraIssue (cloudId, issueIdOrKey="MYPROJ-42", fields=<payload — discover via tool schema>)

課題のトランジション(ステータスの変更にはフィールド編集ではなく、トランジションを使用します):

mcp__atlassian__getTransitionsForJiraIssue (cloudId, issueIdOrKey="MYPROJ-42")
mcp__atlassian__transitionJiraIssue (cloudId, issueIdOrKey="MYPROJ-42", transition=<id from previous call>)

コメント/作業の記録/課題のリンク:

mcp__atlassian__addCommentToJiraIssue (cloudId, issueIdOrKey="MYPROJ-42", body="...")
mcp__atlassian__addWorklogToJiraIssue (cloudId, issueIdOrKey="MYPROJ-42", timeSpent=<discover via tool schema>)
mcp__atlassian__createIssueLink (cloudId, link type from mcp__atlassian__getIssueLinkTypes)

MCP では利用できません。代わりに Web UI または REST API を使用してください:

  • プロジェクトの作成 → Jira UI の Projects > Create project または POST /rest/api/3/project
  • スプリントの作成またはボードの設定 → Jira Software UI または POST /rest/agile/1.0/sprint
  • フィルターの作成/共有 → Jira UI の Filters > Save as または POST /rest/api/3/filter
  • カスタムフィールド、画面、ワークフロー/権限スキーム → Jira 管理 UI

統合ポイント:

  • Senior PM のレポート用にメトリクスを取得します
  • スクラムマスター向けにスプリントボードを設定します
  • Confluence エキスパート向けにドキュメントページを作成します
  • テンプレート作成者のテンプレート作成を支援します

関連スキル

  • Confluence エキスパート(project-management/confluence-expert/)— ドキュメントは Jira ワークフローを補完します
  • Atlassian 管理者(project-management/atlassian-admin/)— Jira プロジェクトの権限とユーザーを管理します

コメント