GitHub

JiraとGitHubを連携する方法|GitHub for Jiraで課題キー・スマートコミット設定

JiraとGitHubを連携すると、ブランチ・コミット・プルリクエストがJiraの課題(作業項目)に自動でひも付き、開発の進み具合をJira側から追えるようになる。連携の中心は、Atlassianが無料で提供する公式アプリ「GitHub for Jira」だ。この記事では、公式アプリの導入手順、コミットやPRを課題にリンクする課題キーとスマートコミットの書き方、公式アプリ・旧DVCS・サードパーティの使い分け、そして「連携したのに表示されない」ときの切り分けまでをまとめる。対象はJira CloudとGitHub(Cloud/Enterprise Server)の組み合わせを前提とする。

まとめ:GitHub for Jiraアプリ+課題キーが連携の基本形

JiraとGitHubの連携は、次の3点を押さえれば動く。

  • 導入:Jira Cloudに公式アプリ「GitHub for Jira」(無料)を入れ、GitHub組織を接続してリポジトリを選ぶ。
  • リンク:ブランチ名・コミットメッセージ・PRタイトルにJiraの課題キー(例 DEV-123)を書くと、Jira課題の開発パネルにブランチ・コミット・PR・ビルド・デプロイが表示される。
  • 操作:スマートコミットを有効化すると、コミットメッセージから #comment(コメント)・#time(工数記録)・#close などのステータス遷移をまとめて実行できる。

連携方式は公式アプリのほかに旧DVCSコネクターとサードパーティ製アプリがあるが、Jira Cloud+GitHubの新規構築では公式「GitHub for Jira」を選べばよい。旧DVCSコネクターはレガシー扱いで、これから採用する理由はない。

JiraとGitHubを連携してできること(開発パネルによる双方向トレーサビリティ)

連携の実体は、Jira課題とGitHubの開発活動を課題キーでひも付け、双方向にたどれるようにすることだ。課題キーを含むブランチ・コミット・PRを作ると、対応するJira課題に「開発」パネルが現れ、そこにブランチ、コミット、プルリクエスト、ビルド、デプロイの状況が集約される。レビュー中のPRやマージ済みかどうかを、Jiraのボードや課題画面から離れずに確認できる。

逆方向として、GitHubのissueやPRのコメントに角かっこ付きで課題キーを書く(例 [DEV-123])と、その文字列が対応するJira課題へのリンクに変換される。結果として「Jiraのどのタスクが、GitHubのどのコード変更で実装されたか」を、担当者・レビュアーの双方が同じ事実として追える。仕様変更の経緯を後から掘り起こす調査コストや、進捗報告のための手作業の転記が減るのが実利だ。

GitHub for Jiraアプリで連携する設定手順(Marketplace導入から接続まで)

Jira Cloud側の管理者権限と、GitHub組織のオーナー(またはアプリ承認権限)があれば、数分で接続できる。手順は次のとおり。

  1. Jiraの 設定 → アプリ → 新しいアプリを探す で「GitHub for Jira」を検索し、インストールする(Atlassian Marketplace提供・無料)。
  2. アプリの管理画面で 「GitHub組織を接続(Connect GitHub organization)」 を選ぶ。
  3. GitHubに遷移し、GitHubアプリのインストールを承認する。GitHub Enterprise Serverを使う場合は、接続先としてEnterpriseのホストを指定する。
  4. 連携するリポジトリを すべて特定のリポジトリのみ かで選択する。後から追加・変更もできる。
  5. 接続が完了すると、選んだリポジトリの開発情報がJiraに送られ始める。以降は課題キーを書くだけで開発パネルに反映される。

接続はGitHub App方式のため、個人のアクセストークンを配布・管理する必要がない。組織単位で権限を絞り、退職者のトークン失効漏れといった運用リスクを避けられる。

コミット・ブランチ・PRをJira課題にリンクする(課題キーとスマートコミット)

連携の設定が済んでも、開発情報が自動でJiraに現れるわけではない。ひも付けの鍵は、変更に必ず課題キーを載せることだ。まず基本の自動リンクを押さえ、そのうえでスマートコミットで操作まで自動化する。

課題キーで開発情報を自動表示する(ブランチ・コミット・PR・コメント)

課題キーは「プロジェクトキー+番号」(例 DEV-123)で、次のいずれかに含めればJira課題の開発パネルに反映される。

# ブランチ名の先頭に課題キーを入れる
git switch -c DEV-123-add-login

# コミットメッセージの先頭に課題キーを入れる
git commit -m "DEV-123 ログイン画面を実装"

プルリクエストは、タイトルか説明文に課題キーを含めればよい。GitHubのissueやPRのコメント本文では、[DEV-123] のように角かっこで囲むとJira課題へのリンクになる。運用のコツは、ブランチを切る時点でキーを付けること。ここで付け忘れると、後続のコミットもPRも紐付かず、開発パネルが空のままになる。

スマートコミットでコメント・工数・ステータスを操作する(#comment / #time / #transition)

スマートコミットを使うと、コミットメッセージからJira課題を操作できる。構文は <課題キー> #コマンド 引数 で、主なコマンドは3つ。

  • #comment:課題にコメントを追加する。
  • #time:作業時間を記録する。1w 2d 4h 30m(週・日・時・分)の形式で書く。
  • #close#resolve などの遷移名:課題のステータスをワークフロー上の対応する状態へ移す。
DEV-123 #comment レビュー指摘を反映 #time 2h #close

この1行で、課題DEV-123にコメントを追加し、2時間の工数を記録し、ステータスを「完了」へ遷移させられる。複数の課題キーを並べて同時に操作することもできる。スマートコミットは連携済みリポジトリで既定で有効になっており、リポジトリ単位で有効・無効を切り替えられる(切り替え場所は連携方式で異なるため、無効化されている場合は公式ドキュメントで確認する)。GitHub連携で最もつまずきやすいのはメール設定だ。GitHub側で「メールアドレスを非公開にする(Keep my email addresses private)」が有効だと、Jiraがコミット作者を特定できずコマンドが無視される。連携に使うメールを公開設定にし、かつ対象操作の権限を持つJiraユーザーと一致させる必要がある。

連携方式の選び方(公式アプリ・DVCSコネクター・サードパーティの比較)

JiraとGitHubをつなぐ方式は主に3つある。結論から言えば、Jira Cloud+GitHubの新規連携は公式「GitHub for Jira」で確定してよい。旧DVCSコネクターを新規に選ぶ理由はなく、サードパーティは特定の要件がある場合の選択肢だ。

方式 提供元 費用 向いているケース
GitHub for Jira(公式アプリ) Atlassian 無料 Jira Cloud+GitHubの標準的な連携。まず第一候補
DVCSコネクター(旧方式) Atlassian 無料 過去の設定が残る場合のみ。新規採用は非推奨
Git Integration for Jira 等 サードパーティ 有料 高度なスマートコミット制御や自己管理環境で細かい要件がある場合

公式アプリはGitHub App方式で権限管理が組織単位に閉じ、Enterprise Serverにも対応する。サードパーティ製(GitKrakenのGit Integration for Jiraなど)は、独自リポジトリのホスティングや、公式より細かいスマートコミットの制御が必要なチームで検討する価値がある。逆に、標準的な使い方でサードパーティを入れると、費用と管理対象を無駄に増やすだけになる。

連携が表示されないときの切り分け(課題キー・権限・アプリ設定)

「連携したのに開発パネルに何も出ない」「スマートコミットが効かない」ときは、次の順で確認すると原因を絞り込める。

  • 課題キーの表記:ブランチ・コミット・PRに正しいキー(DEV-123 形式)が入っているか。プロジェクトキーの綴り違いや番号抜けは反映されない。
  • 対象リポジトリ:接続時に「特定のリポジトリのみ」を選んでいて、そのリポジトリが対象外になっていないか。
  • スマートコミットの有効化:対象リポジトリでスマートコミットが有効か(既定は有効。無効化されていないか)。無効だとコマンドは無視される。
  • コミッターのメール設定:GitHub側で「メールアドレスを非公開にする」が有効になっていないか。非公開のままだとJiraが作者を特定できない。公開設定にし、権限を持つJiraユーザーのメールと一致させる。
  • 反映のタイムラグ:pushや承認の直後は反映まで数十秒〜数分かかることがある。設定を疑う前に少し待って再読み込みする。

連携をチーム全体で機能させるには、ブランチ名に課題キーを含める命名規則をルール化するのが効く。個人任せにすると付け忘れが必ず出て、開発パネルが歯抜けになる。アジャイル開発でボード運用する場合の役割分担は、スクラム開発とは?進め方・役割・メリット・デメリットをわかりやすく解説も参考になる。

よくある質問

Q. JiraとGitHubの連携は無料でできますか。
A. できる。公式アプリ「GitHub for Jira」はAtlassian Marketplaceで無料提供されている。追加費用が発生するのは、サードパーティ製アプリを使う場合だけだ。

Q.「jira git 連携」と「jira github 連携」は違いますか。
A. 実質同じ設定で対応できる。GitHubはGitリポジトリのホスティングサービスなので、GitHubを使っているなら公式「GitHub for Jira」アプリで連携する。GitLabやBitbucketなど別のホスティングでは、それぞれ対応する連携方式が必要になる。

Q. GitHub Enterprise ServerでもJiraと連携できますか。
A. できる。公式アプリはGitHub CloudだけでなくEnterprise Serverにも対応しており、接続時に自社のEnterpriseホストを指定する。

Q. スマートコミットが反映されません。
A. まずGitHub側で「メールアドレスを非公開にする」が有効になっていないか確認する。非公開だとJiraが作者を特定できず、コマンドが無視される。公開設定にし、対象操作の権限を持つJiraユーザーのメールと一致させる。次に、対象リポジトリでスマートコミットが無効化されていないかを確認する。この2点が原因の大半を占める。

Q. 連携後に開発を自動化するにはどうしますか。
A. GitHub Actionsを併用すると、課題にひも付いたコミットからビルドやテスト、デプロイまで自動化でき、その結果もJiraの開発パネルに表示できる。設定はGitHub Actionsでビルド・自動テストを設定する方法|CI/CDワークフローの作り方で解説している。

関連記事

資料請求

RELATED POSTS 関連記事