我正在寻找以下问题的解决方案: Github上的PR触发了TeamCity的构建。此PR有一些新添加的文件。我想将这些文件的名称传递给我的脚本,该脚本通过配置/环境参数在构建步骤中使用。
这可能吗?
我很感激任何想法如何做到这一点。 谢谢!
答案 0 :(得分:1)
TeamCity没有GitHub拉取请求的原生概念,因此您需要使用git
自行生成新文件列表。如果您知道拉取请求的合并基础对于配置中的所有构建都是相同的,那么让我们说master
作为示例,那么您可以使用git
单行代码执行此操作而不涉及GitHub在所有:
git diff --name-only --diff-filter=A master...
如果你不知道拉取请求的合并基础,你需要首先查询GitHub的API:
curl https://api.github.com/repos/${USER}/${REPO}/pulls/${PR_NUMBER} | jq '.base.ref'
并将结果传递到git diff
命令,而不只是使用master
。