GitHub Actions:如何根据多分支条件设置动作输入变量?
GitHub Actions 多分支条件赋值实现
你可以通过两种方式实现多分支的条件判断:
方式一:逻辑或运算符连接多个相等判断
直接用||把两个分支判断连接起来,语法和原单分支逻辑一致:
B: ${{ env.BRANCH_NAME == 'f1' || env.BRANCH_NAME == 'f2' && 1 || 2 }}
方式二:使用contains函数结合数组(更简洁)
GitHub Actions支持contains函数,配合fromJSON将字符串转为数组,实现类似Python中in的判断逻辑,这种写法在分支数量较多时更易维护:
B: ${{ contains(fromJSON('["f1", "f2"]'), env.BRANCH_NAME) && 1 || 2 }}
修改后的完整配置代码
name: **** on: push: env: BRANCH_NAME: ${{ github.head_ref || github.ref_name }} jobs: job1: name: ***** runs-on: ***** steps: - name: ***** uses: some-action@some-version with: A: 1 B: ${{ contains(fromJSON('["f1", "f2"]'), env.BRANCH_NAME) && 1 || 2 }}
内容的提问来源于stack exchange,提问作者Amin Ba
相关产品推荐
相关产品推荐

