BitBucketでコミットログをIssueに反映する

ずっとできないものだとばかり思っていたのですが、BitBucketのドキュメントにやり方が書いてありました。

まずはコミットログをIssueに転送するための設定を行います。リポジトリの「Admin」タブの「Service」メニューから連携するサービスにIssueを追加します。Issue以外にもいろんなサービスに連携できるようです。

あとは普通にコミットするのですが、コミットログには書き方にコツがあり、コミットログ中に以下のフォーマットでコマンドとIssueのIDを記述します。

<command> <issue id>

IssueのIDは以下のようにいろんな書き方ができるようです。まあでも「#番号」って書いておけばいい気がする。

#4711
issue 4711
bug 4711
ticket 4711

コマンドには以下のようなものがあります。

close/closed/closes/closing/fix/fixed/fixes # Issueをクローズ
reopen/reopens/reopening                    # クローズされているIssueを再開
addresses/re/references/ref/refs/see        # Issueにコメントを追加するだけ

IssueのIDは以下のような感じで複数書いたりすることもできるみたいです。

"... refs bug #4711 and #4712..."

英語の文章に混ぜて書きやすいよう工夫されているようですが、なんだか逆にわかりにくいような気がします…。複数のIssueのIDを書くときにカンマ区切りでもいいのかとか。あと、冒頭でリンクしているBitBucketのドキュメントのコメントにも要望が上がっていますが、コミットログとIssueの連携はデフォルトで有効になってて欲しいですね。