首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Github动作表达式不允许比较或使用!(非)运算符

Github动作表达式不允许比较或使用!(非)运算符
EN

Stack Overflow用户
提问于 2021-04-01 01:56:37
回答 2查看 208关注 0票数 0

我有3个步骤:

代码语言:javascript
复制
- name: echo1
  run: echo ${{ steps.stepid.outputs.value }}
    
- name: echo2
  run: echo ${{ steps.stepid.outputs.value == false }}

- name: echo3
  run: echo ${{ !steps.stepid.outputs.value }}

并且所有的输出都是"false“。如何将false值恢复为true?

EN

回答 2

Stack Overflow用户

发布于 2021-04-02 22:25:13

正确的答案是,上一步的布尔值实际上变成了当前步骤的字符串。因此,应该使用...output.value == 'false'而不是...output.value == false

票数 1
EN

Stack Overflow用户

发布于 2021-11-23 08:02:13

值得一提的是,还有另一个解决方案:使用GitHub内置的toJSONfromJSON函数封送该值。

代码语言:javascript
复制
...
steps:
  - name: I produce a boolean output
    id: output_producer
    shell: bash
    run: |
      if [[ $RANDOM > 100 ]]; then i=true; else i=false; fi
      echo "::set-output name=boolean_output::${{ toJSON($i) }}"
      echo "::set-output name=integer_output::${{ toJSON($i) }}"
  - name: I only run conditionally
    if: fromJSON(steps.output_producer.outputs.boolean_output) 
    shell: bash
    run: |
      echo "Ran successfully!"
  - name: I run always
    if: always()
    shell: bash
    run: |
      echo ${{ fromJSON(steps.output_producer.outputs.integer_output) }}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66892911

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档