LoginSignup
1
0

More than 1 year has passed since last update.

PagerDutyのオンコール担当をチャンネルのトピックに設定する

Posted at

概要

PagerDutyのオンコール担当になっていることをうっかり忘れたことが何回かあったので、なにかよい方法ないかなと探してたら、「pd-oncall-chat-topic」というものがあったので早速試してみました。

仕組みはとてもシンプルでした。
1. Lambdaが5分おきに動いてPagerDutyのAPIからオンコール担当を取得
2. Slackのチャンネルにトピック登録

手順

手順はReadmeに記載の通りで特に詰まるところもなく設定できます。

SlackでBotを設定する

ここからBotを作成します。
https://my.slack.com/services/new/bot

bot1.png

APIトークンをメモしておきます
bot2.png

トピック設定するチャンネルを右クリックして「リンクをコピー」します。
CDXXXXXXXの部分がSlackChannelIDになるのでメモしておきます。
https://example.slack.com/archives/CDXXXXXXX
slack1.png

チャンネルのインテグレーションから「アプリを追加する」を選択して、先ほどつくったbotを追加します。
slack2.png

PagerDutyのスケジュールIDを取得する

On-Call Scheduleから該当のスケジュールを選択しURLのPXXXXXXXX部分をメモする
https://example.pagerduty.com/schedules#PXXXXXXXX

PagerDutyのMyProfileからAPIトークンを発行する

「Create API UserToken」からトークンを発行します。

pd.png

AWSのリソースを作成する

1 Makefileの修正

$ git clone git@github.com:PagerDuty/pd-oncall-chat-topic.git
$ cd pd-oncall-chat-topic
$ vim Makefile
-------------------------------
# STACKNAME_BASEを書き換える
STACKNAME_BASE=example-pagerduty-oncall-chat-topic 

2 STACKNAME_BASEに指定した名前でS3バケットを作成する(example-pagerduty-oncall-chat-topic)
3 リソースの作成

$ make deploy
$ make put-pd-key
PagerDutyで作成したユーザートークンを指定
$ make put-slack-key
BotのAPIトークンを指定

DynamoDBに通知先の情報を登録する

スクリーンショット 2021-07-15 18.25.46.png

動作確認

5分おきにLambdaが動き、チャンネルにトピックを設定してくれます。
slack3.png

うまく動かない場合はLambdaのログが出ていますので確認しましょう。

1
0
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
1
0