SourceTree で JIRA 課題や GitHub や Bitbucket Cloud Issue と連動する方法

SourceTree は、Bitbucket や GitHub と接続して、Git クライアントとしてローカルリポジトリとリモートリポジトリに対する操作を行うことができるわけですが、各サービスが備えている Issue Tracking (課題管理 / タスク管理) とも連動させることができます。

どういうことかというと、Git のコミットコメントにおいて、Issue ID を入力する「お作法」はみなさん、やっていると思います。その Issue ID を JIRA や、GitHub Issue, Bitbucket Issue へのハイパーリンクにしてくれるのです。

2b7ca3d099b19292bb523ae96b52690d

コミットメッセージ内の JIRA 課題 ID がハイパーリンクになります。ここからこの課題の詳細へ1クリックで飛べるわけです。

その部分だけ拡大しておきましょう。

3b9fd5736498a9aacb72865d6a29e3a2

SourceTree と JIRA Software の連動設定

では、設定方法を見ていきます。

SourceTree の画面右上の [設定] をクリックします。

e9be23c1953b1c9c5f618f0b5b40923e

次に、[高度な設定] タブをクリックします。

03d8a5d37b79f6e1793a97547c145d78

「コミット文字列の置換」が今回の設定箇所です。[追加]ボタンをクリックします。

fe3a630974b7205afa93ad82cb94d496

JIRA の場合は、「置換タイプ」に「JIRA プロジェクトへのリンク」がありますので、これを選択します。

「プロジェクトプレフィックス」には、JIRA の課題キーを入力します。

「ホスティング URL」には、JIRA の URL を入力します。

7375465a69209c30ae3902bdbee3c65c

はい、これだけです。これだけで、DEM-22 のような JIRA 課題 ID がハイパーリンクになります。

 

SourceTree と GitHub や Bitbucket Cloud の連動設定

まず、JIRA は Bitbucket、GitHub と連携することができます。したがって、JIRA と連携することで、上述の SourceTree と JIRA の連動設定しておけばよいと考えることもできます。実際に、GitHub Issue や Bitbucket Cloud Issue を使わずに JIRA で管理されているプロジェクトも多いです。JIRA と連携することで JIRA が持つ多くのメリットを享受することができるからです。

JIRA 課題とブランチ、コミット、プルリクエストが連動できるようになります。Bitbucket と連携の場合は、JIRA からブランチを作成することもできます。

img_57d22ea3cf32a

さて、GitHub Issue、Bitbucket Issue との連動は少しコツが必要です。SourceTree では既定で、JIRA と Crucible (どちらも Atlassian 製品) との連動が設定しやすくなっています。「置換タイプ」に選択肢があるということです。それ以外は、「その他」として、正規表現パターンで設定をする必要があります。

ea55b8a02bb115cfc24935f832203cf1

(この画面に至る過程は、上述の「SourceTree と JIRA の連動設定」をご覧くださいませ)

あとは、GitHub のお作法に則り正規表現と置き換える URL を含むハイパーリンクの HTML タグを仕込みます。

2b51d0fe455939f45333a3e793ae3ad8

正規表現パターン:

#(/d{1,})

置換文字列:

<a href="https://github.com/<user name>/<repository name>/issues/$1">#$1</a>

こんな感じでよいでしょう。

結果は、以下のようになります。

fdb0f1e17febb60d030f6aaf725789cb

ハイパーリンクをクリックすれば、Issue がブラウザにて開きます。

c5cd3d0585ddcc623f698a8105f7b166Bitbucket Cloud Issue も同様です。

※この記事は、 https://www.evangelism.jp/articles/sourcetree-with-jira-github-issue/ の転載です。

 

1 comment

mune-ando May 7, 2020

MacでSourceTreeとRedmineとの連携をやってみました。SourceTreeのコミットメッセージの置換で

置換タイプ : その他
正規表現パターン : #(\d+) と置き換えます : <a href="https://[redmineのドメイン]/issues/$1">#$1</a>

とすると、コミットメッセージ内で正常にリンクで置換されるのですが、リンクをクリックするとブラウザが起動せずに、SourceTree内でRedmineの該当チケットが表示されてしまします。

何か、ブラウザを起動させる方法があるのでしょうか?

Windowsでは、メッセージの置換ではなくてリンクなのですね。Windowsでは無事にブラウザが起動してRedmineのチケットページが表示できています。

Comment

Log in or Sign up to comment
TAGS
AUG Leaders

Atlassian Community Events