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

How can I associate an Routing Rule to a proxy repository on Nexus OSS via Groovy?

我已经能够使用 Nexus groovy 脚本创建,更具体地说,将路由规则与现有存储库相关联。

创建一个非常容易;这样的代码在 Groovy 中评估良好: RoutingRule routingRule = new RoutingRule("com.company only API", "only com.company content", RoutingMode.BLOCK, ["^(?!/com/company)/.*\$"])

我无法弄清楚的部分是如何保留此规则并将其附加到现有存储库。 我试过:Configuration.setRoutingRuleId(EntityHelper.id(ruleName)) 没有成功。

有人知道将代理存储库关联到路由规则的正确配置吗?

Nexus OSS 版本:3.19.1-01

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

不确定您是否在这里找到了答案,因为它已经 2 个月大了。我也遇到了这个问题,我花了很长时间才弄清楚这个问题,所以对于任何正在寻找的人:

def rule = routingRuleStore.getByName('RULENAME')
config.routingRuleId = org.sonatype.nexus.common.entity.EntityHelper.id(rule)

然后你可以save/update和

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