通过脚本控制台使用groovy脚本为多个作业修改git SCM

时间:2018-12-17 05:27:17

标签: git jenkins groovy

我有一个詹金斯大师,负责大量的管道(工作流)工作。我需要使用通过脚本控制台运行的常规脚本来更改所有作业中的scm git repo名称。

在自由式工作中,我遇到了很多答案。 我也遇到了这样的管道作业解决方案。

groovy to list Jenkins jobs with GIT URL used in jobs

它只是列出了工作名称和git仓库。

我想修改git scm。有什么建议吗?

1 个答案:

答案 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和您的工作名称

这是基于JENKINS Remote access API的。