【问题标题】:Value not displayed in floatingBox.jelly - Jenkins plugin developmentfloatBox.jelly 中未显示值 - Jenkins 插件开发
【发布时间】:2014-11-20 07:00:57
【问题描述】:

我正在开发自己的自定义 Jenkins 插件,该插件会从 GT Metrix 生成报告。缺乏文档使得这变得极其困难。

我目前所拥有的:

我已经成功构建了一个可以编译的插件。您在全局 Jenkins 设置中设置用户名和 api 密钥。您在构建配置中设置了一个网站。当您构建项目时,它将运行 GT Metrix 报告并等待它完成,然后从报告中下载所有信息。我已经使用 floatingBox.jelly 设置了一个项目操作,并且 HTML 显示在项目页面上。

我需要什么:

现在我有了报告,并且在项目页面上显示了 floatingBox.jelly,我希望它显示报告中的值,所以我这样做 ${from.report.pageLoadTime}。我相信我已经正确设置了所有内容。如果我执行${from.report},它会显示org.jenkinsci.plugins.gtmetrix.GtMetrixReportResource@1bd5b1dc 之类的引用。但额外的.pageLoadTime 什么也不显示。我不明白为什么它拥有该资源,但它不会从该资源中调用任何函数。

源代码 https://github.com/chrislondon/jenkins-gtmetrix-plugin

【问题讨论】:

    标签: maven jenkins jenkins-plugins


    【解决方案1】:

    你的果冻代码应该是这样的

    <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" xmlns:i="jelly:fmt" xmlns:local="local">
        <j:set var="lastResult" value="${from.lastResult}"/>
    
        <div class="content">
            <h2>GT Metrix Summary</h2>
    
            <j:if test="${lastResult != null}">
                <h3>Page Load Time: ${lastResult.getPageLoadTime()}</h3>
    
            </j:if>
    
            <j:if test="${lastResult == null}">
                Unable to find report. ${report}
            </j:if>
    
        </div>
    </j:jelly>
    

    我在你的类 GtMetrixBuildAction 中添加了一个方法

    public String getPageLoadTime(){
        return getReport().getPageLoadTime();
    }
    

    我认为您的主要问题是您的报告数据所在的最终类不可描述,因此果冻代码无法找到它。你所有的其他类都是可描述的


    编辑 如何使类可描述

    您可以通过从 AbstractDescribableImpl 继承来使您的类可描述

    public abstract class YourClass extends AbstractDescribableImpl<YourClass> 
        implements Comparable, Describable<YourClass> ...
    

    我认为您不需要 Comparable,但我目前无法检查。然后你必须修复具体的类

    这是我prepared earlier

    你可能还需要一些果冻文件来显示它,可能使用属性

    【讨论】:

    • 我不怎么做 Java/Maven/etc,有没有办法让我的类“可描述”?
    • 再看一遍我发现你的内部类是不公开的。将其公开并且可以工作 public class GtMetrixReportResource extends AbstractGtMetrixJSONResource 不需要描述符 ${lastResult.report.pageLoadTime}
    猜你喜欢
    • 2018-03-29
    • 2023-02-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-05-06
    • 1970-01-01
    • 1970-01-01
    • 2012-02-18
    相关资源
    最近更新 更多