我有一个hudson.model.ManagementLink
(可创建一个页面,可以通过 Manage Jenkins 进行访问。
我有一些要使用验证的表单字段f:validateButton
。如果要在(具有描述符的)config.jelly
页面上执行此操作,则可以在Publisher
描述符中使用一种简单的doXXX()
方法。
如果我doXXX()
直接向hudson.model.ManagementLink
其中添加类似的方法,则实际上可以直接通过URL myPage /
myMethod访问,
但是该方法f:validateButton
仅返回404,显然我需要发送表单值。
我遇到的一个潜在解决方案是CustomDescriptorByName,并将逻辑包含在我在其他地方拥有的描述符中,
但是我无法使其正常工作 。
为了回答上面的实际问题(即没有描述符),您可以向(以逗号分隔的)with
属性提供验证所需的任何字段,f:validateButton
然后将该method
属性设置为类似于以下内容…
method="${it.fullURL}triggerOfficial"
…然后在java(it
)中有一个方法…
public String getFullURL(){
return Stapler.getCurrentRequest().getOriginalRequestURI().substring(1);
}
…然后还有执行验证本身的方法…
public FormValidation doTriggerOfficial() {
return FormValidation.ok("hello");
}
但是,如果要对通常没有描述符的类类型执行常规字段验证(不使用validateButton)…
1)添加implements Describable<YourClassName>
到您的班级签名
2)添加类似这样的内容…
@SuppressWarnings("unchecked")
@Override
public Descriptor<ConfigLink> getDescriptor() {
Jenkins jenkins = Jenkins.getInstance();
if (jenkins == null) {
throw new IllegalStateException("Jenkins has not been started");
}
return jenkins.getDescriptorOrDie(getClass());
}
3)加一个内部类(使用常规doCheckXXX
方法)
@Extension
public static final class DescriptorImpl extends Descriptor<YourClassName> {...}
4)然后最后将其在jelly
add属性中链接descriptor="${it.descriptor}"
到f:form
包含您要自动验证的表单元素的标签(这将调用getDescriptor
步骤2中的详细信息)
经过阅读,我明白了我必须有一个Jenkins主机在场,才能通过Git网络钩子在OpenShift上产生一个Jen金斯奴隶。但是有没有办法在没有詹金斯主人的情况下产生詹金斯奴隶呢? 非常感谢大家!
问题内容: 我们正在升级到Jenkins(2.60.1)的新版本,并且在以前的Jenkins版本(1.596 / 2)中运行的groovy脚本不再起作用。 这是一个Jenkins构建项目,已参数化,我们正在使用Groovy脚本为Choice Provider提供选择(Choice Provider设置为System Groovy Choice Parameter)。 我们正在尝试访问Jenkins
我在Win2003服务器上安装了Jenkins,但当安装完成并尝试在浏览器中加载GUI时,它失败,并显示“Internet explorer无法显示此网页消息”。 我已经卸载和重新安装了好几次,重新启动,重新安装了最新的java,但仍然没有运气! 希望有人能告诉我们下一步该做什么,甚至解决这个问题。 更多信息: 我很久以前就安装了它作为一种服务,它正在工作。但是它后来被放在次要位置,所以被禁用了。
有没有可能让詹金斯使用真正的浏览器而不是无头浏览器?我正在运行一些用TestNG编写的测试(使用Selenium webdriver)。当我运行testng时。在Eclipse中,浏览器启动并运行测试。但当我使用Jenkins并用maven运行测试时,它不会启动任何浏览器。
问题内容: 如何轻松地将Jenkins与qUnit集成?我将使用真正的浏览器(如firefox和chrome)运行测试。我的服务器在RedHat 6.1 Linux上运行。我想我都需要插件/库,但我仍然不知道如何使其工作。我第一次与Jenkins合作(在服务器端)。 //编辑: 如果有人也可以共享想法如何构建覆盖率报告,那将是很棒的。 提前致谢 :)。 问题答案: 说詹金斯和QUnit只是难题的一
我想做一些非常简单的事情,在一个文件夹中,我有一个jar文件和一个包含脚本的名为脚本的文件夹。但我可以让詹金斯拉链来做这件事。 zip目录:“awsdeploy”,排除:“”,glob:“”,“scripts/”,zipFile:“SQSToElasticProcessor.zip” 必须显式命名“zip”的参数。@ 第 31 行,第 16 列。