加入我们,于10月8日至10日在纽约市,学习有关GraphQL联邦和API平台工程的最新技巧、趋势和新闻。参加2024年在纽约市举行的GraphQL峰会
文档
免费开始

模式建议通知

在创建或修改模式建议时接收警报


仅在有GraphOS 企业计划.

配置以向 webhook 发送通知,每次创建或修改架构提案或其状态更改时。这些 webhook 有助于自动化工作流程。例如,当提案的状态更改为批准时,您的组织可能希望在代码库中打开草稿拉取请求。

设置

  1. 转到您的's设置页面,页面位于GraphOS Studio.

  2. 打开报告选项卡。

  3. 在右上角点击添加通知

  4. 选择架构提案并点击下一步

  5. 选择您想要接收通知的事件:

    • 提案创建
    • 提案修订
    • 提案状态更改
  6. 选择现有的 webhook 通知通道或创建一个新通道。如果创建新的通道,请根据下一节描述配置 webhook。

配置 webhook

自定义 webhook 需要在公共互联网上可访问的 HTTPS 端点设置。 GraphOS会将 webhook 通知发送到此端点作为POST请求。通知详情作为下一节所述的 JSON 提供在请求体中。

  1. 通道名称字段中,为本通知通道指定一个名称。此名称必须在全graph's 通知通道(包括 Slack 通道)中唯一。

  2. Webhook URL输入框中,提供您的 HTTP(S) 端点 URL。

  3. 可选地,输入一个密钥令牌

    如果您输入了一个令牌,则每个通知HTTP请求都包含一个x-apollo-signature标题头部,其值是一个使用该令牌、请求数据作为消息和SHA256散列函数生成的哈希消息认证码(HMAC)。该x-apollo-signature标题头部的格式为sha256=<hmac-value>

    参考此Okta指南以了解更多关于实施的情况以及查看其他资源。

  4. 单击下一步并完成对话框中剩余的步骤。

Webhook格式

自定义Webhook通知细节以JSON对象形式在请求体中提供。为了避免包含敏感信息,有效载荷包含ID,例如提案ID和修订ID,而不是包含提案或修订详细信息的对象。您可以使用平台API使用Webhook负载中的ID获取完整对象。

JSON对象符合ResponseShape接口的结构:

enum ProposalStatus {
OPEN
DRAFT
IMPLEMENTED
APPROVED
}
interface ResponseShape {
"eventType": string;
"eventID": string;
"graphID": string;
"variantID": string;
"proposalID": string;
"change": {
"status": ProposalStatus | undefined
"previousStatus": ProposalStatus | undefined
"revisionId": string | undefined
},
"timestamp": string;
}

字段描述

字段描述
eventType

模式提案事件,可以是APOLLO_PROPOSAL_CREATEDPROPOSAL_REVISION_SAVEDAPOLLO_PROPOSAL_STATUS_CHANGE

eventId

一个唯一的事件ID

proposalID

一个唯一的提案ID

change
  • 对于APOLLO_PROPOSAL_CREATED事件,此字段不存在。

  • 对于PROPOSAL_REVISION_SAVED事件,已保存修订的唯一revisionID

  • 对于APOLLO_PROPOSAL_STATUS_CHANGE事件,提案的当前statuspreviousStatus。有关更多信息,请参阅提案状态

graphID

一个唯一的 ID

variantID

格式中的唯一ID,例如,graphID@variantName

timestamp

一个ISO 8601日期字符串,表示事件发生的时间。

Previous
Schema changes
Next
Performance alerts
评分文章评分在GitHub上编辑编辑论坛Discord

©2024Apollo Graph Inc.,商号 Apollo GraphQL.

隐私政策

公司