[英]GitHub Action `unlabeled` trigger
我有兩個工作流程來部署 gcp 資源。 一個工作流使用 label preview
觸發以創建基礎設施,第二個工作流需要在 PR unlabeled
時銷毀基礎設施。
on:
pull_request:
types: [opened, reopened, labeled]
jobs:
create-infrastructure:
if: ${{ contains( github.event.pull_request.labels.*.name, 'preview') }}
第二個工作流程我需要在關閉或未標記時觸發,並在第一個工作流程中應用特定的 label。
on:
pull_request:
types: [ closed, unlabeled ]
jobs:
destroy_preview:
if: ${{ contains( github.event.pull_request.labels.*.name, 'preview') }}
我不知道如何為特定的 label 定義unlabeled
。 如果有人有任何想法,那就太好了。
據我所知, 拉取請求 webhook 有效負載不包含已刪除的 label,但您可以獲取問題事件列表(也適用於拉取請求),按unlabeled
的事件過濾,然后查看 label最后一個的名字。
在run
步驟中使用GitHub CLI ,可能看起來像這樣:
name: Preview removed workflow
on:
pull_request:
types:
- unlabeled
jobs:
destroy_preview:
runs-on: ubuntu-20.04
steps:
- name: Check if "preview" was removed
env:
GITHUB_TOKEN: ${{ github.token }}
run: |
pr=${{ github.event.number }}
label=$(gh api "repos/$GITHUB_REPOSITORY/issues/$pr/events" \
--jq 'map(select(.event == "unlabeled"))[-1].label.name')
if [[ $label == 'preview' ]]; then
echo "The 'preview' label has been removed"
fi
您將在其中將echo
替換為您的基礎設施命令。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.