事件 API 参考
获取页面的所有事件
端点:
GET /v1/:page_id/incidents?page=:page&per_page=:per_page
- page 默认为 1。
- per_page 默认为 50,每页最多 100 条。
响应示例:
[{"id": "ckf01m59ueaqb0a32wrljz1yd","name": "Rocket is going down","started": "2020-09-12T19:05:17.398Z","status": "RESOLVED","resolved": "2020-09-12T19:09:04.498Z","updates": [{"id": "ckf01m5ioeaqi0a32jtv8ovp8","message": "We are currently investigating this incident.","messageHtml": "<p>We are currently investigating this incident.</p>","status": "INVESTIGATING","notify": true,"started": "2020-09-12T19:05:17.398Z","ended": null,"duration": 228,"createdAt": "2020-09-12T19:08:50.160Z"},{"id": "ckf01mnk9eaui0a32mmhgq68g","message": "This incident has been resolved.","messageHtml": "<p>This incident has been resolved.</p>","status": "RESOLVED","notify": true,"started": "2020-09-12T19:09:04.498Z","ended": null,"duration": null,"createdAt": "2020-09-12T19:09:13.545Z"}],"components": [{"id": "ckf01fvnxywz50a35nh1qzssm","name": "Website","status": "PARTIALOUTAGE","showUptime": true,"site": {"id": "ckf01fonve9i40a32oas5b0uw","name": "Nasa","subdomain": "nasa","color": null,"logoUrl": null,"publicEmail": null},"customImpactPercentage": 40}],"user": {"id": "ckf01g7m4eaqb0a32fl7jl1xx","name": "Buzz Aldrin","email": "buzz@nasa.com"}}]
你可以添加 status 和 !status 查询参数,把结果限制为状态属于(或不属于)逗号分隔状态列表中的事件。
user 是创建该事件的工作区成员。当事件是自动创建时(由监控、第三方集成或邮件创建),它为 null。
获取单个事件
端点:
GET /v1/:page_id/incidents/:incident_id
响应示例:
{"id": "ckf01m59ueaqb0a32wrljz1yd","name": "Rocket is going down","status": "RESOLVED","started": "2020-09-12T19:05:17.398Z","resolved": "2020-09-12T19:09:04.498Z","updates": [{"id": "ckf01m5ioeaqi0a32jtv8ovp8","message": "We are currently investigating this incident.","messageHtml": "<p>We are currently investigating this incident.</p>","status": "INVESTIGATING","notify": true,"started": "2020-09-12T19:05:17.398Z","ended": null,"duration": 228,"createdAt": "2020-09-12T19:08:50.160Z"},{"id": "ckf01mnk9eaui0a32mmhgq68g","message": "This incident has been resolved.","messageHtml": "<p>This incident has been resolved.</p>","status": "RESOLVED","notify": true,"started": "2020-09-12T19:09:04.498Z","ended": null,"duration": null,"createdAt": "2020-09-12T19:09:13.545Z"}],"components": [{"id": "ckf01fvnxywz50a35nh1qzssm","name": "Website","status": "MAJOROUTAGE","showUptime": true,"site": {"id": "ckf01fonve9i40a32oas5b0uw","name": "Nasa","subdomain": "nasa","color": null,"logoUrl": null,"publicEmail": null}}],"user": {"id": "ckf01g7m4eaqb0a32fl7jl1xx","name": "Buzz Aldrin","email": "buzz@nasa.com"}}
添加事件
端点:
POST /v1/:page_id/incidents
请求示例:
{"name": "Test incident","message": "We're currently investigating an issue with the Website","components": ["ckf01fvnxywz50a35nh1qzssm"],"started": "2020-09-12 05:38:47.998","status": "INVESTIGATING","notify": true,"statuses": [{"id": "ckf01fvnxywz50a35nh1qzssm","status": "PARTIALOUTAGE","customImpactPercentage": 40}],"translations": {"name": {"fr": "Incident de test"},"message": {"fr": "Nous enquêtons actuellement sur un problème avec le site Web"}}}
事件默认会发布到你的状态页。
如果你想创建一个未发布的事件,需要带上 shouldPublish 并把它设为 false。
响应示例:
{"id": "ckf02l5m8z36j0a35qr9q1tq1","name": "Test incident","status": "INVESTIGATING","started": "2020-09-12T03:38:47.998Z","resolved": null,"updates": [],"components": [{"id": "ckf01fvnxywz50a35nh1qzssm","name": "Website","status": "OPERATIONAL","showUptime": true,"site": {"id": "ckf01fonve9i40a32oas5b0uw","name": "Nasa","subdomain": "nasa","color": null,"logoUrl": null,"publicEmail": null}}],"translations": {"name": {"fr": "Incident de test"},"message": {"fr": "Nous enquêtons actuellement sur un problème avec le site Web"}}}
用模板添加事件
端点:
POST /v1/:page_id/incidents/:template
响应示例:
{"id": "cl8hrdsdsasu441sv26yq","name": "Investigating Template","nameTranslationId": null,"notify": false,"status": "INVESTIGATING","started": "2022-09-25T19:53:20.778Z","resolved": null,"duration": null,"createdAt": "2022-09-25T19:53:20.800Z","updatedAt": "2022-09-25T19:53:20.800Z","automated": false,"impact": "MAJOROUTAGE","appId": null,"siteId": "cl8hadasdasd6wkxdco","importedFrom": null}
更新事件
端点:
PUT /v1/:page_id/incidents/:incident_id
请求示例:
{"name": "Test incident 2","components": ["ckf01fvnxywz50a35nh1qzssm"],"started": "2020-09-12 05:38:47.998","status": "INVESTIGATING","notify": true,"statuses": [{"id": "ckf01fvnxywz50a35nh1qzssm","status": "OPERATIONAL"}],"translations": {"name": {"fr": "Incident de test"},"message": {"fr": "Nous enquêtons actuellement sur un problème avec le site Web"}}}
响应示例:
{"id": "ckf02l5m8z36j0a35qr9q1tq1","name": "Test incident 2","status": "INVESTIGATING","started": "2020-09-12T03:38:47.998Z","resolved": null,"updates": [],"components": [{"id": "ckf01fvnxywz50a35nh1qzssm","name": "Website","status": "OPERATIONAL","showUptime": true,"site": {"id": "ckf01fonve9i40a32oas5b0uw","name": "Nasa","subdomain": "nasa","color": null,"logoUrl": null,"publicEmail": null}}],"translations": {"name": {"fr": "Incident de test"},"message": {"fr": "Nous enquêtons actuellement sur un problème avec le site Web"}}}
删除事件
端点:
DELETE /v1/:page_id/incidents/:incident_id
响应示例:
{"id": "ckf02l5m8z36j0a35qr9q1tq1"}