在Java中寻找Artifactory Query Language示例

Tom*_*oon 1 java artifactory artifactory-query-lang

我正在尝试使用来自Java客户端的Artifactory REST API(特别是Artifactory Query Language),但网站上的示例是用Groovy(代码片段)编写的,并不能立即清楚Java客户端如何工作.

将非常感谢使用REST API(或Artifactory Java Client API)执行AQL查询的Java示例.

对于它的价值,这里是Artifactory查询语言网站的链接......

https://www.jfrog.com/confluence/display/RTF/Artifactory+Query+Language

dan*_*anf 8

Artifactory Java Client本身不支持AQL查询.但是,您可以使用它提供的通用Rest调用接口来创建指向AQL API 端点ArtifactoryRequest.

您链接的wiki中的示例不是在Groovy中,它们是AQL语法 - 您只需构造一个您想要的任何查询的字符串并将其作为请求的主体发送 - 大致类似于

String aqlQuery = "items.find({\"name\": {\"$match\" : \"*test.*\"}})";
Artifactory artifactory = Artifactory.create(url, userName, password);
ArtifactoryRequest aqlRequest = new ArtifactoryRequestImpl()
            .method(ArtifactoryRequest.Method.POST)
            .apiUrl("/api/search/aql")
            .requestBody(aqlQuery);
 //Parse this string as json
 String aqlResponse = artifactory.restCall(aqlRequest);
Run Code Online (Sandbox Code Playgroud)

响应是您可以解析和处理的JSON - 请查看我提供的API链接中的示例.