如何在Jenkins的pull-request中获取git更改的文件

MMT*_*MMT 2 git jenkins jenkins-plugins

我使用 docker slaves 运行 Jenkins,我正在尝试获取已更改文件的名称(在合并请求中),以便我可以对这些文件进行一些进一步的自动化。

不幸的是,git diff(--name-only) 的任何变体都不会在 Jenkin 的控制台中产生任何标准输出。git status虽然工作正常。

如何在提交/合并请求中捕获更改文件的名称?它不一定是 CLI,我很高兴使用 web-hooks(gitlab-ce),尽管我还没有看到包含该信息的 CLI。

Chr*_*aes 5

当您git diff在 jenkins 工作中运行时,没有未分阶段的更改,因此没有git diff显示任何内容是完全正常的。git status可能还会告诉你一切正常。

如果您想在拉取请求中列出更改的文件,jenkins 不知道这一点。在任何情况下,您都需要要合并到的分支名称。可能 jenkins 已经设置了CHANGE_TARGET变量;那么你可以运行:

git --no-pager diff origin/$CHANGE_TARGET --name-only
Run Code Online (Sandbox Code Playgroud)

或类似的东西。