Continuous integration 表达式语法中的回退

Continuous integration 表达式语法中的回退,continuous-integration,yaml,github-actions,Continuous Integration,Yaml,Github Actions,我有一个github工作流,它在两个不同的事件上运行:pull_请求和手动。看起来是这样的: 关于: 拉拽请求: 分支机构:[硕士] 工作流_分派:{} 环境: API_网址:https://example.com/ 我想要的是,当我手动触发工作流时,能够设置一个备用的API\u URL。但我希望工作流在自动运行时也能运行。 因此,首先,我将“输入””添加到工作流中 关于: 拉拽请求: 分支机构:[硕士] 工作流程和调度: 投入: API_网址: 说明: 必填项:true 违约:https:/

我有一个github工作流,它在两个不同的事件上运行:pull_请求和手动。看起来是这样的:

关于:
拉拽请求:
分支机构:[硕士]
工作流_分派:{}
环境:
API_网址:https://example.com/
我想要的是,当我手动触发工作流时,能够设置一个备用的
API\u URL
。但我希望工作流在自动运行时也能运行。 因此,首先,我将“
输入”
”添加到工作流中

关于:
拉拽请求:
分支机构:[硕士]
工作流程和调度:
投入:
API_网址:
说明:
必填项:true
违约:https://example.com
环境:
API_URL:${{github.event.API_URL}
据我所知,这样一来,只有在手动运行工作流时才会设置
API\u URL
env变量。但是当它自动运行时,就没有
github.event.API\uURL

在我看来,这里需要有条件的撤退。 像这样的东西行吗

env:
API_URL:${{github.event.API_URL | |'https://example.com/' }}
但是从文档中,
|
操作符将计算为
1
0


有没有解决这个问题的好办法?谢谢

不幸的是,这是不可能的。但是,只有当作业不是手动运行时(例如,作业由PR事件触发),才可以通过(
API_URL
)动态地将默认值设置为默认值来实现相同的效果。您可以通过创建一个条件作业步骤来实现,该步骤仅在尚未设置
API\u URL
时运行:

关于:
拉拽请求:
分支机构:
-主人
工作流程和调度:
投入:
API_网址:
必填项:true
违约:https://example.com
工作:
建造:
环境:
API_URL:${{github.event.inputs.API_URL}
运行于:ubuntu最新版本
步骤:
-名称:设置API_URL环境变量
if:env.API_URL==null
运行:echo“API\u URL=https://example.com“>>$GITHUB_ENV
-名称:测试API_URL环境变量
运行:echo“API\u URL=$API\u URL”

通过这种方式,我们将设置
API\u URL
环境变量,无论工作流是以何种方式触发的(手动还是自动),并且在手动运行时能够使用自定义值覆盖该变量。

谢谢,不过我会尝试这看起来不是一个好的解决方案。首先,您需要在“输入”和“步骤”中复制默认值。其次,为每个环境值添加一个步骤会变得很麻烦。但非常感谢,这仍然是一个解决方案,我会尝试一下