一尘不染

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

jenkins

我正在尝试为Groovy控制台中的Groovy脚本获取(并希望更改)插件的Jenkins配置。我的特定示例是尝试更改ssh发行插件的多个IP地址。通过命令行(编辑xml)很容易做到,但是经过数小时的努力,我仍然想通过groovy控制台找到它的实现方式,除了启迪,别无其他原因。我已经浏览了Jenkins
API javadoc,但无济于事。

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


阅读 233

收藏
2020-07-25

共1个答案

一尘不染

这是开始搜索的好地方:

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(最终字符串名称)

应该是您需要做的所有信息,加油!

2020-07-25