【发布时间】:2016-02-22 10:34:13
【问题描述】:
我正在致力于在 Nexus OSS 中自动创建私有存储库。
现在,我正在考虑使用curl 来这样做。
在这里,我要创建
- 2 个私有存储库(快照、发布)
- 每个存储库的权限(创建、读取、更新、删除)
- 添加权限的角色
- 已设置角色的用户
我目前无法为角色添加权限,因为生成的权限的 ID 看起来像一些随机 ID。
curl -s --user <user>:<password> -X POST -H 'Accept: application/json' -H 'Content-Type: application/json'\
-d '{"data":{"name":"<repo-name>-release","description":"<repo-name>-release","type":"target","repositoryTargetId":"any","repositoryId":"<repo-name>-release","repositoryGroupId":"","method":["create","read","update","delete"]}}'\
https://<my-nexus-server>/nexus/service/local/privileges_target
返回
{"data":[{"id":"19de4d5c87506","resourceURI":"https://<my-nexus-server>/nexus/service/local/privileges_target/19de4d5c87506","name":"<repo-name>-release - (create)","description":"<repo-name>-release","type":"target","userManaged":true,"properties":[{"key":"repositoryTargetId","value":"any"},{"key":"method","value":"create,read"},{"key":"repositoryId","value":"<repo-name>-release"},{"key":"repositoryGroupId","value":""}]},{"id":"19de4d638eafd","resourceURI":"https://<my-nexus-server>/nexus/service/local/privileges_target/19de4d638eafd","name":"123-release - (read)","description":"<repo-name>-release","type":"target","userManaged":true,"properties":[{"key":"repositoryTargetId","value":"any"},{"key":"method","value":"read"},{"key":"repositoryId","value":"<repo-name>-release"},{"key":"repositoryGroupId","value":""}]},{"id":"19de4d6c197e0","resourceURI":"https://<my-nexus-server>/nexus/service/local/privileges_target/19de4d6c197e0","name":"<repo-name>-release - (update)","description":"<repo-name>-release","type":"target","userManaged":true,"properties":[{"key":"repositoryTargetId","value":"any"},{"key":"method","value":"update,read"},{"key":"repositoryId","value":"<repo-name>-release"},{"key":"repositoryGroupId","value":""}]},{"id":"19de4d756fde5","resourceURI":"https://<my-nexus-server>/nexus/service/local/privileges_target/19de4d756fde5","name":"<repo-name>-release - (delete)","description":"<repo-name>-release","type":"target","userManaged":true,"properties":[{"key":"repositoryTargetId","value":"any"},{"key":"method","value":"delete,read"},{"key":"repositoryId","value":"<repo-name>-release"},{"key":"repositoryGroupId","value":""}]}]}
我想将这些生成的权限添加到角色中。
有没有办法
- 通过 REST API 生成权限时设置 ID?
或
- 将这些生成的权限(带有随机 ID)添加到角色?
【问题讨论】:
-
无法设置这些ID,您需要在创建权限后解析结果并在下一次调用中使用生成的ID。
-
@rseddon 感谢您的回复。我想我会停止偷懒,写一个小脚本来解析它们。