ご安全に!
GitHub RepositoryのSettingあたりを眺めてたら、Autolink referenceという設定を見つけました。
こう、開発者以外はGitHubを見てなくて、やり取りにはRedmineとか他のプロジェクト管理ツールを使っていて、Redmineに開発周りのこまごましたチケットは登録したくないからそこはGitHub Issueを使っているけど、Redmineのチケットへのリンクを貼っておきたい。
みたいなケースはよくあると思います。あるんだ、察して。

そんな時に、Autolink referenceを使えば手間が少し減るかも、という話です。


設定方法

リポジトリの設定画面からたどります。
[settings]の中に[Autolink refenreces]というのがあるのでそれです。
settings
そうすると下のような画面になるので、[Add autolink refernce]をクリックして新規作成画面を開きます。
autolink
create-new
あとは、prefixとTarget URLを設定します。
ここのprefixは、IssueとかPull Requestとかcommitとかコメントとかのメッセージ欄に出てきて、数字を続けて書いたら自動的にリンクになるので、うっかり使ってしまわないようなものを指定しておいたほうが無難です。
Redmineのチケットを登録するなら、
prefixは「RMT-」とかにして、Target URLは「https://redmine.example.com/issue/<num>」みたいな指定になると思います。

Target URLのサンプルに[<num>]とあるように、チケット番号を数字で管理しているものしか指定できないので注意しましょう。

今回は適当なRedmineがいなかったので、急遽GitLabの昔作って放置してたプロジェクトを引っ張り出してきて、それを設定してみました。
GitLabへのリンクなので、prefixを「GL-」、Target URLは「https://gitlab.com/ryosms/my-docker-compose/issues/<num>」という設定をしたものが↓になります。
autolink-settle

Issue Templateの設定

ここまでできたらついでにIssue Templateの設定もしておくとIssue登録する際に「アレ?AutolinkのPrefixなんだっけ?」にならないので親切ですね。ユーザー目線を忘れないようにしましょう。
Issue Templateの設定は[setting] → [Options]の半ばにあります。「Set up templates」ボタンから行きましょう。
設定の仕方は各自ググってください。(というか、このエントリを見てるような人は画面見ればだいたいわかるんじゃないでしょうか)
issue-template


成果物

というわけで、このあたりの設定をおこなったのが↓のリポジトリになります


動きの確認とかでIssue登録したりなんしたりはご自由にどうぞ。
ただし、Pull Requestとか送られても気分によっては対応しないかもしれません。