Rundeckでジョブ実行の結果をSlackに通知するために、Slack Incoming Webhookプラグインを使って設定する方法を解説します。
前提条件
- Rundeck バージョン: 5.7.0
- Slack バージョン: プロダクション 4.41.96 64-bit
- rundeck は EC2(amazon_linux_2)にinstall
手順
1. SlackのWebhook URLを取得
- Slack APIのページにアクセスし、「Create New App」から新しいAppを作成します。
- 「Incoming Webhooks」を有効化します。
- 「Add New Webhook to Workspace」をクリックし、通知先のチャンネルを選択します。
- Webhook URL(例:
https://hooks.slack.com/services/T00000000/B00000000/XXXXXXXXXXXXXXXXXXXXXXXX
)が生成されるので、これをコピーしておきます。このURLは後で使用します。
2. RundeckでSlack Notificationプラグインのインストール
Slack Incoming WebhookプラグインがRundeckにインストールされていない場合、以下の手順でインストールしてください。
- GitHubからプラグインをダウンロードし、
/var/lib/rundeck/libext/
に配置します:
wget -O /var/lib/rundeck/libext/slack-incoming-webhook-plugin.jar https://github.com/rundeck-plugins/slack-incoming-webhook-plugin/releases/download/v1.2.5/slack-incoming-webhook-plugin-1.2.5.jar
- 補足:
/var/lib/rundeck/libext/
に配置するだけでOKです。再起動は不要です。
3. Rundeckのプロジェクト設定でSlack Notificationを設定
GUIでの設定方法
- Rundeckにログインし、対象のプロジェクトを選択します。
- 「PROJECT SETTINGS」から「Edit Configuration」を選択します。
- 「Edit Configuration file」をクリックし、以下の内容を追加します。
project.plugin.Notification.SlackNotification.channel=\#ex-rundeck-job
project.plugin.Notification.SlackNotification.webhook_base_url=https\://hooks.slack.com/services
project.plugin.Notification.SlackNotification.webhook_token=T00000000/B00000000/XXXXXXXXXXXXXXXXXXXXXXXX
channel
には通知先のSlackチャンネルを指定します。webhook_base_url
にはSlackのWebhook URLのベース部分https://hooks.slack.com/services
を設定します。webhook_token
にはWebhook URLのトークン部分を指定します(例:T00000000/B00000000/XXXXXXXXXXXXXXXXXXXXXXXX
)。
- 「Save」をクリックして設定を保存します。
- 注意点:
vim /etc/rundeck/project.properties
などでCLIから設定ファイルを直接編集しても、設定が反映されないことがあります。必ずGUIから設定を行ってください。
4. ジョブでSlack通知を設定
- 対象のジョブを開き、「Notifications」タブに移動します。
- 「成功時」と「失敗時」の通知タイプを「Slack Incoming Webhook」に設定します。
- 必要に応じて通知の詳細(チャンネルやユーザー名など)を設定します。
- 補足: 通知の詳細設定が空欄の場合でも、
Edit Configuration file
で設定しているのでデフォルトで動作します。
5. 設定の確認
ジョブを実行して、設定したSlackチャンネルに通知が届くか確認してください。
まとめ
以上の手順で、RundeckとSlackを連携して、ジョブの実行結果をSlackに通知することができます。特にプロジェクト設定の変更はGUIから行うよう注意しましょう。
コメント