首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >GitHub操作使用workflow_dispatch变量或作业输出分配环境变量

GitHub操作使用workflow_dispatch变量或作业输出分配环境变量
EN

Stack Overflow用户
提问于 2022-11-10 18:44:38
回答 1查看 77关注 0票数 0

我有一个GitHub操作工作流,可以通过pull_request和工作流调度两种方式触发。

在pull_request期间,其中一个步骤生成将在以后的步骤中使用的输出。

在工作流调度期间,用户手动输入将在稍后步骤中使用的自定义输出。

如何在不出现空值的情况下使用该输出?我只能使用其中一个输出来赋值给一个变量,如何使它既接受又接受?

EN

回答 1

Stack Overflow用户

发布于 2022-12-01 02:36:17

如何利用github.event_name 上下文有条件地设置一个变量,您可以在以后的步骤中使用?这需要额外的一步,但相对简单。

my-workflow.yml

代码语言:javascript
运行
复制
name: Use input or job output

on:
  workflow_dispatch:
    inputs:
      my_input:
        description: Some workflow input
        type: string
  pull_request:
  
jobs:
  job1:
    runs-on: ubuntu-latest
    steps:
      - id: set_output
        run: echo "my_output=helloworld" >> $GITHUB_OUTPUT

      - name: Save job output OR workflow dispatch to Env
        run: |
          if [[ ${{ github.event_name == 'workflow_dispatch' }} == true ]]; then
            my_variable=${{ inputs.my_input }}
          else
            my_variable=${{ steps.set_output.outputs.my_output }}
          fi
          echo "my_variable=$my_variable" >> $GITHUB_ENV

      - name: Use the variable from previous step
        run: echo ${{ env.my_variable }}

如果您从workflow_dispatch手动运行此操作,则env.my_variable将是您输入的任何字符串。如果没有(由拉请求触发),env.my_variable将是来自set_output步骤的my_output

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/74393924

复制
相关文章

相似问题

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