对于我的多个计划作业,我想根据作业操作/输出动态设置运行名称
我有 4 个预定作业,分别在桌面、Iphone 浏览器、API 测试和 Android 浏览器上运行。根据预定的时间,我想为每次运行设置不同的运行名称。
我尝试用环境变量设置它但没有成功..
代码片段:
name: GitHub Workflow Scheduled Test
run-name: Regression Test on ${{github.env.runName}}
on:
workflow_dispatch:
schedule:
- cron: '20 10 * * *' #Desktop Run
- cron: '25 10 * * *' #Iphone Run
- cron: '30 10 * * *' #API run
- cron: '35 10 * * *' #Android run
jobs:
test:
name: Scheduled Job
timeout-minutes: 240
runs-on: ubuntu-latest
steps:
- name: Set Run Name
uses: dkershner6/switch-case-action@v1
id: setRunName
with:
default: QA - Desktop
conditionals-with-values: |
${{github.event.schedule=='20 10 * * *'}} => QA - Desktop
${{github.event.schedule=='25 10 * * *'}} => QA - Iphone
${{github.event.schedule=='30 10 * * *'}} => QA - API
${{github.event.schedule=='35 10 * * *'}} => QA - Android
- run: |
echo runName=${{steps.setRunName.outputs.value}} >> $GITHUB_ENV
我想要运行名称:${{github.env.runName}}代码上的回归测试,以根据输出打印QA - 桌面上的回归测试。
目前打印空白: [![在此处输入图像描述][1]][1] [1]:https://i.sstatic.net/ZNSEX.png
预期响应: [![在此处输入图像描述][2]][2] [2]:https://i.sstatic.net/lyDri.png
期待更好的方法..提前致谢。
如果有人希望在运行名称中包含动态环境名称,我想分享此工作流程。
截至 2025 年 12 月 25 日,我可以确认这对我有用。尽管文档说
run-name
只能访问 {{ inputs }}
和 {{ github }}
上下文,但是当我在存储库级别(在 Github 秘密下)添加变量并使用 vars.DEFAULT_ENVIRONMENT
访问它时,令人惊讶的是它起作用了。您可以使用相同的技巧来实现您正在寻找的目标。
可能这是一个未记录的功能(如果他们在发现后将其删除,则有点不愿意发布😁)。
on:
push:
branches:
- main
paths:
- 'abcd/**'
workflow_dispatch:
inputs:
environment:
description: 'Choose the deployment environment'
required: false
default: 'DEV'
type: choice
options:
- DEV
- UAT
- PROD
run-name: '${{ github.event.inputs.environment || vars.DEFAULT_ENVIRONMENT }} - Run ID: ${{ github.run_id }} - by @${{ github.actor }}'