9
5

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.

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

Last updated at Posted at 2020-11-15

はじめに

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アプリは残ってるしで
これから整備されてく(されて欲しい)のかなー。
という感じでした。

9
5
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
9
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?