Jenkins配置-监视分支中特定目录的svn URL

Jenkins配置-监视分支中特定目录的svn URL,svn,url,jenkins,Svn,Url,Jenkins,我已经回顾了由此产生的“可能已经有你答案的问题”以及谷歌搜索的许多变体。 发现两个场景使用了不同的解决方案,这不符合我们的需求。 -' - 我试图实现的最终结果是在所有分支下监控特定项目的单个作业。 例如,签入到svn://svn.host/branches/*/项目/代码/位置将触发构建。 我已尝试使用正则表达式对svn URL进行通配符,并继续收到URL无效的通知。 是否有人能够配置一个Jenkins作业来监视多个分支下的特定目录? 提前感谢您的帮助。如果您有一组有限的分支需要监控,那么您

我已经回顾了由此产生的“可能已经有你答案的问题”以及谷歌搜索的许多变体。 发现两个场景使用了不同的解决方案,这不符合我们的需求。 -' - 我试图实现的最终结果是在所有分支下监控特定项目的单个作业。 例如,签入到svn://svn.host/branches/*/项目/代码/位置将触发构建。 我已尝试使用正则表达式对svn URL进行通配符,并继续收到URL无效的通知。 是否有人能够配置一个Jenkins作业来监视多个分支下的特定目录?
提前感谢您的帮助。

如果您有一组有限的分支需要监控,那么您可以使用SVN配置中的“添加更多位置”按钮单独定义它们

如果您有一个更复杂的配置,那么您可以通过使用允许使用groovy重新配置作业的作业来重新配置主作业来实现这一点

def branches

"svn ls svn://XXX/branches/".execute().with { br ->
  branches  = text.split()
  br.waitFor()
}

job{
  using "__xxxxx" //important or it replaces job with only svn entries
  name  "__xxxxx"
  scm{

    svn( 'svn://XXX/trunk/a/bit/deeper', 'trunk')
    {
      branches.each(){ br ->
        it / locations << 'hudson.scm.SubversionSCM_-ModuleLocation' {
          remote "svn://XXX/branches/${br}/a/bit/deeper"
          local "${br}"
        }
      }
    }
  }
}
def分支
“svn lssvn://XXX/branches/“.execute()。与{br->
分支=text.split()
br.waitFor()
}
工作{
使用“\uuuxxxxx”//important或仅用svn条目替换作业
名称“\uuuuxxxxx”
供应链管理{
svn('svn://XXX/trunk/a/bit/deeper“,”主干“)
{
分支.each(){br->

它/位置将适用于有限的分支集,谢谢。但是,我们会继续增加分支,因此在我们的情况下不起作用。仍在尝试找到一个好的解决方案。您可以在单独的作业中运行groovy代码,它会随着分支的更改向主作业添加(和删除)svn设置