Autolinksを使ってGitHubから外部サービスへの参照リンクを効率よく作成してみる

GitHubから外部サービスへの参照リンクを効率よく挿入するのに便利なAutolinksを使ってみました。
2021.09.09

GitHubには自動リンクが貼られるAutolinksがあります。IssueやPRで #XXX と書き出すことで他のIssueやPRと結び付けられる機能です。個人的にあまり見かけませんが、他にも以下のキーがあります。

  • GH
  • ユーザ名/リポジトリ#
  • Organizations/リポジトリ#

これが兎に角便利なこともあってソースコード管理にはGitHubを推していますが、他のサービスに対してAutolinksがあるといいのにと思っていました。

実はありました。それも結構前から。有料プラン(GitHub Pro、GitHub Team、GitHub Enterprise Cloud、GitHub Enterprise Server)のみ利用可能です。具体的な設定例と気をつけるべき点についてまとめました。

リポジトリのSettingsからAutolink referencesを選択します。

Referenceのprefixは以下の制限があります。

  • 最初の1文字はアルファベット(大文字と小文字の混合も可)
  • 2文字目以降使えるのはアルファベット(大文字と小文字の混合も可)と -:/#
  • 最低3文字
  • 末尾に#は必須ではない(付けておくと分かりやすい)
  • アンダースコアは使えない

具体例としては次のような構成です。

backlog#

TargetURLには置換するURLを指定します。参照番号を入れる箇所に <num>を指定します。

具体例としては次のような構成です。

https://test.backlog.jp/view/PROJECTKEY-<num>

適合する場合は以下のような表示がでてきます。

実際に追加すると以下のようになります。

実際にカスタムAutolinksを利用してみる

ReferenceのPrefixとマッチすると、該当テキストに対してTargetURLがリンクとして追加されます。

backlog#1

外部サービスをAutolinksとして追加する

条件としては参照用のキーが番号のみで構成されている前提となります。

上記で挙げていますがBacklogを一例にしてみます。プロジェクトキー先頭三文字内にアンダースコアを含めている場合は短縮が難しくなります。その場合はわかりやすく backlog# 等で指定したほうがよいかもしれません。

あとがき

あくまでもリンクが追加されるだけで、リンク先のアクセスが確保されているわけではありません。日頃から使っているサービスのリンクで、構成がAutolinksの条件とマッチしている場合はいくらか手間が減ります。

確認して出来そうであれば試してみるのも手でしょう。