如何避免接收特定GitHub Action失败的通知
如何排除特定GitHub Action的失败通知?
可行,有两种简单的实现方式:
方法一:通过GitHub自定义通知规则过滤
- 给那个预期会失败的工作流设置一个独特的名称,比如在工作流YAML文件顶部指定:
name: PR 前置检查(需添加特定标签) - 进入GitHub个人通知设置(右上角头像 → 设置 → 通知),找到「自定义通知规则」,点击「添加规则」:
- 选择目标仓库
- 在「事件」中勾选「工作流运行」,仅保留「失败」选项
- 在「筛选条件」里添加规则:工作流名称不匹配「PR 前置检查(需添加特定标签)」
- 保存规则即可,这样只会收到除这个工作流外的其他失败通知
方法二:在工作流中控制通知触发逻辑
如果不想依赖全局通知规则,也可以在工作流文件里做判断,仅在非预期失败时发送通知:
jobs: pre-check: runs-on: ubuntu-latest steps: - name: 检查标签 id: check-tag run: | if [[ "${{ contains(github.event.pull_request.labels.*.name, '特定标签名称') }}" == "true" ]]; then echo "has_tag=true" >> $GITHUB_OUTPUT else echo "has_tag=false" >> $GITHUB_OUTPUT fi - name: 执行检查逻辑 run: | if [[ "${{ steps.check-tag.outputs.has_tag }}" == "false" ]]; then exit 1 # 故意失败 fi # 正常检查逻辑 - name: 发送失败通知(仅非预期失败时) if: failure() && steps.check-tag.outputs.has_tag == 'true' uses: actions/github-script@v6 with: script: | github.rest.issues.createComment({ issue_number: context.issue.number, owner: context.repo.owner, repo: context.repo.repo, body: '工作流执行失败,请排查问题' })
这个方式下,只有当存在特定标签但工作流仍失败时,才会发送通知;预期的无标签失败不会触发通知
内容的提问来源于stack exchange,提问作者Jaanesen
相关产品推荐
相关产品推荐

