JIRAの公式ドキュメントを見つつもそこそこはまったので備忘録を残します。
1. 手順概要
- GitHubのユーザーのSettingsから新規のJIRA用のOAuth Applicationを作成
- JIRAの管理画面で、GitHubで作成したOAuthのアプリのTokenをDVCS用に登録
- DVCSのリポジトリ設定画面で、JIRAと同期させたいプロジェクトを選択
- smart commitsを利用
2. 実施結果
2-1. GitHubのユーザーのSettingsから新規のJIRA用のOAuth Applicationを作成
Personal settings > OAuth applications > Developer applications
で新規にOauth Applicationを登録します。
からの、
Developer applicationタブを開いて、右上のRegisterボタンを押下
成功すると、Client IDとClient Secretが発行されるので控えを取得します。(これは何度も参照できるので、いったん画面を閉じても問題ありません)
2-2. JIRAの管理画面で、GitHubで作成したOAuthのアプリのTokenをDVCS用に登録
ここで、日本語ブログ等だとちょっと情報鮮度がひくくハマりました。。
JIRAの管理画面で「アプリケーション」タブの中にある、[DVCS accoutns]を選択します。
この際に、先ほど控えたClient IDとCelint Secretが必要になってきます。
2-3. DVCSのリポジトリ設定画面で、JIRAと同期させたいプロジェクトを選択
設定が終わると、リポジトリの一覧が上記のように表示されます。
ここで、JIRAと連携させたいプロジェクトを選択することになります。
2-4. smart commitsを利用
smart commitsの公式ドキュメントにあるように、コミットメッセージにJIRAの課題番号等の情報を格納してあげると、コミットリンクがJIRAの課題に紐づくようになります。
ここで注意点が2つありました。
- commitをする際のgitのuser.emailはJIRAのアカウントと同様である必要がある。(GitHubと同じemailアドレスを使ってない場合はGitHub側に登録が必要)
- smart commitsの内容が同期されるのは1時間に1回でシステム設定によっては変更不可。ブラウザ経由による手動同期は可能の模様。
仕様として、以下が可能となっています。
-
JIRAの課題のアクティビティへのcommentsをgitのコミットメッセージとして利用させる
-
JIRAの課題の時間計上をgitのコミットメッセージ中の時間埋込によって実現できる
-
JIRAの課題のステータスをgitのコミットメッセージ中のステータスについての埋込文言で実現できる
-
PRを作成し、それがJIRA課題に紐付くコミットを含んでいる場合、JIRAからPRへのリンクが見える
イメージとしては以下のようになります。
これは便利ですね^^
3. 所感
- 1時間に1回しか同期されないのはちょっと微妙ですが、こと開発だけならGitHubで行い、あとからどのくらい時間がかかったか、とか、どの程度のコミットがあったか、をサマって見るのをJIRAと割り切れれば特に気にならないかな、とも思いました。
- JIRA自体も進化しており、すぐにブログ等の情報鮮度が落ちていってるような気がしました。
- artifactory等の成果物管理系との連携についても気になるところです^^
- こういうのをさくっと使いこなせるようになりたいものです(><)
本日は以上となります。