用途:在 Speckle 中创建、更新、删除和查询 Webhook,并处理其回调负载,实现对 Speckle 事件的自动化响应。
主要能力:通过 GraphQL 提供 Webhook 的 CRUD 操作(webhookCreate、webhookUpdate、webhookDelete,以及 project.webhooks 查询),支持 14 种事件触发字符串(如 commit_create、branch_update、comment_created 等),支持 HMAC 签名校验、投递历史查询与重试跟踪。
使用方式:调用 webhookCreate 时需提供 streamId、url、triggers 等字段,返回 Webhook ID 供后续操作使用;触发字符串必须使用内部名称(如 commit_create),不能使用界面显示名(如 version_create)。接收端应校验 HMAC 签名与 webhook.id,立即返回 2xx,并将耗时处理放入后台队列。
适用场景:CI/CD 触发、版本创建通知、评论与权限变更自动化等。
限制:每个项目最多 100 个 Webhook;历史查询每次最多 25 条;需要 streams:write 权限和 Stream Owner 角色;secret 创建后不再返回,仅暴露 hasSecret;负载中 server.id、user.passwordDigest、user.email、webhook.secret 会被剥离。