🐙
CircleCIとSlackを連携する
Orbs > circleci/slack@4.4.4 での設定方法です
以前はwebhookやSlackに公式で用意されていたCircleCIのアプリで設定したようですが、
現在はOrbsを使う方法になっているようです
設定
まずはこちらの手順に従ってSlackAppを作成します
CircleCIのContextまたは該当プロジェクトの設定に、
Slackのトークンとデフォルトチャンネルを設定します
- SLACK_ACCESS_TOKEN
- SLACK_DEFAULT_CHANNEL
※ 今回はProject Settings -> Environment Variablesに設定しています
ymlファイル
commandsを使って成功時と失敗時の定義をします
version: 2.1
orbs:
slack: circleci/slack@4.4.4
commands:
notify_slack_pass:
steps:
- slack/notify:
event: pass
template: basic_success_1
notify_slack_fail:
steps:
- slack/notify:
event: fail
template: basic_fail_1
使用できるテンプレートは以下(上記以外にholdやdeployがあります)
イベントやテンプレート指定の他、
mentions
でメンションを追加したり
branch_pattern
でブランチを正規表現で指定できたりします
詳しくはこちらを参照してください(メッセージをカスタマイズする方法なども書いてあります)
あとは通知したいjobのstepにコマンドを追加するだけです
jobs:
build:
:
steps:
- checkout
:
- notify_slack_fail
- notify_slack_pass
失敗、成功の両方通知したい場合は両方書けばOKです
Discussion