微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

从 Cake 中的 GitHub Pull Requests 访问目标分支名称

如何解决从 Cake 中的 GitHub Pull Requests 访问目标分支名称

我正在与 Cake 和 Teamcity 合作,我正在尝试访问 GitHub PR 的目标分支

一直在尝试为 Cake do 找到一个 GitHub API 包装器来完成这项工作,或者为 TeamCity 寻找一个插件/脚本来用值填充一些参数,但到目前为止没有运气。

是否有我错过的 Cake 或 TeamCity 中 Github PR 的好包装?

解决方法

我确定您没有遗漏任何东西。

问题是 - 在寻找如何在 Cake 中执行此操作之前 - 首先如何获取信息。

如果您在 GitHub Actions 上进行构建,则 GitHub 会为 PR 填充 github.base_ref,其中包含您正在寻找的内容。

现在,我不知道 TeamCity 如何结帐,所以我可能无法真正帮助您。我能做的就是给你一个指针:

AppVeyor 在构建 PR 时所做的是:

git clone -q <url of repo>
cd <name-of-repo>
git fetch -q origin +refs/pull/<gh-id-of-pr>/merge:
git checkout -qf FETCH_HEAD

如果你 - 在那个状态 - 做

 git branch --contains HEAD^1

输出(至少在我的测试中)是:

* (HEAD detached at FETCH_HEAD)
  develop

如上所述,我不确定 TC 为 PR 构建做了什么,但我想您需要上述内容。 在检查 GitHub API 可以做什么之前,我个人会尝试使用 git 命令获取所需信息。

,

最后我找到并使用了Octokit SDK for dotnet https://github.com/octokit/octokit.net

因为我对@Nils 的回答也需要对 repo 的授权才能运行 GIT 命令,所以我采用了更适合 Cake 的更高级别的解决方案

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。