簡體   English   中英

GitAction:在 PR 批准時觸發工作流並且當基本分支是主要 AND.csv 文件更新時

[英]GitAction: Trigger workflow on PR approval AND when base branch is main AND .csv file is updated

我正在嘗試使用以下代碼,但由於以下原因,它沒有處理所有 3 個條件:

  1. base_ref 僅適用於 pull_request/push 事件,不適用於 pull_request_review
  2. action dorny/paths-filter@v2.2.1僅適用於 pull_request/push 事件
on:
  pull_request_review:
    types: [submitted]
    branches:
      - main

jobs:
  myJob:
    name: myJob
    if: github.event.review.state == 'approved' && startsWith(github.base_ref, 'main/')
    runs-on: [self-hosted, prd]
    steps:
      - name: Checkout repository
        uses: actions/checkout@v2.2.0
      - name: Check if *.csv is modified
        uses: dorny/paths-filter@v2.2.1
        id: changes
        with:
          filters: |
            csv:
              - 'data/*.csv'    
      - name: Run process bmv script
        if: ${{ steps.changes.outputs.csv == 'true' }}
        run: |
          echo "-Started running script-"

任何人都可以建議我如何處理所有 3 個條件:PR 批准、基本分支作為主要分支並且僅修改 csv。

最后,我通過執行 Matteo 的方式並調整現有代碼得到了答案。 調整:將dorny/paths-filter@v2.10.2 dorny/paths-filter@v2.2.1因為此版本支持它處理 pull/pill_request 事件以外的事件。

on:
  pull_request_review:
    types: [submitted]

jobs:
  myJob:
    name: myJob
    if: startsWith(github.event.pull_request.base.ref, 'main') && (github.event.review.state == 'approved')
    runs-on: [self-hosted, prd]
    steps:
      - name: Checkout repository
        uses: actions/checkout@v2.2.0
      - name: Check if *.csv is modified
        uses: dorny/paths-filter@v2.10.2
        id: changes
        with:
          filters: |
            csv:
              - 'data/*.csv'    
      - name: Run process bmv script
        if: ${{ steps.changes.outputs.csv == 'true' }}
        run: |
          echo "-Started running script-"

感謝所有幫助,上面是完整的工作解決方案,它檢查所有 3 個條件,即僅當 PR 被批准並且 PR 將基本分支作為主要分支並且數據文件夾中的 csv 文件被修改時才運行工作流。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM