0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

MacにインストールしたjenkinsでチャットワークAPIを利用したメッセージ送信、実装メモ

Posted at

JenkinsでチャットワークAPIを利用したメッセージ送信を作成したのでメモ

前提

jenkinsインストール済み、Adminでログイン済み
環境はMac(Linux)

チャットワークへメッセージを送るスクリプト

jenkinsをインストールした環境がMacのため、シェルスクリプトでチャットワークAPIへ送信しています。

最初に簡単にチャットワークAPIへ送れるかを確かめるため、「フリースタイル・プロジェクトのビルド」からジョブを作成し、curlを利用して以下のスクリプトを組みました。

# !/bin/sh

# チャットワークトークン
token="チャットワークAPIのトークン"
# 送り先のルームID
room_id="ルームID(チャットワークURLの「#!rid」から後ろの部分)"
# チャットワークへ送るメッセージ内容
message="チャットワークにメッセージ送信"

# チャットワークにメッセージ送信
curl --insecure -X POST -H "X-ChatWorkToken:${token}" -d "body=${message}" "https://api.chatwork.com/v2/rooms/${room_id}/messages"

チャットワークAPIの申請ができていれば、上記シェルスクリプトの「token」と「room_id」を書き換えれば、チャットワークにメッセージが送れると思います。
チャットワークAPIのトークン取得は、公式ドキュメントを見て取得してください。

チャットワークへメッセージ送信するジョブを少し拡張する

これだけだとチャットワークに固定メッセージを送るビルドになってしまい、使いにくいのでルームIDとメッセージ内容だけ外部に公開して、パイプライン等の他ジョブから参照できるようにします。

以下の画像の通り、ビルドのパラメータ化を有効にして、テキストでルームIDとメッセージをパラメータ化します。
スクリーンショット 2018-12-17 13.23.59.png

パラメータを作成後、シェルスクリプトを以下の用に修正します。

# !/bin/sh

# チャットワークトークン
token="チャットワークAPIのトークン"

# チャットワークにメッセージ送信
curl --insecure -X POST -H "X-ChatWorkToken:${token}" -d "body=${message}" "https://api.chatwork.com/v2/rooms/${room_id}/messages"

だいぶスッキリしました。
これでチャットワークへメッセージ送信するジョブが使いやすくなりました。

たとえば、以下のパイプラインスクリプトを組むことで、他ジョブでアプリをビルドする時に、チャットワークへ通知させる、ということができます。

node {
    stage('1st-stage'){
        build job: 'ジョブ名', parameters: [
            [
                $class: 'StringParameterValue',
                name: 'message',
                value: 'チャットワーク送信テスト',
            ],
            [
                $class: 'StringParameterValue',
                name: 'room_id',
                value: 'ルームID(チャットワークURLの「#!rid」から後ろの部分)',
            ],
        ]
    }
}

こういうことができるようになるとJenkins触ってて楽しくなりますね。
Windowsでもバッチコマンドで似たようなことができると思います。

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?