我正在尝试在jenkins上实现一个阶段,以在jenkins发生故障时发送电子邮件。我做了一些类似于詹金斯记录的东西:
#!/usr/bin/env groovy
node {
stage ('Send Email') {
echo 'Send Email'
post {
failure {
mail to: 'aa@bb.cc',
subject: "Failed Pipeline: ${currentBuild.fullDisplayName}",
body: "Something is wrong with ${env.BUILD_URL}"
}
}
}
}
但是我总是得到这个错误:
java.lang.NoSuchMethodError:在步骤[archive,bat,build,catchError,checkout,deleteDir,dir,dockerFingerprintFrom,dockerFingerprintRun,echo,emailext,emailextrecipients,envVarsForTool,错误,fileExists,getContext,git中没有找到这样的DSL方法“
post”
,输入,isUnix,库,libraryResource,负载,邮件,里程碑,节点,并行,powershell,属性,publishHTML,pwd,readFile,readTrusted,resolveScm,重试,脚本,sh,sleep,stage,stash,step,svn,超时,时间戳记,tm,工具,未存档,取消隐藏,validateDeclarativePipeline,waitUntil,withContext,withCredentials,withDockerContainer,withDockerRegistry,withDockerServer,withEnv,wrap,writeFile,ws]或符号[all,allOf,always,ant,ant,antFromApache,antOutcome,antTarget,
any,anyOf,apiToken,架构,archiveArtifacts,artifactManager,authorizationMatrix,batchFile,booleanParam,分支,buildButton,buildDiscarder,caseInsensitive,caseSensitive,证书,changelog,changeset,select,choiceParam,cleanWs,时钟,云,命令,凭据,cron,面包屑,defaultView,需求,disableConcurrentBuilds,docker,
dockerCert,dockerfile,downloadSettings,下游,哑,envVars,环境,表达式,文件,fileParam,filePath,指纹,frameOptions,freeStyle,freeStyleJob,fromScm,fromSource,git,github,githubPush,gradle,headRegexFilter,headWildcardFilter,超链接,超链接ToModels,继承,InheritingGlobal,installSource,jacoco,jdk,jdkInstaller,jgit,jgitapache,jnlp,jobName,junit,label,lastDuration,lastFailure,lastGrantedAuthorities,lastStable,lastSuccess,legacy,legacySCM,列表,本地,位置,logRotator,loggedInUsersCanDoAnything,masterBuild,maven,maven3Mojos,mavenErrors,mavenMojos,mavenWarnings,modernSCM,myView,node,nodeProperties,非继承,nonStoredPasswordParam,none,not,overrideIndexTriggers,panelStatus,参数,密码,模式,管道模型插件,pollSCM,projectNamingStrategy,代理,queueItemAuthenticator,quietPeriod,remotingCLI,运行,runParam,计划,scmRetryCount,搜索,安全性,shell,skipDefaultCheckout,skipStagesAfterUnstable,从属,sourceRegexFilter,sourceWildcardFilter,sshUserPrivateKey,stackTrace,标准,状态,状态swapSpace,text,textParam,tmpSpace,toolLocation,不安全,上游,usernameColonPassword,usernamePassword,viewsTabBar,weather,withAnt,zfs,zip]或全局变量[currentBuild,docker,env,params,管道,scm]
我看到了其他人的帖子,但提出的建议对我没有用
我在这里遇到同样的问题。许多用于声明性的示例,没有用于脚本的示例。它几乎使您相信没有解决方案,但这没有任何意义。
这对我有用(无需尝试/最后也可以使用-如果需要,可以接住)。
node {
//some var declarations... or whatever
try {
//do some stuff, run your tests, etc.
} finally {
junit 'build/test-results/test/*.xml'
}
}
*编辑:看看他们的文档 …偶然地,我完全按照他们的建议做了。只需单击“切换脚本管道(高级)”链接,您就会看到它。
我有以下dsl: 这会失败并出现以下错误 我做错了什么?我正在使用 Jenkins2.89.4 作业DSL 1.68 管道作业2.20 管道:API 2.27 管道:基本步骤2.7 管道:构建步骤2.7 管道:声明1.2.9
我正试图读取詹金斯管道中的一个文件。 为此,我在我的jenkins文件中导入的库中定义了下面的函数。 但是,我一直得到以下例外。 此外,如果我删除< code>readFile函数调用,我的jenkins管道将成功执行。 你知道这里有什么问题吗?
我正在尝试删除警告,。所以,我正在为阶段添加块 现在,詹金斯给出了错误 添加块是正确的做法吗?
我想运行bash命令抛出Jenkins管道,我正在调用一个具有一些bash命令的函数,但我得到这个错误: 这是函数: defcopy_tools(){ } 你能帮忙吗?
我正在尝试在 Jenkins 上实现一个阶段,以便在 Jenkins 上产生故障时发送电子邮件。我做了一些类似于詹金斯文档的东西: 但是我总是得到这个错误: java.lang.NoSuchMethodError:在步骤中找不到这样的DSL方法“post”[archive,bat,build,catchError,checkout,deleteDir,dir,dockerFingerprintFr
我目前正在尝试使用jenkinsfile在jenkins中实现管道,我正在windows机器上执行一个maven项目。我正在jenkins中创建一个管道作业,我已经在我的github存储库中签入了这个文件,当我在jenkins中运行作业时,我收到了以下错误。 我的jenkinsfile: 我得到下面的错误,当我运行它通过詹金斯工作-Jenkins错误: java.lang.NoSuchMethod