我找不到一个任何地方示例,说明如何使用Java客户端和API密钥(而非用户名/密码)上传到Artifactory。谁能帮我?到目前为止,我所拥有的只是:
Artifactory artifactory = ArtifactoryClientBuilder.create()
.setUrl("https://artifactory.company.com")
.build();
我认为我需要以某种方式使用ArtifactoryRequest
,但我不知道如何将两者一起使用...
答案 0 :(得分:2)
查看文档,似乎仅支持用户名/密码https://github.com/jfrog/artifactory-client-java/blob/master/README.md
查看源代码,似乎仅支持用户名/密码和accessToken https://github.com/jfrog/artifactory-client-java/blob/master/services/src/main/groovy/org/jfrog/artifactory/client/ArtifactoryClientBuilder.java
有一些关于此功能的请求(https://github.com/jfrog/artifactory-client-java/pull/103),但是似乎存在一种解决方法,可以手动设置“ X-JFrog-Art-Api”来解决问题。这将涉及手动摆弄标题。
我个人一直以来都使用API密钥代替“身份验证”字段中的密码这一事实。
您可以使用API密钥作为密码尝试以下方法吗?
请注意,您还需要附加到API密钥的用户名
Artifactory artifactory = ArtifactoryClientBuilder.create()
.setUrl("ArtifactoryUrl")
.setUsername("username")
.setPassword("APIKEY")
.build();
这对您有用吗?
答案 1 :(得分:0)
Artifactory artifactory = ArtifactoryClientBuilder.create()
.setUrl("ArtifactoryUrl")
.setAccessToken([your access token])
.build();
像魅力一样工作.. 要创建访问令牌,请尝试使用以下命令:
curl -uadmin:[PASSWORD] -XPOST "http://localhost:8081/artifactory/api/security/token" -d "username=[USERNAME]" -d "scope=member-of-groups:readers"