我在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());
}
首先 - 你必须阅读错误。有一个答案:
没有方法签名:
org.jenkinsci.plugins.workflow.support.steps.build.RunWrapper.getExecutor()
适用于参数类型:()值:[]
搜索类org.jenkinsci.plugins.workflow.support.steps.build.RunWrapper
的文档:
并且在这个类中没有方法getExecutor()
。
然而,有一个getRawBuild()
方法返回https://javadoc.jenkins.io/hudson/model/Run.html
所以,这可能适合你:
currentBuild.getRawBuild().getExecutor().getElapsedTime()