我正在尝试几天为Sonatype nexus 3.0.0创建一些API自动化。我成功创建了脚本来创建角色,存储库和用户。但我坚持要删除它们。
我发现了很多旧文档(nexus 2.x.x),但没有任何实际内容,
我尝试在internal/SecurityApiImpl.groovy
和void deleteUser(String id, String sourceId)
中添加方法;在
org.sonatype.nexus.security.SecurityApi
但是当我尝试测试它时,我坚持
{
"name" : "removeUser",
"result" : "javax.script.ScriptException: groovy.lang.MissingMethodException: No signature of method: org.sonatype.nexus.security.internal.SecurityApiImpl.deleteUser() is applicable for argument types: (java.lang.String, java.lang.String) values: [cosik, default]"
}
感谢您的回答。
答案 0 :(得分:1)
我刚创建了类似的脚本。尝试使用默认的nexus领域删除用户。将用户作为json对象传递。目前适合我。
{
"id": "bob1234"
}
import groovy.json.JsonOutput
import groovy.json.JsonSlurper
def sourceId = 'default'
def user = new JsonSlurper().parseText(args)
security.securitySystem.deleteUser(user.id, sourceId)
return groovy.json.JsonOutput.toJson(user)
答案 1 :(得分:1)
我一直在寻找“ nexus groovy delete role”,并且我只在“ delete user”上找到此SO帖子...如果要删除Role,必须调用:
导入静态org.sonatype.nexus.security.user.UserManager.DEFAULT_SOURCE
security.securitySystem.getAuthorizationManager(DEFAULT_SOURCE).deleteRole(id)
不幸的是,Nexus Groovy和Java API完全不一致。