Как проверить, существует ли файл в рабочей области jenkins для работы по фристайлу - PullRequest
0 голосов
/ 10 октября 2019

Мне нужно проверить, существует ли файл в рабочей области jenkins после публикации HTML. Таким образом, это будет выполнение скрипта после сборки сборки:

Попробовал следующее:

def fileName = "/temp/new_invoices.txt"
def testFile = new File(fileName)
if (!testFile.exists()) testRunner.fail("File $fileName does not exist.")
  else log.info "File $fileName exists."

def exists = fileExists 'file'

if (exists) {
    echo 'Yes'
} else {
    echo 'No'
}
println new File('var/jenkins/workspace/kae.html').exists()

Ничего не работает, выдает ошибку ниже:

ERROR: Failed to evaluate groovy script.
groovy.lang.MissingMethodException: No signature of method: Script1.fileExists() is applicable for argument types: (java.lang.String) values: [/target/package-summary.html]
    at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.unwrap(ScriptBytecodeAdapter.java:58)
    at org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.callCurrent(PogoMetaClassSite.java:81)
    at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallCurrent(CallSiteArray.java:52)
    at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:154)
    at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:166)
    at Script1.run(Script1.groovy:1)
    at groovy.lang.GroovyShell.evaluate(GroovyShell.java:585)
    at groovy.lang.GroovyShell.evaluate(GroovyShell.java:623)
    at groovy.lang.GroovyShell.evaluate(GroovyShell.java:594)
    at org.jenkinsci.plugins.scriptsecurity.sandbox.groovy.SecureGroovyScript.evaluate(SecureGroovyScript.java:375)
    at org.jenkinsci.plugins.scriptsecurity.sandbox.groovy.SecureGroovyScript.evaluate(SecureGroovyScript.java:312)
    at org.jvnet.hudson.plugins.groovypostbuild.GroovyPostbuildRecorder.perform(GroovyPostbuildRecorder.java:380)
    at hudson.tasks.BuildStepMonitor$1.perform(BuildStepMonitor.java:20)
    at hudson.model.AbstractBuild$AbstractBuildExecution.perform(AbstractBuild.java:744)
    at hudson.model.AbstractBuild$AbstractBuildExecution.performAllBuildSteps(AbstractBuild.java:690)
    at hudson.maven.MavenModuleSetBuild$MavenModuleSetBuildExecution.post2(MavenModuleSetBuild.java:1073)
    at hudson.model.AbstractBuild$AbstractBuildExecution.post(AbstractBuild.java:635)
    at hudson.model.Run.execute(Run.java:1835)
    at hudson.maven.MavenModuleSetBuild.run(MavenModuleSetBuild.java:543)
    at hudson.model.ResourceController.execute(ResourceController.java:97)
    at hudson.model.Executor.run(Executor.java:429)
Build step 'Groovy Postbuild' changed build result to UNSTABLE
Notifying upstream projects of job completion

1 Ответ

1 голос
/ 11 октября 2019

Мне удалось сделать эту работу, но она печатает «Файл не существует», даже если он существует.

def fileName = "/var/abc.html"
def testFile = new File(fileName)
if (!testFile.exists()) manager.listener.logger.println("File $fileName does not exist.")
  else manager.listener.logger.println("File $fileName exists.")

...