检查jenkins管道中是否存在文件

检查jenkins管道中是否存在文件,jenkins,jenkins-pipeline,Jenkins,Jenkins Pipeline,如果jenkins工作区中存在目录,并且工作区中的管道步骤“fileExists:Verify file exists”似乎无法正常工作,我将尝试运行一个块 我用的是詹金斯版本1.642和管道版本2.1。试着有这样的情况 if(文件存在“test1”){ //某个街区 } 管道中还有哪些替代方案?在if条件中使用步骤或将返回值分配给变量时,需要使用括号 使用变量: def exists=fileExists'file' 如果(存在){ 回音“是” }否则{ 回音“不” } 使用括号: if(

如果jenkins工作区中存在目录,并且工作区中的管道步骤“fileExists:Verify file exists”似乎无法正常工作,我将尝试运行一个块

我用的是詹金斯版本1.642和管道版本2.1。试着有这样的情况

if(文件存在“test1”){
//某个街区
}

管道中还有哪些替代方案?

if
条件中使用步骤或将返回值分配给变量时,需要使用括号

使用变量:

def exists=fileExists'file'
如果(存在){
回音“是”
}否则{
回音“不”
}
使用括号:

if(文件存在('file')){
回音“是”
}否则{
回音“不”
}
必须使用关键字“return”

stage('some stage') {
    when { expression { return fileExists ('myfile') } }
    steps {
           echo "file exists"
          }
    }

请描述您观察到的错误行为:def reportPath=build.getWorkspace().child(“Report.txt”)哪一个是正确的?def exists=fileExists报告路径或def exists=fileExists“报告路径”。在这两种情况下,我都会收到一条消息[找不到内容令牌(检查您的用法):fileExists]。当我尝试此语法时(带括号的
fileExists
)-“WorkflowScript:90:需要步骤@line 90,column 21”,插入符号指向
if
。文件名比较如何?此方法在比较文件名时是否使用区分大小写的比较?如果是,那么如何能够以不区分大小写的方式进行比较?对于声明性Jenkinsfile,您可以使用fileExists(文件:'src/test/java')(例如,对于阶段中步骤的when表达式)@MariusGedminas,If语句不能位于管道中“步骤”的顶层。将if语句包含在脚本标记中以修复此问题。例如,步骤{script{if(condition){doSomething()}}}