You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在TeamCity Build Chain中配置Manual Approval手动审批流程

TeamCity 构建链QA手动审批实现方案

TeamCity原生支持该需求,无需第三方插件,可通过以下三种方案实现,按易用性排序如下:

方案1:手动触发依赖配置(最常用,推荐)

将需要审批的节点前后拆分为三个独立的构建配置,按顺序组成构建链:上游构建(打包/测试)→ 审批占位配置 → 下游构建(升级/部署)

  • 配置审批占位配置规则:
    • 移除所有自动触发规则,仅保留手动触发权限
    • 权限配置中仅开放触发权限给QA角色,其他人员无该配置的触发权限
    • 添加上游构建的快照依赖,仅允许在上游构建成功后触发该审批配置,避免无效审批
  • 配置通知规则:
    • 在上游构建的成功通知规则中,添加QA组的通知接收权限,通知方式可选择邮件、企业IM webhook等
    • 通知模板中嵌入审批占位配置的触发页面地址,QA收到通知后点击地址登录,手动触发审批配置即视为审批通过,构建链会自动执行后续的升级步骤
  • 可选留痕配置:在审批占位配置中添加单步命令行执行步骤,自动记录审批信息,命令参考:
    echo "审批已通过,审批人:%teamcity.build.triggeredBy.username%,审批时间:%system.build.start.time%,关联上游构建ID:%dep.<上游构建配置ID>.build.id%"
    
    输出内容会自动存入构建日志作为审批留痕。

方案2:构建链暂停恢复方案

无需拆分原有构建链,通过REST API控制构建链执行状态实现审批:

  • 在前序构建的最后一步添加命令行步骤,调用REST API暂停当前构建链的后续执行,命令参考:
    curl -u <TeamCity账号>:<访问Token> -X PUT "http://<你的TeamCity服务地址>/app/rest/builds/id:%teamcity.build.id%/pause" -H "Content-Type: text/plain" -d "true"
    
  • 同步在该步骤中配置通知逻辑,给QA发送包含构建链恢复入口的通知
  • QA校验通过后,手动恢复构建链即可自动执行后续的升级步骤,驳回则直接终止当前构建即可

方案3:自定义轮询审批(适合多人审批等复杂场景)

如果需要多人会签、审批理由填写等复杂逻辑,可以通过自定义脚本实现:

  • 在需要审批的节点前添加命令行步骤,循环读取指定的审批状态标记
  • QA通过内部表单、聊天机器人等渠道提交审批结果后,结果会同步写入该构建的参数或指定存储位置
  • 脚本检测到审批通过标记后自动继续执行后续步骤,检测到驳回标记则直接标记构建失败终止流程

提示:TeamCity没有单独命名的「审批」功能入口,上述方案均为原生功能组合实现,可覆盖绝大多数企业级审批场景。

内容的提问来源于stack exchange,提问作者Red Bottle

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.03 19:48:03