繁体   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