如何缩短GitHub PR中GitHub Actions生成的检查名称?
简化GitHub Actions检查名称的方法
默认情况下,GitHub Actions生成的检查名称由workflow name + job id + step name + on condition拼接而成,层级冗长;如果移除步骤或工作流的name参数,GitHub会使用完整文件名(含路径)作为名称,反而更不友好。要实现类似SonarCloud的单一简洁检查名称,可通过以下方式解决:
方法一:调用GitHub Checks API自定义检查
使用actions/github-script action直接调用GitHub Checks API,创建自定义名称的检查,同时可关闭默认的步骤级检查输出。
示例配置如下:
jobs: build: runs-on: ubuntu-latest steps: - name: 检出代码 uses: actions/checkout@v4 - name: 执行构建与检查 id: run-check run: | # 替换为你的实际检查命令 npm run build && npm test - name: 创建自定义检查 uses: actions/github-script@v7 with: script: | await github.rest.checks.create({ owner: context.repo.owner, repo: context.repo.repo, name: '构建与代码检查', # 设置你需要的单一名称 head_sha: context.sha, status: 'completed', conclusion: '${{ steps.run-check.outcome }}', output: { title: '构建与代码检查结果', summary: '检查已完成,结果:${{ steps.run-check.outcome }}' } }) # 可选:关闭默认步骤的检查输出 - name: 禁用默认步骤检查 if: always() run: echo "::remove-matcher owner=github-actions::"
方法二:使用第三方action简化
部分第三方action封装了Checks API的调用,比如LouisBrunner/checks-action,能更便捷地生成自定义检查名称:
示例配置:
jobs: build: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - name: 执行检查 id: test run: npm test - name: 提交自定义检查 uses: LouisBrunner/checks-action@v1.6.0 with: token: ${{ secrets.GITHUB_TOKEN }} name: '代码质量检查' status: completed conclusion: ${{ steps.test.outcome }}
配置完成后,GitHub检查列表中会显示你自定义的单一名称,和SonarCloud的展示形式一致,避免了冗长的层级拼接。
内容的提问来源于stack exchange,提问作者Gustavo Lopes
相关产品推荐
相关产品推荐

