
[英]Manually trigger Github Actions workflow after another workflow successfully runs
[英]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.