如何解决问题groovy.lang.MissingMethodException:没有方法的签名:

问题描述 投票:0回答:1

我在jenkins管道脚本中收到错误。错误说groovy.lang.MissingMethodException:没有方法签名:org.jenkinsci.plugins.workflow.support.steps.build.RunWrapper.getExecutor()适用于参数类型:()值:[]

我想整合jenkins和grafana

   stage('Grafana Results') {

 // grafana url for aggregate dashboard - replace time stamp with %s
   def perfResult = "<grafana url>?orgId=39&from=%s&to=%s"
 // get build start and end time
  def start = currentBuild.getStartTimeInMillis();
  def end = start + currentBuild.getExecutor().getElapsedTime();
// replace time
  perfResult = String.format(perfResult, start, end);


 //build the string to be added as description.
  def link = "<a href='%s'>%s</a><br/>";
 def sb = new StringBuilder();
 sb.append(String.format(link, perfResult, "Grafana Performance Result"));

 // set build description
   currentBuild.setDescription(sb.toString());
    }
groovy jenkins-groovy
1个回答
0
投票

首先 - 你必须阅读错误。有一个答案:

没有方法签名:

org.jenkinsci.plugins.workflow.support.steps.build.RunWrapper.getExecutor()

适用于参数类型:()值:[]

搜索类org.jenkinsci.plugins.workflow.support.steps.build.RunWrapper的文档:

https://javadoc.jenkins.io/plugin/workflow-support/org/jenkinsci/plugins/workflow/support/steps/build/RunWrapper.html

并且在这个类中没有方法getExecutor()

然而,有一个getRawBuild()方法返回https://javadoc.jenkins.io/hudson/model/Run.html

所以,这可能适合你:

currentBuild.getRawBuild().getExecutor().getElapsedTime()
© www.soinside.com 2019 - 2024. All rights reserved.