SourceTree は、Bitbucket や GitHub と接続して、Git クライアントとしてローカルリポジトリとリモートリポジトリに対する操作を行うことができるわけですが、各サービスが備えている Issue Tracking (課題管理 / タスク管理) とも連動させることができます。
どういうことかというと、Git のコミットコメントにおいて、Issue ID を入力する「お作法」はみなさん、やっていると思います。その Issue ID を JIRA や、GitHub Issue, Bitbucket Issue へのハイパーリンクにしてくれるのです。
コミットメッセージ内の JIRA 課題 ID がハイパーリンクになります。ここからこの課題の詳細へ1クリックで飛べるわけです。
その部分だけ拡大しておきましょう。
では、設定方法を見ていきます。
SourceTree の画面右上の [設定] をクリックします。
次に、[高度な設定] タブをクリックします。
「コミット文字列の置換」が今回の設定箇所です。[追加]ボタンをクリックします。
JIRA の場合は、「置換タイプ」に「JIRA プロジェクトへのリンク」がありますので、これを選択します。
「プロジェクトプレフィックス」には、JIRA の課題キーを入力します。
「ホスティング URL」には、JIRA の URL を入力します。
はい、これだけです。これだけで、DEM-22 のような JIRA 課題 ID がハイパーリンクになります。
まず、JIRA は Bitbucket、GitHub と連携することができます。したがって、JIRA と連携することで、上述の SourceTree と JIRA の連動設定しておけばよいと考えることもできます。実際に、GitHub Issue や Bitbucket Cloud Issue を使わずに JIRA で管理されているプロジェクトも多いです。JIRA と連携することで JIRA が持つ多くのメリットを享受することができるからです。
JIRA 課題とブランチ、コミット、プルリクエストが連動できるようになります。Bitbucket と連携の場合は、JIRA からブランチを作成することもできます。
さて、GitHub Issue、Bitbucket Issue との連動は少しコツが必要です。SourceTree では既定で、JIRA と Crucible (どちらも Atlassian 製品) との連動が設定しやすくなっています。「置換タイプ」に選択肢があるということです。それ以外は、「その他」として、正規表現パターンで設定をする必要があります。
(この画面に至る過程は、上述の「SourceTree と JIRA の連動設定」をご覧くださいませ)
あとは、GitHub のお作法に則り正規表現と置き換える URL を含むハイパーリンクの HTML タグを仕込みます。
正規表現パターン:
#(/d{1,})
置換文字列:
<a href="https://github.com/<user name>/<repository name>/issues/$1">#$1</a>
こんな感じでよいでしょう。
結果は、以下のようになります。
ハイパーリンクをクリックすれば、Issue がブラウザにて開きます。
Bitbucket Cloud Issue も同様です。
※この記事は、 https://www.evangelism.jp/articles/sourcetree-with-jira-github-issue/ の転載です。
Tomo
1 comment