設定項目 | 設定値 | 設定例 |
---|---|---|
Name | 任意の名称を入力 | script_curl_webhook01 |
Comment | 任意のコメントを入力 | |
ScriptType | Lua | Lua |
Script | 受け取ったAPIの加工方法 | return { Code = "WHOOK01", Level = "E", Message = string.format("Alert_TITLE:%s, Alert_Metoric:%s, Alert_Type:%s, Alert_Status:%s, Metorics_Value:%s, Link:%s", SdcGetJsonPathToString("$.title"), SdcGetJsonPathToString("$.alert_metoric"), SdcGetJsonPathToString("$.alert_type"), SdcGetJsonPathToString("$.alert_status"), SdcGetJsonPathToString("$.metrics_value"), SdcGetJsonPathToString("$.link")) } |
ScriptTest (InputJson/Test) |
API受信時のScript動作テスト (InputJsonで受信想定のAPI内容の記載・[Test]ボタンクリックで受信想定APIのScriptによる加工実施) |
{ "version": "1", "id": "AGGREG_KEY", "title": "ALERT_TITLE", "alert_metric": "ALERT_METRIC", "alert_type": "ALERT_TYPE", "alert_status": "ALERT_STATUS", "metrics_value": "TEXT_ONLY_MSG", "link": "LINK" } |
設定項目 | 設定値 |
---|---|
EndpointID | 変更不可 (【API発行側操作(curl例)】の【2】で利用するため控えておく) |
Comment | 任意のコメントを入力 |
Status | チェックする (チェックを外すと本設定は無効となります) |
WebhookToken | [NewToken]ボタンをクリックし、WebhookTokenを発行する (【API発行側操作(curl例)】の【2】で利用するため控えておく) |
ActionID | 変更不要 |
ScriptID | 【Webコンソール操作】の【2】で作成したScriptのIDを設定する (作成済みの設定[script_curl_webhook01]を利用する場合は変更不要) |
Windows環境におけるcurlコマンド実行例
Linux環境におけるcurlコマンド実行例
設定項目 | 設定値 | 設定例 |
---|---|---|
URL | https://[千手ウェブサービスのホスト名またはIPアドレス]/smc/webhook/gw/endpoints/[【Webコンソール操作】の【5】で控えたEndpointID] | https://mlsdc006.mplatwork4.net/smc/webhook/gw/endpoints/a9a592e1f007476fbeb92efe35d3d6da |
メソッド | POST | POST |
Authorizationヘッダー | Bearer [【Webコンソール操作】の【5】で控えたWebhookToken] | Authorization:Bearer eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJ3ZWJob29rIiwiZW5kcG9pbnQiOiJhOWE1OTJlMWYwMDc0NzZmYmViOTJlZmUzNWQzZDZkYSIsInRva2VuX3ZlciI6IjUiLCJ0b2tlbl9kYXRlIjoiMjAyMi8wOC8yMyAxMDoyMzozMiIsImlzcyI6InNlbmp1IiwiYXVkIjoibXBsYXQtdG91ci1hZG1pbiJ9.wkcN410t7yNqBYooqGHZgMGznfM6DpFKHw6Mcq-5wLn37eEbKuiAER_qWV0zmcpnjxcUy0lmKKvIOrPPCV2ArA" |
Content-Typeヘッダー | application/json | Content-Type: application/json |
Body | イベント情報(JSON形式) webhook.txtを作成し、@webhook.txtと指定 |
{ "version": "1", "id": "AGGREG_KEY", "title": "ALERT_TITLE", "alert_metric": "ALERT_METRIC", "alert_type": "ALERT_TYPE", "alert_status": "ALERT_STATUS", "metrics_value": "TEXT_ONLY_MSG", "link": "LINK" } |
{
"message" : "success.",
"endpointTicketId" : "__TicketId__"
}
Script設定値 (curlコマンド連携の場合) |
return { Code = "WHOOK01", Level = "E", Message = string.format("Alert_TITLE:%s, Alert_Metric:%s, Alert_Type:%s, Alert_Status:%s, Metrics_Value:%s, Link:%s", SdcGetJsonPathToString("$.title"), SdcGetJsonPathToString("$.alert_metric"), SdcGetJsonPathToString("$.alert_type"), SdcGetJsonPathToString("$.alert_status"), SdcGetJsonPathToString("$.metrics_value"), SdcGetJsonPathToString("$.link")) } |
Code | 千手メッセージID(7文字であることが必須) |
Level | メッセージレベル(E:障害、W:警告、I:通常) |
Message | 千手メッセージ内容 「Alert_TITLE:%s, Alert_Metric:%s」で「Alert_TITLE:<$.titleで連携されたAPI内容>, Alert_Metric:<$.alert_metricで連携されたAPI内容>」のように メッセージ内容が設定されます。(%sには、SdcGetJsonPathToStringで設定された値が上から順に格納されます) |