设置 GitHub Webhook
使用个人访问令牌将应用连接到 GitHub 仓库(POST /v2/apps//deploy/webhook),或发送 @ 移除 webhook。
POST
设置 GitHub Webhook
需要具有
其他所有响应都以
apps:deploy 权限范围的 API 密钥。
该端点以经典方式将应用连接到 GitHub 仓库:生成一个个人访问令牌(ghp_* 或细粒度的 github_pat_* 格式),Square Cloud 会返回一个唯一的 webhook URL,供你在该仓库上注册,以便推送时触发部署。发送 access_token: "@" 则会移除该应用现有的 webhook 和访问令牌。
配置或移除 webhook 会使获取当前部署的缓存响应失效。调用频率限制为每个用户每 60 秒 5 次,在工作区共享的应用上,调用者需要具有 admin 角色或为所有者。要查看由该 webhook 触发的部署尝试,请使用列出部署。
webhook 和 GitHub App 关联可以同时配置在同一个应用上:设置其中一个不会移除另一个。
参数
string
必填
应用程序的 ID。你可以在应用程序仪表盘的 URL 中找到它。
string
必填
你的 GitHub 仓库的访问令牌。你可以在 GitHub Tokens Classic 中找到它。
响应
string
指示调用是否成功。成功时为
success,否则为 error。object
响应的内容。
常见错误
Webhook 投递
GitHub 会将每次推送发送到 webhook URL(POST https://api.squarecloud.app/v2/git/webhook/{webhook})。响应为纯文本(text/plain),说明部署是否已加入队列,因此 GitHub 上该 webhook 的 Recent Deliveries 列表会显示每次推送的处理结果。只有 429 响应使用 JSON(KEEP_CALM)。
只有在部署已存入队列后才会返回 200:
Nothing was deployed. 结尾。
相关内容
- CLI:
squarecloud app deploy webhook - SDK:
api.apps.deploys.setWebhook()(JavaScript)、client.apps.deploys.set_webhook()(Python)、c.Apps.Deploys.SetWebhook()(Go)

