如何在作业条件规则中使用变量 [英] How to use variable in job conditional rule
本文介绍了如何在作业条件规则中使用变量的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
- name: some job
if: contains(${{steps.previous-step.outputs.someoutput}}, 'sometext')
run: echo 'is executed'
问题是始终执行此作业,因此即使steps.previous-step.outputs.someoutput
不包含预期文本,条件也始终为True。
contains('some other text', 'sometext')
推荐答案
对if
表达式使用contains
函数时,不需要${{ }}
。
正确的语法是:
job1:
runs-on: ubuntu-latest
steps:
- id: step1
run: echo "::set-output name=test::hello"
- name: step2
if: contains(steps.step1.outputs.test, 'hello')
run: echo 'is executed'
- name: step3
if: contains(steps.step1.outputs.test, 'not_hello')
run: echo 'not executed'
此处,将执行step2
,但不执行step3
。
如果您想查看,我在this workflow run (job7)中做了一个例子。
这篇关于如何在作业条件规则中使用变量的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文