てくなべ (tekunabe)

ansible / network automation / 学習メモ

Backlog の Git 機能の課題とプルリクエスト連携機能をためした

はじめに

タスク管理ツール(SaaS)である Backlog にはGit ホスティング機能があります。

https://support-ja.backlog.com/hc/ja/categories/360002262194-Git-Subversion

プルリクエスト機能もあるため、課題と関連付けできると経緯をトレースできていいなと思いました。

プルリクエスト画面側で関連課題を手動で選択もできますが、自動で関連付ける方法がいくつかあるようでした。

試したことを簡単にまとめます。

コミットメッセージと課題の連携

コミットメッセージに課題キーを含めると、課題のコメントにコミットメッセージが書き込まれます。

公式サイトから

「コミットと課題を連携する」にチェックを入れると、コミットメッセージに課題キーを含めてコミットすることで、その課題に自動的にコメントを登録できます。

この機能はデフォルトで有効になってました。

なお、課題キーとは課題の識別子で、プロジェクトキー-連番 という形式です。例えば TE-129 というものです。URLの課題の件名の左にも表示されます。コピペにはこのボタンが便利です。

課題キーのコピペ

それでは試してみます。

現状 TE-129 という課題があるものとします。

TE-129 add sakana というメッセージでコミットします。その後 git push します。

無事に、課題 TE-129 のコメントに、コミットメッセージが書き込まれました。

コメントにコミットメッセージが書き込まれた

コミットハッシュをクリックすると差分が表示されて便利です。

差分表示

プルリクエストの件名と関連課題の連携

今度はプルリクエスト時の連携です。

実は先程、ブランチ名に課題キーを含めるという一工夫をしました(add-sakana/TE-129)。「件名」「関連課題」の連携を確かめるためです。

公式サイトから

プルリクエストブランチの名前に、Backlogの課題キーを含めておくと、その課題の件名が「件名」に表示されます

「関連課題」にその課題キーが自動で設定されます。これらの値は変更することもできます

今回は add-sakana/TE-129 のように /課題キー というブランチ名にしましたが、スラッシュには意味はありません。「課題キーを含めておくと」ということなので、他の区切り文字や、課題キーのみのブランチ名でも大丈夫だと思います。

ということで、プルリクエストを出します。

以下のように、自動で件名や関連課題が入りました。この2箇所はブランチ名に課題キーを含めたことによる動作です。

件名と関連課題の自動入力

件名がしっくり来なかったら手動で修正してしまえば良いと思います。

また、プルリクエストに関連課題を設定することで、課題側のプルリクエストが表示され、コメントとしても書き込まれます。

課題側の関連プルリクエス

プルリクエストが作成されたことのコメント

おわりに

修正の経緯を追えるようにしておけるのは、何かと便利ですね。