![](/img/trans.png)
[英]How to authenticate a GitHub Actions workflow as a GitHub App so it can trigger other workflows?
[英]Any other way to trigger workflows after pushing in Github Actions?
我有一個工作流程,它對存儲庫進行了一些修改,然后推送它,期待推送工作流程開始。 現在我知道文檔中的預期方式建議我創建一個 PAT,但這對我來說似乎是一個 hacky 解決方案,因為整個構建過程與我的帳戶相關聯,並且我的帳戶處於活動狀態並具有必要的權限。
它還希望我的帳戶能夠推送訪問我的主要分支機構,這是我不想擁有的。 我想通過 PR 來運營。
我還有其他選擇嗎? 我是否需要在我的組織中創建一個my-github-bot
帳戶並為此創建一個 PAT? 與僅使用默認${{ secrets.GITHUB_TOKEN }}
啟用工作流觸發開關相比,所有這些選項似乎都太老套了
推送的工作流也可以在第二個工作流上使用workflow_dispatch
觸發器來啟動另一個工作流。 通過撥打 REST 電話或包括電話gh
:
gh workflow run {{workflow.yaml}} --ref {{sha}} --repo {{owner/repo}}
或者使用可用操作之一在推送步驟之后調用工作流。
例如:
- name: Invoke workflow with inputs
uses: benc-uk/workflow-dispatch@v1
with:
workflow: Another Workflow
您也可以使用 GitHub 應用程序,它有一個特殊的操作。 您授予應用程序調用工作流的權限,然后讓工作流檢索令牌以在需要時調用其他工作流,您甚至可以使用該令牌進行推送。
- name: Get Token
id: get_workflow_token
uses: peter-murray/workflow-application-token-action@v1
with:
application_id: ${{ secrets.APPLICATION_ID }}
application_private_key: ${{ secrets.APPLICATION_PRIVATE_KEY }}
- name: Use Application Token to create a release
uses: actions/create-release@v1
env:
GITHUB_TOKEN: ${{ steps.get_workflow_token.outputs.token }}
with:
....
需要進行一些設置才能注冊應用程序並為其授予正確的權限。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.