我的目标是从SCM触发器中排除一些git区域。但是我有一些限制。
我必须在沙盒模式下运行DSL作业。
pathRestriction解决了我的问题。但是我找不到在沙箱模式下调用它的方法。
PathRestriction未在DSL插件中实现。因此,我不能使用扩展上下文。
如果未在沙盒模式下运行,则配置块将起作用。
pipelineJob("jobname") {
//..
definition {
cpsScm {
scm {
git {
//..
extensions {
relativeTargetDirectory("myRootPath") // works because implemented [in DSL plugin][2]
pathRestriction('includedPaths', 'excludedPaths') // not implemented in dsl plugin
}
// code below doesn't allowed in sandbox mode
configure { node ->
node / 'extensions' / 'hudson.plugins.git.extensions.impl.PathRestriction' {
excludedRegions 'excludedPaths'
}
}
}
}
}
}
}
在将“ pathRestriction”添加到作业DSL之前,我需要一种解决方法。
我还创建了a Jenkins Jira ticket以实现对工作DSL插件的pathRestriction。
我的目标是从SCM触发器中排除一些git区域。但是我有一些限制。我必须在沙盒模式下运行DSL作业。 pathRestriction解决了我的问题。但是我找不到办法...
您应该使用configure blocks,像这样的东西: