Jenkinsのredmine-posttask-pluginを使ってみる

Jenkinsのredmine-posttask-pluginの使い方をまとめました。

Debian 8で実行しています。

Redmineのバージョンは2.5.2です。


1 redmine-posttask-pluginとは

Jenkinsジョブが失敗した場合にRedmineにチケット登録するプラグインです。

失敗の条件はシェルの実行が失敗した場合とJUnitでFailが出た場合です。

成否に関わらず登録させることも可能です。

redmine-java-apiを使っています。

 

リポジトリをポーリングして自動実行するJenkinsジョブがあり、RedmineでFail調査を管理する場合に有用です。

2 redmine-posttask-pluginのインストール

Mavenでプラグインをビルドします。

$ git clone https://github.com/KokawaTakashi/redmine-posttask-plugin
$ cd redmine-posttask-plugin
$ mvn # mvn32 on my osx

target/redmine-posttask-plugin.hpiをJenkinsにアップロードします。

Jenkinsの管理 -> プラグインの管理 -> 高度な設定 ->
プラグインのアップロード

https://dl-web.dropbox.com/s/gmp80gybetawoto/0001_PostTask-install.png

3 Redmineの設定

redmine-java-apiはRedmineのRESTとJSONPを利用するので、「RESTによるWebサービスを有効にする」と「JSONPを有効にする」にチェックを入れます。

管理 -> 設定 -> 認証

https://dl-web.dropbox.com/s/gr0396lsk4ehy32/0002_REST-and-JSONP.png

Jenkinsからチケットの登録者となるユーザのAPIアクセスキーをコピーしておきます。手抜きでadminユーザのAPIアクセスキーを利用していますが、jenkinsユーザ等を別途追加した方が良いでしょう。

登録者用ユーザでログイン -> 個人設定 -> APIアクセスキー -> 表示

https://dl-web.dropbox.com/s/tbf2ol5hws9lb4u/0003_API-access-key.png

4 システムの設定

システムの設定でRedmineのサイトとAPIアクセスキーを登録します。

Jenkinsの管理 -> システムの設定 -> Redmine -> Redmine sites

https://dl-web.dropbox.com/s/ryt5sx6inq31ciu/0004_System-setting.png

NameはJenkins上で管理するもので、他の項目はRedmineが管理しているものです。

Nameはジョブの設定で使用します。

 

Name Jenkinsで管理する識別子
URL RedmineサイトのURL
API access Key APIアクセスキー
Project ID プロジェクトの識別子

 

5 ジョブの設定

ジョブの設定画面の「ビルド後の処理の追加」でRedmine post taskを追加します。

https://dl-web.dropbox.com/s/uenuln460q6uwkf/0005_Job-setting.png

 

Redmine site Jenkinsで管理する識別子の選択
Always triggered ジョブがSUCCESSでもチケット登録するかどうか
Subject チケットの題名(空白可)
Description チケットの説明(空白可)

 

SubjectとDescriptionが空の場合、自動生成されます。

自動生成されるSubjectは[Jenkinsジョブ名] [ビルド番号] [ジョブの成否]で、Descriptionはコンソール出力等です。

6 ジョブの実行

コンソール出力に以下のログが出力されます。

Post to Redmine Site: myredmine
Redmine task created.

7 チケットの確認

ジョブの実行後にチケットが登録されています。

https://dl-web.dropbox.com/s/t0eap8nu3zegf24/0006_Ticket.png