【发布时间】:2021-03-12 02:20:23
【问题描述】:
【问题讨论】:
标签: github-actions
【问题讨论】:
标签: github-actions
我很确定答案是否定的,您不能以编程方式将一个 repo 订阅到另一个 repo 的事件。
但是,您可以做的是运行scheduled job(每天一次,如果需要,可以更频繁地运行)来检查是否有任何更新。您可以将最后一个已知的 SHA 存储在您的存储库中,然后在操作检测到更新时通过 PR 或直接提交对其进行更新。
这类似于https://dependabot.com/ 之类的工具所做的事情。
【讨论】:
您可以使用“Repository_dispatch”触发器来触发任何工作流。下面的链接可能会有所帮助
on:
repository_dispatch:
types: [start-example-workflow]
使用该有效负载,您可以将请求发布到https://api.github.com/repos/:owner/:repo/dispatches 以触发工作流
Accept: application/vnd.github.everest-preview+json
Content-Type: application/json
Authorization: Bearer {{personal_access_token}}
{
"event_type": "my_event_type",
"client_payload": {
"example-key": "example-value"
}
}
如果这对你有帮助,请告诉我。
【讨论】:
如果您无法访问这两个存储库,这可能没有帮助,但由于我还没有找到任何其他解决方案,所以我还是发布了它。
解决方案可以在推送或任何其他事件上发生,它正在使用这个dispatch github action:
name: Trigger PR in PMS on release
on: push
jobs:
build:
name: Dispatch an update
steps:
- uses: mvasigh/dispatch-action@main
with:
token: ${{ secrets.GH_TOKEN }}
repo: from-repository
event_type: update_event
然后从订阅的存储库中监听 event_type:
name: Update event
on:
repository_dispatch:
types: [update_event]
jobs:
build:
steps:
- run: yarn
...
【讨论】: