- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我正在尝试编写一个简单的 Jenkins 插件。然而,我面临 Jelly validateButton 的问题;它无法访问 Java 方法。
由于我对 Jelly 和 Java 不太熟悉,所以我一直使用这个 Wiki 作为引用点 - https://wiki.jenkins-ci.org/display/JENKINS/Jelly+form+controls
这是我在 Jenkins 中得到的:
ERROR
HTTP ERROR 404
Problem accessing /tagBuild. Reason:
Not Found
Powered by Jetty://
这是我的果冻代码:
<j:jelly xmlns:j="jelly:core" xmlns:l="/lib/layout" xmlns:st="jelly:stapler" xmlns:f="lib/form" xmlns:t="/lib/hudson">
<l:layout norefresh="true">
<st:include page="sidepanel.jelly" it="${it.build}"/>
<l:main-panel>
<f:form method="post">
<f:entry title="${%Milestone Name}" help="Enter Milestone name to tag with...">
<f:textbox field="milestoneName" />
</f:entry>
<f:validateButton title="${%Tag Build}" progress="${%Tagging...}" method="tagBuild" with="milestoneName" />
</f:form>
</l:main-panel>
</l:layout>
</j:jelly>
这是 Java 类:
import hudson.model.AbstractBuild;
import hudson.model.Action;
import hudson.util.FormValidation;
import org.kohsuke.stapler.QueryParameter;
public class MilestoneLabelingPlugin implements Action {
AbstractBuild build;
public AbstractBuild getBuild() { return this.build; }
public MilestoneLabelingPlugin(AbstractBuild build) {
super();
this.build = build;
}
public String getUrlName() { return "MilestoneLabelingPlugin"; }
public String getDisplayName() { return "Label Milestone Build"; }
public String getIconFileName() { return "/plugin/milestone-labeling-plugin/icon/labelMilestoneBuild.png"; }
public FormValidation doTagBuild(@QueryParameter("milestoneName") final String milestoneName) {
return FormValidation.ok("Success!!" + milestoneName);
}
}
最有趣的部分是我尝试使用“提交”按钮,配置为运行一个方法并且它有效。唯一的问题是我无法从输入字段读取值:/
有人遇到过类似的问题吗?或者有人可以告诉我我做错了什么。
感谢您提前回复。
最佳答案
我认为这个问题正如 Wiki 中所解释的那样:“此方法需要位于拥有此表单片段的描述符类上。”看起来 FormValidation 方法仅支持 Desribable 类。
关于java - Jelly validateButton 无法访问 Java 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30460863/
我需要使用 validateButton 检查并验证一次操作中的多个字段, 这在多个领域都表现良好 我最近引入了一个可重复部分,其中包含多个复选框 我可以轻松地在保存操作中按名称解决这些问题并获取真/
我有一个hudson.model.ManagementLink (这会创建一个可以通过管理 Jenkins 访问的页面。 我有一些表单字段,我想使用 f:validateButton 进行验证。如果要
我正在尝试编写一个简单的 Jenkins 插件。然而,我面临 Jelly validateButton 的问题;它无法访问 Java 方法。 由于我对 Jelly 和 Java 不太熟悉,所以我一直使
我有没有 Descriptor 的 Plugin 类: @Extension public class Plugin extends hudson.Plugin { // ... pu
我是一名优秀的程序员,十分优秀!