1
3

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 3 years have passed since last update.

【Jenkins:Mac】slack通知

Last updated at Posted at 2020-12-13

概要

Jenkinsのビルドが終了した時にslackで通知したい
意外と簡単にできます

Jenkins側の設定をメインに記載するので、slack側のアプリ管理は省略します
ググったら結構記事でてきます
ので、「Jenkins CI」を設定済み前提で進めます

Jenkinsバージョン:2.270
Slack Notification Plugin:2.45
※Jenkinsとプラグインのバージョンが異なると動作しない可能性があります

1. プラグイン追加

まず最初に
Jenkinsの管理 > プラグインの管理 > 「利用可能」タブ
から「Slack Notification Plugin」を探してインストールしてください
再起動は不要だと思うので「install without restart」でインストール

2. スクリプト作成

Pipelineで作成します
適当にジョブ作ってPipelineScriptに下記を記述

コード
node
{
    SLACK_URL = "https://sample.slack.com/services/hooks/jenkins-ci/"
    SLACK_TOKEN = "XXXXXXXXXXXXXXXXXXXXXXXX"
    SLACK_CHANNEL = "sample"
    MESSAGE = "sample"
    
    stage ("slack")
    {
        slackSend(baseUrl: SLACK_URL, token: SLACK_TOKEN, channel: SLACK_CHANNEL, message: """Build Success: #${env.BUILD_NUMBER} ${env.JOB_NAME}\n${MESSAGE}""", color: "good")
    }
}

定数は例として記載してるのでパラメータに出すなりして汎用的に使えるようにしてもいいかと思います

引数を1つずつ解説していくと

baseUrl
コード例の「sample.slack.com」の部分を通知を飛ばしたいslackのワークスペース名を指定してください

token
Jenkins CIに記載されてるトークンを指定してください

channel
通知を飛ばしたいチャンネル名を指定してください

message
通知のメッセージです
なんでもいいです
「\n」で改行できます
@here」とかでメンション付けれます
@<XXXXX>」で個人にメンション付けれます
「XXXXX」にはslackのメンバーIDを指定します
slackのメンバーIDはslackの個人のプロフィール「その他」から確認できます

color
通知時のカラー設定ができます
good,warning,dangerで状態のカラーを設定できます
#XXXとかカラーコード指定もできます
ビルドの結果(成功失敗)でカラーを変えるとわかりやすいかと思います

他にも設定項目は色々あるので公式の方で確認してみてください
https://plugins.jenkins.io/slack/

3. ビルド

ビルドボタンを押すと…
jenkins_slack01.png
連絡ありがとうおじさん

1
3
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
1
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?