通知チャンネル

通知チャンネルの一覧

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", "hipchat", "twilio", "reactio", "pagerduty", "opsgenie", "yammer", "webhook" のいずれかです)

type"email", "slack" または "webhook" の場合は上記に加えて、以下のように詳細な情報を返します

typeemail の場合
KEY TYPE DESCRIPTION
emails array[string] 通知先に指定されているEmailアドレス
userIds array[string] 通知先に指定されているユーザID
events array[string] 通知するイベント("alert", "alertGroup" のいずれか)
typeslack の場合
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" のいずれか)
typewebhook の場合
KEY TYPE DESCRIPTION
url string HTTPリクエストを受け取る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" のいずれか)

応答(メール通知)

成功時
{
  "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
events array[string] 通知するイベント("alert", "alertGroup", "hostStatus", "hostRegister", "hostRetire", "monitor" のいずれか)

応答(Webhook)

成功時
{
  "id": <channelId>,
  "type": "webhook",
  "name": "My Channel",
  "url": "https://example.com/webhook",
  "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アドレス範囲外からのアクセスの場合