5
Help us understand the problem. What are the problem?

More than 1 year has passed since last update.

posted at

updated at

Organization

circleciのjob結果をslack通知する方法(slack-orb v4版)

はじめに

circleciからslack-orbのversion4以降を使ったslack通知方法の記事が見つからず、公式もわかりにくかったので備忘録かねて記載。

設定方法

基本的に公式のwikiを見て設定すればOK
https://github.com/CircleCI-Public/slack-orb/wiki/Setup

slackアプリを作成する

ここが従来の設定方法と異なるところ。
今まではwebhookURLをcircleciのProject SettingのEnvironment Variableに設定すればよかったがslackでアプリを作りOAuth tokenを設定して欲しいとのこと。

補足(というか余談)

webhookURLからtokenに設定方法が変わった理由については不明。
以前までslackが出してるcircleciのアプリにwebhookURL設定追加して使ってたけど
アプリのDeveloperがslackだったからアプリの責任範囲を各自にしたかったのかもですね。

環境変数の設定

記事によると以下をcircleciのProject SettingのEnvironment Variableで指定すれば良い。

SLACK_ACCESS_TOKEN: slackアプリのアクセストークン
SLACK_DEFAULT_CHANNEL: slack通知のデフォルトチャネル

補足

現在のcircleciのProject Setting > Slack Integrationの設定画面では
1. webhookURLを設定しましょ
2. orbs連携しましょ
と記載がある。

スクリーンショット 2020-11-16 0.45.16.png

が、これはorbsのver3までの話であり
orbs4ではwebhookURLは使われてないので1.は無視して良い。

config.ymlの設定

基本的に(これ位しか資料が見つからなかったので)orbsのexample記事を見ながら設定する。
https://circleci.com/developer/orbs/orb/circleci/slack?version=4.1.1

orbs連携の記載

orbs:
  slack: circleci/slack@4.1.1

必須設定。これはorbs3でも同じ。

stepsに通知メッセージを記載

      - slack/notify: #slack通知のステップ名。orbs3は設定方法が全く異なるので注意。
          custom: |
            {
              "blocks": [
                {
                  "type": "section",
                  "fields": [
                    {
                      "type": "plain_text",
                      "text": "*This is a text notification* :smile:", #メッセージ内容
                      "emoji": true #絵文字(:xxx:)を使いたい場合の指定
                    }
                  ]
                }
              ]
            }
          event: always #circleの結果指定。failの場合は失敗時、passは成功時。alwaysは結果問わず。
          channel: ABCXYZ #slackチャネル指定。記載がなければSLACK_DEFAULT_CHANNELに届く

補足

公式exampleのjobs配下にある以下記載について

context:
     - slack-secrets

wikiの環境変数の設定方法は
Organization Settingでこの名前のcontextを設定する場合を記載しており
本記事のようにProject Settingで設定した場合は記載不要。
contextについての公式説明はこちら

おわりに

slack-orbだけ新しくなってたけど
circleciのUIはついてきてないし
slack公式のwebhook用circleciアプリは残ってるしで
これから整備されてく(されて欲しい)のかなー。
という感じでした。

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Sign upLogin
5
Help us understand the problem. What are the problem?