簡體   English   中英

GitHub 動作觸發工作流形成另一個工作流

[英]GitHub Actions triggering workflow form another workflow

我有一個 Github 存儲庫 (repo A),其中有一個在該存儲庫中運行的工作流(使用 Terraform 文件並將它們應用到 AWS 上)。 我試圖從不同的 Github 存儲庫 (repo B) 觸發該工作流,因此我在 repo B 中創建了一個工作流,對 repo A 進行了檢出,然后嘗試使用“gh”CLI 觸發該工作流。

jobs:
  traffic-split:
    runs-on: ubuntu-latest
    permissions:
      id-token: write
      contents: read
    steps:
    - name: Checkout to repo A
      uses: actions/checkout@master
      with:
        repository: <My_Organization>/<My_Called_Repo>
        token: ${{ secrets.GH_TOKEN }}

    - name: Run Workflow
      run: |
        curl -X POST -H "Content-Type: application/json" -H "Accept: application/vnd.github.v3+json" "https://api.github.com/repos/<My_Organization>/<My_Called_Repo>/.github/workflows/<My_Called_Worflow>/dispatches"

但是,它失敗並顯示 404 NOT FOUND。

{
  "message": "Not Found",
  "documentation_url": "https://docs.github.com/rest/reference/actions#create-a-workflow-dispatch-event"
}

當運行其他 GH CLI 命令(如“gh workflow list”等)時,它可以工作,但觸發工作流失敗。 觸發工作流程時我錯過了什么?

謝謝!

嘗試使用 GitHub 操作: workflow-dispatch

  - name: Invoke Server Workflow 
    uses: benc-uk/workflow-dispatch@v1
    with:
      workflow: Server build
      repo: some_repo
      token: ${{ secrets.PAT_TOKEN }}
      ref: refs/heads/main

嘗試使用 GitHub API 文檔: GitHub API

- name: Run Workflow
  run: |
    $uri 
    ('https://api.github.com/repos/{0}/{1}/actions/workflows/{2}/dispatches' 
    -f $(ORGANIZATION), $(REPOSITORY), $(WORKFLOW_NUMBER))
    $Body = @{'ref' = 'main'} | ConvertTo-Json
    $params = @{ContentType='application/json'
    Headers     = @{'authorization'="token $(GITHUB_TOKEN)"
    'accept'='application/vnd.github.everest-preview+json'}
    Method='Post'
    URI=$Uri
    Body=$Body
    }
    Invoke-RestMethod @params -verbose

暫無
暫無

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

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