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

Semaphore CI:如何通过when子句仅运行定时触发的任务?

解决Semaphore CI仅在定时调度触发时运行任务的问题

你遇到的问题是Semaphore CI的when条件表达式语法使用错误,正确写法需要用env()函数引用环境变量,并且使用==进行相等判断。

正确配置示例

dependencies: [System Tests]
run:
  when: 'env("SEMAPHORE_WORKFLOW_TRIGGERED_BY_SCHEDULE") == "true"'

说明

  • Semaphore的when子句采用自定义表达式语法,必须通过env()函数引用环境变量,不能直接写变量名称。
  • 相等判断需使用==而非=,这是该表达式语法的硬性要求。
  • 当工作流由自动调度器触发时,SEMAPHORE_WORKFLOW_TRIGGERED_BY_SCHEDULE会被设置为字符串"true";其他触发场景下该变量不存在,条件返回false,任务不会执行。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.18 05:40:29