2018年6月13日水曜日

GitLab をアップグレードしたら Redmine へのリンクが解除された

勉強の為に転載しました。
http://kuttsun.blogspot.com/2017/11/gitlab-redmine.html?m=1

もともと GitLab の Issue を使わずに Redmine のチケットを使っていたのですが、GitLab を 8.12.1 から 10.1.0 にアップグレード(バージョンアップ)したら、Redmine へのリンクが全て解除されていました。

どうやら最新の GitLab では、GitLab 自体の Issue (Internal Issue) と、外部の BTS/ITS を使った Issue (External Issue) を併用できようになっているらしく、Markdown で #123 と書いた場合、Internal Issue へリンクが貼られるようです。
しかし、前述の通り私の環境ではもともと GitLab の Issue は使っていなかったため、指定した ID の Internal Issue が存在せず、リンクが貼られない状態になっていたようです。
この場合の対策としては以下の2つがあります。

対策方法1 Internal Issue の無効化

とりあえず、以前のように戻したいなら、Internal Issue を無効化すれば OK です。
無効にするには、[Settings] > [General] > [Permissions] を選択し、Issue を Disable にします。
これで、#123 などと書いてある Issue へのリンクが全て Redmine などの External Issue になります。

対策方法2 書き方を変えて Internal Issue を無効化せずに External Issue へリンクする

せっかく Internal Issue と External Issue が併用できるなら、用途に応じて両方を使い分けたいものです。
この場合、以下のページで解説されているように Markdown を書きます。
External Issue へのリンクとしたい場合、<PROJECT>-<ID> と書くそうです。
<PROJECT> 任意の文字列で、必ず大文字で始まる必要があります。
2文字目以降は大文字、数字、アンダースコアが使えるようです。
<ID> は Issue の ID です。
従って、例えば Redmine のチケット番号 123 へのリンクとしたい場合、REDMINE-123 とか TICKET-123 とか書けば External Issue へのリンクなり、#123 と書けば Internal Issue へのリンクとなります。
ただ、任意の文字列っていうのが気に入らないというか、結構困ることがあります。
私の勤めている会社では、製品の型式などで 2文字以上の大文字-数字 というのがあるので、それも Redmine へのリンクだと判別されてしまいます。
両方の Issue を併用できること自体はとても良いのですが。

参考 URL

0 コメント:

コメントを投稿