如何使用 Artifactory 的 Java 客户端获取文件夹中的文件列表
How to get a list of files in a folder with Artifactory's Java Client
我正在寻找 File List API in Artifactory's Java Client 的等效项。大致如下:
artifactory = ArtifactoryClientBuilder.create()
.setUrl(url)
.setUsername(userName)
.setPassword(password)
.build();
List<String> filesInFolder = artifactory.repository(repository).folder(folderPath).list();
它存在吗?如果不能,还有什么选择?
在 GitHub 上获得一些帮助后,对我有用的是:
String aqlQuery = new AqlQueryBuilder()
.item(AqlItem.aqlItem("repo", repositoryName))
.item(AqlItem.aqlItem("path", folderPath))
.build();
ArtifactoryRequest repositoryRequest = new ArtifactoryRequestImpl().apiUrl("api/search/aql")
.method(ArtifactoryRequest.Method.POST)
.requestType(ArtifactoryRequest.ContentType.TEXT)
.requestBody(aqlQuery)
.responseType(ArtifactoryRequest.ContentType.JSON);
ArtifactoryResponse artifactoryResponse = artifactory.restCall(repositoryRequest);
AqlResults aqlResults = artifactoryResponse.parseBody(AqlResults.class);
其中 AqlResults
是我的自定义 POJO,其中包含我需要的结果字段。
我正在寻找 File List API in Artifactory's Java Client 的等效项。大致如下:
artifactory = ArtifactoryClientBuilder.create()
.setUrl(url)
.setUsername(userName)
.setPassword(password)
.build();
List<String> filesInFolder = artifactory.repository(repository).folder(folderPath).list();
它存在吗?如果不能,还有什么选择?
在 GitHub 上获得一些帮助后,对我有用的是:
String aqlQuery = new AqlQueryBuilder()
.item(AqlItem.aqlItem("repo", repositoryName))
.item(AqlItem.aqlItem("path", folderPath))
.build();
ArtifactoryRequest repositoryRequest = new ArtifactoryRequestImpl().apiUrl("api/search/aql")
.method(ArtifactoryRequest.Method.POST)
.requestType(ArtifactoryRequest.ContentType.TEXT)
.requestBody(aqlQuery)
.responseType(ArtifactoryRequest.ContentType.JSON);
ArtifactoryResponse artifactoryResponse = artifactory.restCall(repositoryRequest);
AqlResults aqlResults = artifactoryResponse.parseBody(AqlResults.class);
其中 AqlResults
是我的自定义 POJO,其中包含我需要的结果字段。