通知チャンネルの一覧
GET
/api/v0/channels
APIキーに必要な権限
- Read
応答
成功時
{ "channels": [<channel>, <channel>, ...] }
<channel> は以下のキーを持つオブジェクト
| KEY | TYPE | DESCRIPTION |
|---|---|---|
id |
string | 通知チャンネルのID |
name |
string | 通知チャンネルの名称 |
type |
string | 通知チャンネルの種類 ("email", "slack", "line", "chatwork", "typetalk", "twilio", "pagerduty", "opsgenie", "jira-service-management", "microsoft-teams, "webhook", "amazon-event-bridge" のいずれかです) |
suspendedAt |
number / null | 通知チャンネルがサスペンドされた日時 (epoch秒) サスペンドされていない場合は null |
type が "email", "slack" または "webhook" の場合は上記に加えて、以下のように詳細な情報を返します
type が email の場合
| KEY | TYPE | DESCRIPTION |
|---|---|---|
emails |
array[string] | 通知先に指定されているEmailアドレス |
userIds |
array[string] | 通知先に指定されているユーザーID |
events |
array[string] | 通知するイベント("alert", "alertGroup", "hostStatus", "hostRegister", "hostRetire", "monitor" のいずれか) |
type が slack の場合
| KEY | TYPE | DESCRIPTION |
|---|---|---|
url |
string | SlackのIncoming WebhookのURL |
mentions |
hash[string] | キーは状態(ok, warning, criticalのいずれか)、値はアラート通知の際に添えるテキストです |
enabledGraphImage |
boolean | 関連するグラフをSlackに投稿するか否か |
events |
array[string] | 通知するイベント("alert", "alertGroup", "hostStatus", "hostRegister", "hostRetire", "monitor" のいずれか) |
type が webhook の場合
| KEY | TYPE | DESCRIPTION |
|---|---|---|
url |
string | HTTPリクエストを受け取るURL |
enabledGraphImage |
boolean | 関連するグラフのURLを通知内容に含めるか否か |
events |
array[string] | 通知するイベント("alert", "alertGroup", "hostStatus", "hostRegister", "hostRetire", "monitor" のいずれか) |
通知チャンネルの登録
※現在はメール通知とSlack, Webhook の3つに対応しています
POST
/api/v0/channels
APIキーに必要な情報
- Read
- Write
メール通知
入力(メール通知)
| KEY | TYPE | DESCRIPTION |
|---|---|---|
type |
string | 固定文字列"email" |
name |
string | チャンネルの名前 |
emails |
array[string] | 通知先に指定するEmailアドレス |
userIds |
array[string] | 通知先に指定するユーザーID |
events |
array[string] | 通知するイベント("alert", "alertGroup", "hostStatus", "hostRegister", "hostRetire", "monitor" のいずれか) |
応答(メール通知)
成功時
{ "id": <channelId>, "type": "email", "name": "My Channel", "emails": ["myaddress@example.com"], "userIds": ["userId"], "events": ["alert"] }
失敗時
| STATUS CODE | DESCRIPTION |
|---|---|
| 400 | emails内のアドレスが不正な場合 |
| 400 | userIds内にオーガニゼーションに所属していないユーザーが含まれている場合 |
| 400 | eventsに上記以外のイベントが含まれる場合 |
| 403 | APIキーに書き込み権限がないとき / 許可されたIPアドレス範囲外からのアクセスの場合 |
Slack
入力(Slack)
以下のキーをもつオブジェクト
| KEY | TYPE | DESCRIPTION |
|---|---|---|
type |
string | 固定文字列"slack" |
name |
string | チャンネルの名前 |
url |
string | SlackのIncoming WebhookのURL |
mentions |
hash[string] | キーは状態(ok, warning, criticalのいずれか)、値はアラート通知の際に添えるテキストです |
enabledGraphImage |
boolean | 関連するグラフをSlackに投稿するか否か |
events |
array[string] | 通知するイベント("alert", "alertGroup", "hostStatus", "hostRegister", "hostRetire", "monitor" のいずれか) |
応答(Slack)
成功時
{ "id": <channelId>, "type": "slack", "name": "My Channel", "url": "https://hooks.slack.com/services/TAAAA/BBBB/XXXXX", "mentions": { "ok": "ok message", "warning": "warning message" }, "enabledGraphImage": true, "events": ["alert"] }
失敗時
| STATUS CODE | DESCRIPTION |
|---|---|
| 400 | urlが不正な場合 |
| 400 | eventsに上記以外のイベントが含まれる場合 |
| 403 | APIキーに書き込み権限がないとき / 許可されたIPアドレス範囲外からのアクセスの場合 |
Webhook
入力(Webhook)
以下のキーをもつオブジェクト
| KEY | TYPE | DESCRIPTION |
|---|---|---|
type |
string | 固定文字列"webhook" |
name |
string | チャンネルの名前 |
url |
string | HTTPリクエストを受け取るURL |
enabledGraphImage |
boolean | 関連するグラフのURLを通知内容に含めるか否か |
events |
array[string] | 通知するイベント("alert", "alertGroup", "hostStatus", "hostRegister", "hostRetire", "monitor" のいずれか) |
応答(Webhook)
成功時
{ "id": <channelId>, "type": "webhook", "name": "My Channel", "url": "https://example.com/webhook", "enabledGraphImage": true, "events": ["alert"] }
失敗時
| STATUS CODE | DESCRIPTION |
|---|---|
| 400 | urlが不正な場合 |
| 400 | eventsに上記以外のイベントが含まれる場合 |
| 403 | APIキーに書き込み権限がないとき / 許可されたIPアドレス範囲外からのアクセスの場合 |
通知チャンネルの削除
チャンネルを削除します
DELETE
/api/v0/channels/<channelId>
APIキーに必要な情報
- Read
- Write
応答
削除される直前のチャンネルの状態が返されます
成功時
フォーマットはチャンネル一覧APIの<channel>と同じ形式です。
失敗時
| STATUS CODE | DESCRIPTION |
|---|---|
| 404 | <channelId>に対応するチャンネルが見つからないとき |
| 403 | APIキーに書き込み権限がないとき / 許可されたIPアドレス範囲外からのアクセスの場合 |