如果这有点难以表达,我深表歉意,如果需要更多详细信息,请告诉我。
我试图让一个函数在
requirements.txt
文件发生更改时运行
这是我的代码:
stage('Testing push of requirements') {
when{ expression { return fileExists('build-scripts/pushreqs.sh') } }
steps {
requirementsPusher()
}
}
stage('Create Jira Ticket') {
when {changeset "requirements.txt"}
steps{
jiraTicketCreator()
}
}
第一个
stage
块不相关,但用于比较/参考。
当我按原样运行上述内容时,
Testing push of requirements
出现在构建中,但它完全跳过当前构建中的Create Jira Ticket
阶段,其中对requirements.txt
进行了更改
有什么想法吗?这可能是一个不正确的语法吗?
可能
requirements.txt
文件不在根目录中,通常,变更集包含文件的完整限定路径,因此请尝试完善您的文件模式。下面的例子。
when { changeset "**/requirements.txt" }
您还可以打印变更集并查看您收到的内容。您可以像
currentBuild.changeSets
一样访问变更集