如何在执行Jenkinsfile时获取流水线配置的‘Script Path’字段
获取Jenkins流水线配置中的Script Path字段内容
嘿,这个需求我之前刚好处理过,不用折腾额外插件,靠Jenkins内置的对象就能轻松拿到Script Path的内容!
实现方法
你可以通过currentBuild关联到当前的Job实例,再调用Pipeline Job专属的方法获取配置里的Script Path。直接上可运行的代码示例:
pipeline { agent any stages { stage('Fetch Script Path') { steps { script { // 获取当前构建所属的Job对象 def currentJob = currentBuild.rawBuild.parent // 先判断当前Job是Pipeline类型(毕竟Script Path是Pipeline Job的专属配置项) if (currentJob in org.jenkinsci.plugins.workflow.job.WorkflowJob) { def scriptPath = currentJob.scriptPath echo "当前Jenkinsfile的Script Path: ${scriptPath}" // 这里可以直接用scriptPath变量做后续操作,比如打印、传递给其他步骤 } else { echo "警告:当前Job不是Pipeline类型,无法获取Script Path" } } } } } }
注意事项
currentBuild.rawBuild属于Jenkins内部API,目前大多数稳定版本都能正常使用,但如果Jenkins版本大幅更新,可能需要微调代码。- 要确保执行流水线的用户拥有足够权限访问这些内部对象,不然可能会抛出权限异常。
内容的提问来源于stack exchange,提问作者Datz
相关产品推荐
相关产品推荐

