以编程方式获取插件的Jenkins配置

时间:2015-03-16 19:50:03

标签: groovy jenkins jenkins-plugins

我试图在Groovy控制台中使用Groovy脚本获取(并希望更改)Jenkins配置。我的具体示例是尝试更改publish-over-ssh插件的多个IP地址。通过命令行(编辑xml)很容易做到,但经过几个小时的努力,我仍然想通过groovy控制台找到它是如何完成的,没有其他原因比启蒙。我查看了Jenkins API javadoc,但无济于事。

如何在Jenkins控制台中找到/更改插件的全局配置?

1 个答案:

答案 0 :(得分:5)

这是一个开始搜索的好地方:

https://github.com/jenkinsci/publish-over-ssh-plugin/tree/master/src/main/java/jenkins/plugins/publish_over_ssh

以下是添加主机的示例:

import jenkins.model.*
import jenkins.plugins.publish_over_ssh.BapSshHostConfiguration
def inst = Jenkins.getInstance()
def publish_ssh = inst.getDescriptor("jenkins.plugins.publish_over_ssh.BapSshPublisherPlugin")
def configuration = new BapSshHostConfiguration(name,
  hostname,
  username,
  encryptedPassword,
  remoteRootDir,
  port,
  timeout,
  overrideKey,
  keyPath,
  key,
  disableExec
)
publish_ssh.addHostConfiguration(configuration)
publish_ssh.save()

在这里,我们可以看到一些有用的功能:

https://github.com/jenkinsci/publish-over-ssh-plugin/blob/master/src/main/java/jenkins/plugins/publish_over_ssh/descriptor/BapSshPublisherPluginDescriptor.java

  • getHostConfigurations()
  • removeHostConfiguration(最终字符串名称)

应该是你需要做的所有信息,干杯!