是否有可能在teamcity中识别PR中的新添加文件?

时间:2016-11-01 17:12:47

标签: github teamcity

我正在寻找以下问题的解决方案: Github上的PR触发了TeamCity的构建。此PR有一些新添加的文件。我想将这些文件的名称传递给我的脚本,该脚本通过配置/环境参数在构建步骤中使用。

这可能吗?

我很感激任何想法如何做到这一点。 谢谢!

1 个答案:

答案 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