Jenkins插件复选框:GUI值与config.xml不同

Jenkins插件复选框:GUI值与config.xml不同,jenkins,jenkins-plugins,jelly,Jenkins,Jenkins Plugins,Jelly,我正在对Jenkins插件()进行更改,因为我想给它添加几个选项 但是,在config.jelly中添加了两个新复选框后,它们似乎无法通过GUI在作业配置中正常工作 config.jelly: <j:jelly xmlns:j="jelly:core" xmlns:st="jelly:stapler" xmlns:d="jelly:define" xmlns:l="/lib/layout" xmlns:t="/lib/hudson" xmlns:f="/lib/form"> ..

我正在对Jenkins插件()进行更改,因为我想给它添加几个选项

但是,在
config.jelly
中添加了两个新复选框后,它们似乎无法通过GUI在作业配置中正常工作

config.jelly

<j:jelly xmlns:j="jelly:core" xmlns:st="jelly:stapler" xmlns:d="jelly:define" xmlns:l="/lib/layout" xmlns:t="/lib/hudson" xmlns:f="/lib/form">
  ...
  <f:advanced>
  ...
    <f:entry title="Report build started to Stash?" field="reportBuildStartedToStash">
      <f:checkbox default="true"/>
    </f:entry>
    <f:entry title="Report build result to Stash?" field="reportBuildStatusToStash">
      <f:checkbox default="true"/>
  </f:advanced>
</j:jelly>

...
...
如果我将此插件添加到这样的作业中:

然后,这两个复选框将按预期默认为“true”。这反映在config.xml中:

  <triggers>
    <stashpullrequestbuilder.stashpullrequestbuilder.StashBuildTrigger plugin="stash-pullrequest-builder@1.3.1-SNAPSHOT">
      ...
      <reportBuildStartedToStash>true</reportBuildStartedToStash>
      <reportBuildStatusToStash>true</reportBuildStatusToStash>
    </stashpullrequestbuilder.stashpullrequestbuilder.StashBuildTrigger>
  </triggers>

...
真的
真的
但是,如果我取消选中这些复选框,保存更改并重新加载作业配置页面,这些复选框将再次显示为选中

这可能是我的.jelly配置有问题吗?我不明白怎么做或为什么

作为参考,我的分支机构位于:

此问题似乎与提出的问题相同,但建议的解决方案无法解决我的问题。也就是说,将
替换为

这将通过在
StashBuildTrigger.java
中的getter方法前面加上“is”来实现

public boolean isReportBuildStartedToStash()
公共布尔值isDeleteBuildStartedToStash()
公共布尔值isReportBuildStatusToStash()
我认为这也适用于“get”前缀,但我还没有测试过它。根据:

为配置字段定义getter,或使字段 “公开决赛”。这允许Jelly脚本将值读取到 填充配置页面

需要注意的几件事是:“get”自动从 方法名称,剩余方法名称的第一个字母为 下壳。我建议使用Java约定进行命名 方法(例如,使用“get”启动getter并使用CamelCase),以便 杰利总能找到方法

例如:

使用getter和setter方法的前缀get和set。。。如果 方法返回一个布尔值,使用is或has作为 方法名


你有没有在某个地方的分支机构检查过你的最新代码?我在config.jelly中没有看到其他字段,我很好奇您的构造函数在StashBuildTrigger.javaHi Chris中是什么样子,config.jelly在这里:,相关的Java类在这里: