docker - 使用 Artifactory API 按时间倒序列出 docker 镜像
问题描述
我正在尝试使用下面的 API 来获取 docker 图像列表,以便我可以填充 Jenkins 构建的下拉列表。有没有办法可以按时间倒序而不是字母数字顺序列出,以便最新图像位于顶部?谢谢。
/artifactory/api/docker/repo/v2/image/tags/list
解决方案
您将不得不借助 Artifactory AQL 查询语言。一个示例 AQL 片段是...
items.find({"repo":{"$eq":"<repositoryname>"}, "name":{"$eq" : "<artifactoryItemName>"}}) .sort({"$desc" : ["created"]})
降序排序$desc
由时间戳字段上的排序运算符指定created
。
limit
您还可以通过在上述查询中添加额外内容来限制返回的结果数量...
items.find({"repo":{"$eq":"<repositoryname>"}, "name":{"$eq" : "<artifactoryItemName>"}}) .sort({"$desc" : ["created"]}).limit(10)
AQL 需要在 提交/artifactory/api/search/aql
。同样可以通过 REST API 以及 POST 请求来完成。内容不应以 JSON 格式发布,而应直接以将查询指定为文本的方式发布。内容类型的标头是Content-Type:text/plain
. 您可以使用基本身份验证或其他受支持的身份验证方法。
您可以使用 AQL 做很多事情。语法一开始可能看起来有点混乱。
推荐阅读
- javascript - 如何在 Angular 上下文中运行外部 JavaScript 字符串?
- c# - Asp.Net Page.Master.FindControl 总是在静态方法中返回 null
- ios - 我可以创建全局 IBOutlets 和 Functions 吗?
- java - Buildr 不会在具有多个包的项目中生成 POM
- javascript - 从对象中寻找最高价值
- security - Salesforce - Schema 类是否描述缓存在 Salesforce 端的方法?
- java - 编译时的工厂模式(带参数)
- r - 在R中的函数内循环
- php - 带有原型的 Symfony 4 表单集合
- angular - ng-template中的剑道角度网格列传递数据项