Jenkinsのredmine-posttask-pluginの使い方をまとめました。
Debian 8で実行しています。
Redmineのバージョンは2.5.2です。
Table of Contents
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の管理 -> プラグインの管理 -> 高度な設定 -> プラグインのアップロード
3 Redmineの設定
redmine-java-apiはRedmineのRESTとJSONPを利用するので、「RESTによるWebサービスを有効にする」と「JSONPを有効にする」にチェックを入れます。
管理 -> 設定 -> 認証
Jenkinsからチケットの登録者となるユーザのAPIアクセスキーをコピーしておきます。手抜きでadminユーザのAPIアクセスキーを利用していますが、jenkinsユーザ等を別途追加した方が良いでしょう。
登録者用ユーザでログイン -> 個人設定 -> APIアクセスキー -> 表示
4 システムの設定
システムの設定でRedmineのサイトとAPIアクセスキーを登録します。
Jenkinsの管理 -> システムの設定 -> Redmine -> Redmine sites
NameはJenkins上で管理するもので、他の項目はRedmineが管理しているものです。
Nameはジョブの設定で使用します。
Name | Jenkinsで管理する識別子 |
URL | RedmineサイトのURL |
API access Key | APIアクセスキー |
Project ID | プロジェクトの識別子 |
5 ジョブの設定
ジョブの設定画面の「ビルド後の処理の追加」でRedmine post taskを追加します。
Redmine site | Jenkinsで管理する識別子の選択 |
Always triggered | ジョブがSUCCESSでもチケット登録するかどうか |
Subject | チケットの題名(空白可) |
Description | チケットの説明(空白可) |
SubjectとDescriptionが空の場合、自動生成されます。
自動生成されるSubjectは[Jenkinsジョブ名] [ビルド番号] [ジョブの成否]で、Descriptionはコンソール出力等です。
6 ジョブの実行
コンソール出力に以下のログが出力されます。
Post to Redmine Site: myredmine Redmine task created.
7 チケットの確認
ジョブの実行後にチケットが登録されています。