Jenkins插件复选框:GUI值与config.xml不同
我正在对Jenkins插件()进行更改,因为我想给它添加几个选项 但是,在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"> ..
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类在这里: