当前位置: 首页 > 面试题库 >

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

虞滨海
2023-03-14
问题内容

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

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


问题答案:

这是开始搜索的好地方:

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

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



 类似资料:
  • 问题内容: 如何在插件中创建新的Jenkins作业? 我有一个Jenkins插件,可监听消息队列,并在消息到达时触发新事件以创建新作业(或开始运行)。 我正在寻找类似的东西: 我知道我可以使用REST API或CLI,但是由于我在插件中,因此我将使用Java内部解决方案。 问题答案: 您只需执行以下操作即可创建新的hudson / jenkins作业: 如果您希望能够处理更新(并且已经拥有): 不

  • 问题内容: 如何从包含证书和私钥的PEM文件中以编程方式获取KeyStore?我试图在HTTPS连接中向服务器提供客户端证书。我已经确认,如果我使用openssl和keytool来获取jks文件(该文件是动态加载的),则客户端证书可以使用。我什至可以通过动态读取p12(PKCS12)文件来使其工作。 我正在考虑使用BouncyCastle的PEMReader类,但无法克服一些错误。我正在使用-Dj

  • 问题内容: 我需要使用Java获取我的android设备的MAC地址。我已经在网上搜索过,但没有发现任何有用的信息。 问题答案: 正如评论中已经指出的那样,可以通过接收MAC地址。 同样不要忘记在你的计算机中添加适当的权限

  • 问题内容: 基本上,我想获取python解释器的句柄,以便可以传递脚本文件来执行(从外部应用程序执行)。 问题答案: 这适用于Linux和Windows: Python 3.x Python 2.x

  • 问题内容: 我正在编写一个报告本地计算机上网络设备属性的应用程序。我需要mac地址,mtu,链接速度和其他一些信息。我为此使用udev。我已经弄清楚了如何获取mac地址和mtu,但还没有弄清楚链接速度。我可以从终端使用ethtool来获取它,但是我需要一种以编程方式获取它的方法。 有谁知道我如何获得udev或其他库的链接速度属性? 问题答案: 您需要使用ioctl()调用。在LinuxJourna

  • 我有一个基于linux操作系统的自定义嵌入式系统。有摄像头连接到我的系统,我想使用谷歌驱动器作为云存储记录从我的摄像头。 3-然后我使用浏览器访问url,键入授权代码并允许手动身份验证。然后通过另一个HTTP请求获得access_token和refresh_token。 4-之后,我可以成功地使用给定access_token的任何api函数。(如果它过期,我会使用refresh_token刷新它)