![](/img/trans.png)
[英]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.