gpt4 book ai didi

java - Jelly validateButton 无法访问 Java 方法

转载 作者:太空宇宙 更新时间:2023-11-04 13:49:29 32 4
gpt4 key购买 nike

我正在尝试编写一个简单的 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/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com