如何通过Groovy将路由规则关联到Nexus OSS上的代理存储库?

如何通过Groovy将路由规则关联到Nexus OSS上的代理存储库?,groovy,nexus,nexus3,Groovy,Nexus,Nexus3,我已经能够使用NexusGroovy脚本创建更具体的路由规则与现有存储库的关联 创建一个很容易;这样的代码在Groovy中得到了很好的评估: RoutingRule RoutingRule=新的RoutingRule(“仅com.company API”,“仅com.company内容”,RoutingMode.BLOCK,[“^(?)/com/company)/.\$”) 我无法理解的部分是如何坚持这个规则并将其附加到现有的存储库中。 我尝试了:Configuration.setRouting

我已经能够使用NexusGroovy脚本创建更具体的路由规则与现有存储库的关联

创建一个很容易;这样的代码在Groovy中得到了很好的评估: RoutingRule RoutingRule=新的RoutingRule(“仅com.company API”,“仅com.company内容”,RoutingMode.BLOCK,[“^(?)/com/company)/.\$”)

我无法理解的部分是如何坚持这个规则并将其附加到现有的存储库中。 我尝试了:Configuration.setRoutingRuleId(EntityHelper.id(ruleName))但没有成功

任何人都知道将代理存储库与路由规则关联的正确配置是什么

Nexus OSS版本:3.19.1-01

编辑:
我通过将我的Nexus版本更新到OSS 3.21.1-01解决了我的问题,并开始使用API,因为他们现在有RoutingRules方法。

不确定您是否在这里找到了答案,因为它已经有2个月了。我也遇到了这个问题,我花了很长时间才弄明白,因此对于任何想要了解的人:

def rule = routingRuleStore.getByName('RULENAME')
config.routingRuleId = org.sonatype.nexus.common.entity.EntityHelper.id(rule)
然后,您可以使用

repositoryManager.create(config)
repositoryManager.update(config)

谢谢,@dyepri你的答案很有效,但实际上我解决了我的问题,将我的Nexus版本更新到OSS 3.21.1-01,并开始使用API,现在他们有RoutingRules方法。