Jenkins から BitBucket への通知時にビルドログへのリンクが付与されなくなった

ドーモ、エンジニア=サン。Jenkinsおじさんです。

JenkinsからBitBucketのプルリクエストにコメントをする時に、JenkinsサーバーのURLが表示されなくなっていたのを修正したのでメモ。

 

前回の記事はこちら。

kdnakt.hatenablog.com

 

 

[問題:プルリクエストコメントのリンク破損]

ある日、Jenkins(ver 2.150.2)がBitBucketのプルリクエストに残したコメントをみていると、なんだか異様に目立つ黒い文字があることに気がついた。

画像のように「PLEASE SET JENKINS ROOT URL FROM GLOBAL CONFIGURATION」と書かれている。

f:id:kidani_a:20190412002738p:plain

 

本来であれば、このように「BUILD SUCCESS」の部分がビルドジョブのログ画面へのリンクになっているはずなのに、エラーメッセージが表示されてしまっている。

f:id:kidani_a:20190412002902p:plain

 

以前は確か問題なかったはずだから、設定が消えていることもないだろうと思い、Jenkinsの設定を確認してみる。

 

Jenkinsの左メニューから「Manage Jenkins」を選択すると、管理系のメニューが表示される。先ほどのエラーメッセージでは「GLOBAL CONFIGURATION」からルートURLを設定しろ、とあったので、説明文にglobalを含む「Configure System」をクリックする。

f:id:kidani_a:20190412005207p:plain

 

いくつかの無関係な設定を読み飛ばしていくと、確かにJenkins URLという項目があり、このJenkinsサーバーのURLで設定がなされていた(画像はサンプルであり設定値は適当である)。

f:id:kidani_a:20190412005521p:plain

 

[解決策:Stash Pullrequest Builderを1.8に更新する]

よく分からなかったのでおとなしく該当のエラーメッセージをGoogle先生に投げると、Jenkinsの課題管理をしているJIRAにたどりついた(JIRAはBitBucketの姉妹製品である)。

issues.jenkins-ci.org

 

曰く、Jenkinsを古いバージョン(ver 2.138.3)に戻すか、Stash Pullrequest Builder というプラグインが修正されたので、プラグインを更新しろ、と。

リンクを辿ってみると、確かにプルリクエストがマージされて問題が修正されているようだった。そしてこの修正は同プラグインのバージョン1.8以降に含まれているらしい。

github.com

 

[手順詳細]

JenkinsのPlugin Managerのページを開きFilter欄に「pull」と入力すると、確かにStash Pullrequest Builderは、先ほどの修正がマージされる前のバージョン1.7.0がインストールされていることが確認できた。

f:id:kidani_a:20190412010801p:plain

 

Stash Pullrequest Builderの左のチェックボックスにチェックを入れ、「Download now and install after restart」のボタンをクリックする。

最新のプラグインをダウンロード中のキャプチャは撮り損ねたが、ダウンロードが完了すると次のような画面が表示される。

f:id:kidani_a:20190412011028p:plain

 

Jenkinsを再起動すると最新バージョンのプラグインが有効になるとのことなので、「Restart Jenkins when installation is complete and no jobs are running」の左側のチェックボックスをクリックすると、前回同様急に再起動が始まった。

f:id:kidani_a:20190412011340p:plain


再起動が完了したのち、Plugin Managerの画面を確認すると、無事バージョンアップが完了していた。

f:id:kidani_a:20190412011456p:plain


問題が解消したかどうか確認するために、改めてBitBucket上でプルリクエストを作成してみると、ビルド中のコメントがついた。

f:id:kidani_a:20190412011600p:plain

ビルドが完了すると、元どおりJenkinsのジョブの画面に飛ぶことができるリンクが付与されたコメントがついた。

f:id:kidani_a:20190412002902p:plain

 

[まとめ]

  • Jenkinsに限らず、プラグインやライブラリのバージョン管理は大事
  • プラグインやライブラリのバージョンをあげる前にテストをしよう
  • 最近はアプリケーション本体の開発以外にも、色々と「Opsちっく」なこともやっていて、それはそれで楽しいけどもう少し計画的にやりたい

 

まとめが前回と一緒だ……。