【问题标题】:Access target branch name from GitHub Pull Requests in Cake从 Cake 的 GitHub Pull Requests 访问目标分支名称
【发布时间】:2021-05-24 19:05:17
【问题描述】:

我正在使用 Cake 和 Teamcity,我正在尝试访问 GitHub PR 所针对的分支

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

有没有我错过的 Cake 或 TeamCity 中的 Github PR 包装器?

【问题讨论】:

    标签: github teamcity pull-request cakebuild


    【解决方案1】:

    我确定您没有遗漏任何内容。

    问题将是 - 在搜索如何在 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 命令获取所需的信息。

    【讨论】:

      【解决方案2】:

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

      因为我对于@Nils 的回答也需要 repo 的授权才能运行 GIT 命令,所以我选择了更原生于 Cake 的更高级别的解决方案

      【讨论】:

        猜你喜欢
        • 2018-09-18
        • 2020-04-10
        • 1970-01-01
        • 1970-01-01
        • 2023-03-26
        • 2020-12-16
        • 1970-01-01
        • 1970-01-01
        • 2021-07-25
        相关资源
        最近更新 更多