基于脚本中设置的环境变量的动态运行名称

问题描述 投票:0回答:1

对于我的多个计划作业,我想根据作业操作/输出动态设置运行名称

我有 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

期待更好的方法..提前致谢。

github cron github-actions
1个回答
0
投票

如果有人希望在运行名称中包含动态环境名称,我想分享此工作流程。

截至 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 }}'
© www.soinside.com 2019 - 2024. All rights reserved.