模式建议通知
在创建或修改模式建议时接收警报
架构提案仅在有GraphOS 企业计划.
配置GraphOS以向 webhook 发送通知,每次创建或修改架构提案或其状态更改时。这些 webhook 有助于自动化工作流程。例如,当提案的状态更改为批准时,您的组织可能希望在代码库中打开草稿拉取请求。
设置
转到您的graph's设置页面,页面位于GraphOS Studio.
打开报告选项卡。
在右上角点击添加通知。
选择架构提案并点击下一步。
选择您想要接收通知的架构提案事件:
- 提案创建
- 提案修订
- 提案状态更改
选择现有的 webhook 通知通道或创建一个新通道。如果创建新的通道,请根据下一节描述配置 webhook。
配置 webhook
自定义 webhook 需要在公共互联网上可访问的 HTTPS 端点设置。 GraphOS会将 webhook 通知发送到此端点作为POST
请求。通知详情作为下一节所述的 JSON 提供在请求体中。
在通道名称字段中,为本通知通道指定一个名称。此名称必须在全graph's 通知通道(包括 Slack 通道)中唯一。
在Webhook URL输入框中,提供您的 HTTP(S) 端点 URL。
可选地,输入一个密钥令牌。
如果您输入了一个令牌,则每个通知HTTP请求都包含一个
x-apollo-signature
标题头部,其值是一个使用该令牌、请求数据作为消息和SHA256散列函数生成的哈希消息认证码(HMAC)。该x-apollo-signature
标题头部的格式为sha256=<hmac-value>
。参考此Okta指南以了解更多关于实施的情况以及查看其他资源。
单击下一步并完成对话框中剩余的步骤。
Webhook格式
自定义Webhook通知细节以JSON对象形式在请求体中提供。为了避免包含敏感信息,有效载荷包含ID,例如提案ID和修订ID,而不是包含提案或修订详细信息的对象。您可以使用平台API使用Webhook负载中的ID获取完整对象。
JSON对象符合ResponseShape
接口的结构:
enum ProposalStatus {OPENDRAFTIMPLEMENTEDAPPROVED}interface ResponseShape {"eventType": string;"eventID": string;"graphID": string;"variantID": string;"proposalID": string;"change": {"status": ProposalStatus | undefined"previousStatus": ProposalStatus | undefined"revisionId": string | undefined},"timestamp": string;}
字段描述
字段 | 描述 |
---|---|
| 模式提案事件,可以是 |
| 一个唯一的事件ID |
| 一个唯一的提案ID |
|
|
| 一个唯一的图 ID |
| 以图引用格式中的唯一ID,例如, |
| 一个ISO 8601日期字符串,表示事件发生的时间。 |