我有一个詹金斯大师,负责大量的管道(工作流)工作。我需要使用通过脚本控制台运行的常规脚本来更改所有作业中的scm git repo名称。
在自由式工作中,我遇到了很多答案。 我也遇到了这样的管道作业解决方案。
groovy to list Jenkins jobs with GIT URL used in jobs
它只是列出了工作名称和git仓库。
我想修改git scm。有什么建议吗?
答案 0 :(得分:1)
使用src/main/java/hudson/plugins/git/UserRemoteConfig.java#UserRemoteConfig
类及其groovy GUI configuration设置Git远程URL。
您可以在“ How to change a Git URL in all Jenkins jobs”中看到更改网址的示例
def newUserRemoteConfigs = oldScm.userRemoteConfigs.collect {
new UserRemoteConfig(modifyGitUrl(it.url), it.name, it.refspec, it.credentialsId)
}
OP在“ How to update job config files using the REST API and cURL?”中报告了更新Git SCM URL的最新方法
# Get current config curl -X GET http://developer:developer@localhost:8080/job/test/config.xml -o mylocalconfig.xml # Post updated config curl -X POST http://developer:developer@localhost:8080/job/test/config.xml --data-binary "@mymodifiedlocalconfig.xml"
很明显,替换:
developer:developer
和您的用户名:密码localhost:8080
和您的Jenkins网址test
和您的工作名称