如何配置GitHub Actions在PR关闭或特定标签移除时触发销毁工作流?
解决方案
要实现仅在移除preview标签时触发unlabeled事件的销毁工作流,你需要调整工作流的触发条件判断逻辑,核心是利用GitHub Actions事件上下文里的github.event.label字段识别被移除的标签:
修正后的工作流配置
on: pull_request: types: [ closed, unlabeled ] jobs: destroy_preview: # 两个触发条件:PR关闭,或者移除的是preview标签 if: > (github.event.action == 'closed') || (github.event.action == 'unlabeled' && github.event.label.name == 'preview') uses: myrepo/.github/workflows/preview-app-destroy.yml@v0.3.6 with: project_id: xxx
关键说明
unlabeled事件精准触发:在unlabeled事件触发时,github.event.label会指向刚被移除的标签对象,直接判断其name是否为preview,就能确保只有移除该标签时才启动销毁流程。- 修正原配置的无效判断:你之前用
contains( github.event.pull_request.labels.*.name, 'preview')作为条件是错误的——标签被移除后,PR当前的标签列表里已经没有preview,这个条件会直接阻止工作流运行。 - 保留PR关闭触发逻辑:保留
closed事件的触发,满足你“PR关闭时销毁资源”的需求。
内容的提问来源于stack exchange,提问作者Olga
相关产品推荐
相关产品推荐

