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

The*_*thi 5 groovy jenkins jenkins-plugins

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

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

小智 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()
Run Code Online (Sandbox Code Playgroud)

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

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

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

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