そんなのあったのか、と気付かされる内容だったので、その3も楽しみです。使ってSlackへ通知する方法と、CircleCIにあった古いSlack通知を解除する方法について記しています。利用して、Slackへの通知を行いたい場合は、続編の記事も合わせて御覧ください。バージョンがあがったりなど、対応しながら使っています。自分たちの開発チームでは、20プロジェクトほどのビルドや、デプロイをCircleCI上で行っています。Appを使っていました。いうより、現在も、ほとんどがこの設定で動いています。ヘルプ文章等には残ってなかったので、以下の記事や、Qiita等の古い記事を確認すると古い画面を確認することができます。URL版)しかし、去年(2020年)の10月くらいだったかに、UI変更があったタイミングで、かつてCircleCI側にあった、SlackのWebHookを入力する画面が消えてしまいました。消えてしまったのに機能自体は今まで通り動いています。一方で、Orbsを利用したSlack通知を行うことがドキュメントに記載されています。今までに比べると、より柔軟な設定が可能になっていますし、Slack以外の対応等を考えると、方向性としては正しそうです。これは、いつ今までの設定が完全に停止されるかはわからないけど、止まるのも時間の問題かな。いう不安と、そもそもどうやって止めるか。いうのがぱっと画面上ではわからなかったため、同じような課題に詰まった人のために小ネタとして備忘録を残しておきます。して登録する必要があるなど、実装が変わっているようです。古い記事を読むときは要注意ですね!Slackのアプリを作成する現状のOrbsは、CircleCIがSlackアプリを管理するのではなく、自前でSlackアプリを作成する必要があるので、まずはSlackアプリを作成しましょう。基本的には、Orbsのドキュメントの流れに従うだけです。Scopeを追加します。chat:writechat:write.publicfiles:writeここまでの設定が終わったら、Slackワークスペースにインストールします。これでBot用のアクセストークンが手に入ります。後々使うので今は控えておきましょう。編集できるので、ここは雰囲気にあわせていい感じにしておくとよいと思います。Orbsを利用してSlack通知のための設定を入れる旧Slack通知の仕組み(Orbsを使わない場合)は、ワークフロー・コミットログなどに加え、失敗した場合は、代表的な失敗したJob名がまとめて出るような形になっています。一方で、Orbsで設定する場合は、Jobごとに通知設定を行うため、今までの挙動とは異なります。コンテキストでSlackの設定を共通化する複数プロジェクトに横断するときは、いちいちそれぞれのプロジェクトでSlackの環境変数を設定するのは面倒です。利用して、複数プロジェクトで同じ設定を使い回せるようにしましょう。新たな設定を追加します名前は、Slack通知とわかりそうなものにしておきましょう。いう環境変数名で保存します。いう名前で、通知先のSlackチャンネル名を保存します。いうテンプレートが用意されていますので、まずはそれを使うと良さそうです。失敗すると設定したSlackチャンネルに通知が届くようになりました。古い設定に近いフォーマットにデフォルトのテンプレートは今までのものと比べると少し高さを使います。上がOrbsによるもので、下がCircleCIにもともとあった機能のものです。並んだときに少し見にくかったりを解消するために、自前でSlackへの投稿ペイロードを作ってみます。使いながら、いい感じの内容を作っていきます。複数のJobで利用することを想定して、commandとして定義します。slack-notification無駄に頑張ってみましたが、リンク等含めて結構いい感じになりまいした。ジョブごとに出るので、ワークフロー上で複数ジョブを実行されると、次々に出てきて動いている感ありますね。(並列ジョブがある場合、その並列数分の通知が来るわけです。使うと便利そうですが、こちらを使っている場合はジョブの失敗時のSlack通知を行うことができません。Jobではなく、Commandが定義されている場合は、そちらに変えましょう。aws-ecraws-code-deployaws-ecsを使っていたのですが、それぞれコマンドでも置き換えることができたのでなんとかなりました。今のままだと、Orbsによる通知と、旧設定のものが両方届いてしまうので、旧設定を解除します。いうことで、ヘルプを確認すると、APIを直接コールして解除せよ。