【问题标题】:How to update Jenkins config.xml from Java code?如何从 Java 代码更新 Jenkins config.xml?
【发布时间】:2014-06-26 21:10:30
【问题描述】:

我是 Jenkins 插件开发的新手,如果这个问题很愚蠢,请原谅我。我目前正在开发一个 Jenkins 插件,它提供了一个非常小的配置选项列表,如随附的屏幕截图所示。

表单是使用 Jelly 脚本设计的。我必须从我的 Java 代码更新我的表单在作业的 config.xml 文件中提交的这些参数。谁能建议在我的 Java 代码中更新作业的当前 config.xml 的方法?

谢谢

【问题讨论】:

  • 堆栈溢出政策不允许我发布图片
  • 在这种情况下,我会寻找一个执行类似操作的现有插件,然后浏览代码。你也可以试试 Jenkins 开发者邮件列表/Google 群组。
  • 对我来说可悲的是,没有与这里提到的用例相匹配的插件。我已经邮寄给他们了。有这个 Maven 项目插件,但是理解起来非常复杂。

标签: java jenkins jenkins-plugins


【解决方案1】:

经过一番研究,我已经知道如何通过用户定义的表单更新配置文件。

PFB 代码

AbstractItem item= (AbstractItem) Jenkins.getInstance().getItemByFullName(itemName)
Source streamSource = new StreamSource(new StringReader(config))
item.updateByXml(streamSource);
item.save();

在果冻中,表单必须像这样调用方法

<f:form method="post" name="config" action="configSubmit">

所以要更新的代码必须放在方法中如下

public void doConfigSubmit(StaplerRequest req, StaplerResponse rsp) throws
IOException, ServletException, Descriptor.FormException

【讨论】:

    【解决方案2】:

    您可以使用 jenkins-client-api 项目从 java 应用程序访问 Jenkins。 从 Java 应用程序到 Jenkins 交互时,它非常标准并且绝对有很大帮助。 https://github.com/jenkinsci/java-client-api

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-03-18
      • 2018-09-18
      • 2014-07-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多