我需要每5分钟运行一次jenkins管道并仅在/tmp/*.json存在时触发阶段。该怎么做?
我有骨架:
pipeline {
agent any
environment {
def JSON_PATH = '/tmp/*.json'
}
triggers {
cron('*/5 * * * *')
}
stages {
[...]
}
}
答案 0 :(得分:1)
您在正确的轨道上。要检查文件是否存在,可以使用ls
并读取退出状态。
stage('Check file existence') {
steps {
script {
fileExists = sh(returnStatus: true, script: 'ls /tmp/*.json') == 0
}
}
}
stage('Do actions') {
when {
expression { fileExists }
}
steps {
<insert desired steps here>
}
}