2014-11-19 2 views
0

GT Metrix에서 보고서를 생성하는 사용자 정의 Jenkins 플러그인을 개발 중입니다. 문서가 부족하여이 작업이 매우 어려워졌습니다.값이 floatingBox.jelly에 표시되지 않음 - Jenkins 플러그인 개발

내가 성공적으로 컴파일 플러그인을 구축했습니다 : 나는 지금까지 무엇을 가지고

. 전역 Jenkins 설정에서 사용자 이름과 API 키를 설정합니다. 빌드 설정에서 웹 사이트를 설정했습니다. 프로젝트를 구축하면 GT Metrix 보고서가 실행되고 보고서가 끝날 때까지 기다린 다음 보고서에서 모든 정보를 다운로드합니다. 나는 floatingBox.jelly를 사용하여 프로젝트 작업을 설정하고 HTML을 프로젝트 페이지에 표시합니다.

내가 필요한 것 :

를 지금 보고서를 가지고 있고이 floatingBox.jelly은 내가 ${from.report.pageLoadTime}을 할 수 있도록이 보고서에서 값을 표시 할 프로젝트 페이지에 게재 가지고. 나는 모든 것을 올바르게 설정했다고 믿습니다. 내가 ${from.report} 일 경우 [email protected]과 같은 참조를 표시합니다. 여분의 .pageLoadTime은 아무 것도 표시하지 않습니다. 왜 리소스가 있는지 알 수는 없지만 리소스 내부에서 어떤 함수도 호출하지 않습니다.

소스 코드 https://github.com/chrislondon/jenkins-gtmetrix-plugin

답변

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(); 
} 

하는 방법을 추가 문제는 보고서 데이터가있는 최종 클래스가 Describab이 아니라는 것입니다. 그럼 젤리 코드가 찾지 못해. 모든 다른 클래스는


편집 기술되는 클래스를 만드는 방법

당신은 AbstractDescribableImpl

에서 상속하여 클래스를 기술 될 수

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

난 당신이 필요하다고 생각하지 않는 기술 될 수있다 비교 가능하지만 지금은 확인할 수 없습니다. 그런 다음

여기

는 하나입니다 구체적인 클래스를 수정해야합니다 I prepared earlier

또한 아마 내가 많은 자바/메이븐을하지 않는 특성

+0

을 사용하여 표시 할 몇 가지 젤리 파일을해야 할 수도 있습니다/내 수업을 "설명 할 수있는"방법으로 만들 수 있습니까? – chrislondon

+0

대답을 – KeepCalmAndCarryOn

+0

업데이트했습니다. 다시 보니 내부 클래스가 공개되지 않았 음을 알 수 있습니다. 퍼블릭 클래스로 만들고 public class GtMetrixReportResource extends AbstractGtMetrixJSONResource' 필요 없음'$ {lastResult.report.pageLoadTime}' – KeepCalmAndCarryOn

관련 문제