ルーティングルール API リファレンス

フィールドに指定できる値

動作の種類

説明
NOTIFY_TEAM特定のチームに通知します
NOTIFY_WORKSPACE_MEMBER特定のワークスペースのメンバーに通知します
NOTIFY_CURRENT_ON_CALL_USER現在のオンコール担当者に通知します
NOTIFY_NEXT_ON_CALL_USER次のオンコール担当者に通知します
NOTIFY_ALL_ON_CALL_MEMBERS現在オンコール中のすべてのメンバーに通知します

アサーションの種類

説明
IMPACTイベントの影響を判定します
TITLEイベントのタイトルを判定します
DESCRIPTIONイベントの説明を判定します
AFFECTED_COMPONENTSイベントの影響を受けるコンポーネントを判定します

比較の種類

説明
EQUALS値が等しいかを判定します
NOT_EQUALS値が等しくないかを判定します
IS_EMPTY値が空かを判定します
NOT_EMPTY値が空でないかを判定します
GREATER_THAN値がより大きいかを判定します
GREATER_THAN_OR_EQUALS値が以上かを判定します
LESS_THAN値がより小さいかを判定します
LESS_THAN_OR_EQUALS値が以下かを判定します
CONTAINS値が指定した部分文字列を含むかを判定します
NOT_CONTAINS値が部分文字列を含まないかを判定します
HAS_KEYオブジェクトが特定のキーを持つかを判定します
NOT_HAS_KEYオブジェクトが特定のキーを持たないかを判定します
HAS_VALUEオブジェクトが特定の値を持つかを判定します
NOT_HAS_VALUEオブジェクトが特定の値を持たないかを判定します
IS_NULL値が null かを判定します
NOT_NULL値が null でないかを判定します
STARTS_WITH値が特定の部分文字列で始まるかを判定します
ENDS_WITH値が特定の部分文字列で終わるかを判定します

ルーティングルールを取得する

エンドポイント:

GET /:page_id/routing-rules

リクエストの例

GET /1/routing-rules

レスポンスの例

{
"routingRules": [
{
"id": "1",
"siteId": "pageId",
"assertions": [
{
"id": "1",
"routingRuleId": "1",
"type": "TITLE",
"comparison": "CONTAINS",
"value": "value1"
},
{
"id": "2",
"routingRuleId": "1",
"type": "TITLE",
"comparison": "CONTAINS",
"value": "value2"
}
],
"actions": [
{
"id": "1",
"routingRuleId": "1",
"type": "NOTIFY_WORKSPACE_MEMBER",
"targetId": "value1"
},
{
"id": "2",
"routingRuleId": "1",
"type": "NOTIFY_WORKSPACE_MEMBER",
"targetId": "member@platform.com"
}
],
"createdAt": "2021-09-29T00:00:00.000Z",
"updatedAt": "2021-09-29T00:00:00.000Z",
"order": 1
}
]
}

ルーティングルールを作成する

エンドポイント:

POST /routing-rules

actions の targetId は、動作の種類に応じてワークスペースのメンバーのメールアドレスにも、チームの ID にもなる点に注意してください。

リクエストの例

{
"routingRule": {
"assertions": [
{
"id": "1",
"routingRuleId": "1",
"type": "TITLE",
"comparison": "CONTAINS",
"value": "value1"
},
{
"id": "2",
"routingRuleId": "1",
"type": "TITLE",
"comparison": "CONTAINS",
"value": "value2"
}
],
"actions": [
{
"id": "1",
"routingRuleId": "1",
"type": "NOTIFY_WORKSPACE_MEMBER",
"targetId": "member2@platform.com"
},
{
"id": "2",
"routingRuleId": "1",
"type": "NOTIFY_WORKSPACE_MEMBER",
"targetId": "member@platform.com"
}
],
"order": 1,
"siteId": "site-id-1"
},
"message": "Routing rule updated successfully"
}

レスポンスの例

{
"routingRule": {
"id": "routing-rule-id-1",
"order": 1,
"siteId": "site123",
"updatedAt": "2021-09-01T12:00:00Z",
"createdAt": "2021-09-01T12:00:00Z"
},
"message": "Routing rule created successfully."
}

ルーティングルールを更新する

エンドポイント:

PUT /routing-rules/:id

リクエストの例

PUT /routing-rules/routing-rule-id-1
{
"routingRule": {
"id": "routing-rule-id-1",
"assertions": [
{
"id": "assertion-id-1",
"routingRuleId": "routing-rule-id-1",
"comparison": "CONTAINS",
"value": "Issue With X",
"type": "TITLE"
}
],
"order": 1,
"siteId": "site-id-1",
"updatedAt": "2021-09-01T12:00:00Z",
"createdAt": "2021-05-01T12:00:00Z"
},
"message": "Routing rule updated successfully"
}

レスポンスの例

{
"routingRule": {
"id": "routing-rule-id-1",
"assertions": [
{
"id": "assertion-id-1",
"routingRuleId": "routing-rule-id-1",
"comparison": "CONTAINS",
"value": "Issue With X",
"type": "TITLE"
}
],
"order": 1,
"siteId": "site-id-1",
"updatedAt": "2024-08-09T12:00:00Z",
"createdAt": "2021-05-01T12:00:00Z"
},
"message": "Routing rule updated successfully"
}

ルーティングルールを削除する

エンドポイント:

DELETE /routing-rules/:id

リクエストの例

DELETE /routing-rules/routing-rule-id-1

レスポンスの例

{
"message": "Routing rule deleted successfully."
}