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

无需手动添加参数,如何检测CircleCI流水线是否为手动触发?

无需手动参数检测CircleCI流水线是否为手动触发的方法

当然有办法——CircleCI本身就内置了可以自动识别流水线触发来源的参数,完全不需要用户手动输入额外参数来区分。

核心方法:利用pipeline.trigger_source内置参数

CircleCI会自动给每个流水线赋值pipeline.trigger_source,不同触发方式对应不同取值:

  • manual:通过UI点击「Trigger Pipeline」手动触发的流水线
  • push:代码推送(比如git push)触发的自动构建
  • schedule:定时任务触发的流水线
  • api:通过CircleCI API调用触发的流水线

替换后的配置示例

把你原有的workflow条件替换成检测这个内置参数即可,不用再依赖手动输入的manual参数:

workflows:
  run_tests:
    when:
      and:
        - equal: [manual, << pipeline.trigger_source >>]
        [...] # 保留你原来的其他判断条件

扩展场景:兼容API触发

如果你的场景需要同时支持手动触发和API触发(比如脚本调用API触发也需要执行这个workflow),可以用or条件组合两种来源:

workflows:
  run_tests:
    when:
      and:
        - or:
            - equal: [manual, << pipeline.trigger_source >>]
            - equal: [api, << pipeline.trigger_source >>]
        [...]

这样用户手动触发流水线时,不用再额外设置参数,CircleCI会自动识别触发类型并匹配执行条件。

内容的提问来源于stack exchange,提问作者Steve Chambers

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.29 19:10:02