gpt4 book ai didi

github - 当另一个存储库创建新版本时触发 GitHub 操作

转载 作者:行者123 更新时间:2023-12-04 12:26:27 25 4
gpt4 key购买 nike

我正在尝试构建一个 GitHub 工作流程,该工作流程将在另一个存储库创建新版本时触发。

在文档中,有一段: on.event_name.types 在哪里 event_name将是 release .

问题是:有什么办法可以引用release另一个存储库的事件?

最佳答案

Is there any way to refer to the release event of another repository?



相当肯定这个功能不存在。

如果您有权访问创建版本的存储库,那么您可以调用 webhook 事件来触发 on: repository_dispatch在另一个存储库中运行的工作流。 repository-dispatch在这种情况下,行动可以提供帮助。

如果您无权访问创建版本的存储库(我假设这里就是这种情况),那么这就是我的建议。首先,创建以下工作流,定期检查您要跟踪的存储库的发布版本标签。如果它与您当前保存在存储库中的发布版本不同,则将提交新版本。

请注意,您必须首先准备目标文件(例如 release-versions/swagger-ui-latest.txt),以便修改后的文件检查工作。
此外,您必须使用 repo范围 token 而不是默认的 GITHUB_TOKEN .有关详细信息,请参阅 Push to origin from GitHub action
name: Get latest release version
on:
schedule:
- cron: '0 10 * * *'
jobs:
get-version:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
with:
token: ${{ secrets.REPO_SCOPED_TOKEN }}
- name: Fetch release version
run: |
curl -sL https://api.github.com/repos/swagger-api/swagger-ui/releases/latest | \
jq -r ".tag_name" > release-versions/swagger-ui-latest.txt
- name: Check for modified files
id: git-check
run: echo ::set-output name=modified::$([ -z "`git status --porcelain`" ] && echo "false" || echo "true")
- name: Commit latest release version
if: steps.git-check.outputs.modified == 'true'
run: |
git config --global user.name 'Your Name'
git config --global user.email 'your-email@users.noreply.github.com'
git commit -am "New release version"
git push

然后,您可以创建第二个工作流,该工作流仅在看到目录 release-versions 的任何更改时运行。 .
on:
push:
paths:
- 'release-versions/*'

在此工作流程中,您可以使用保存的版本来获取您需要的 Assets 并进行任何您需要的处理。

这里是 a similar example这会引发拉取请求,而不是立即提交。

关于github - 当另一个存储库创建新版本时触发 GitHub 操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58465057/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com