如何在我的詹金斯管道中获取更改的文件列表

问题描述 投票:0回答:2

我正在尝试获取我的分支中更改的所有文件。 我尝试了很多命令,但发现我的詹金斯管道中可能存在问题,没有命令返回正确的列表。

我想从我查看master的地方获取列表,master可能被其他人转发了。

本地有一些命令可以返回正确的更改文件列表:

git diff --name-only origin/master...   
git diff --name-only $(git merge-base HEAD origin/master)..

名单:

e2e-v2/src/__specs__/alerts/alert-definitions.test.ts

tools/jenkins/e2e.groovy

tools/scripts/package.json

由于某种原因,在 Jenkins 中返回列表是:

tools/docker-collector-metrics/docker.yml

tools/docker-collector-metrics/system.yml

tools/jenkins/.env

我不明白为什么会有所不同。
也许有一些上下文问题?

git jenkins jenkins-pipeline jenkins-groovy git-diff
2个回答
0
投票

您可以在 Jenkins 作业中执行 shell 步骤

git log -10 --graph --decorate --oneline
git remote -v
git branch -avv

这将显示来自 HEAD 的最后 10 次提交,以及 Jenkins 作业签出的远程和分支。

在本地执行相同的操作,您可以确保您是否处于相同的上下文/历史中。


0
投票

你能展示一下你的管道代码吗?

我调用一个Python文件来执行这个请求

https://bitbucket.example.com/rest/api/1.0/projects/**project-name**/repos/**repo-name**/pull-requests/number-of-pullrequest/changes?limit=1000
(使用bitbucket repo)

还有一个建议:您可以尝试在管道中添加克隆存储库步骤,然后在克隆存储库的目录中执行 git 命令。

© www.soinside.com 2019 - 2024. All rights reserved.