有问题吗?想要报告问题?联系JFrog技术支持

跳到元数据的末尾
转到元数据的开始

矩阵参数介绍

矩阵参数键值对参数用分号(;)分隔,可以放在URI上的任何位置。

这是一个标准HTTP协议中指定参数的方法(除了查询参数和路径参数外)。

例如:

http://repo.jfrog.org/artifactory/libs-releases-local/org/libs-releases-local/org/jfrog/build-info-api/1.3.1/build-info-api-1.3.1.jar= 5;状态= DEV;评级

Artifactory使用矩阵参数:

  1. 将属性添加到构件中作为部署的一部分
  2. 使用矩阵参数控制工件分辨率

页面内容

在部署时动态地向构件添加属性

您可以向部署(PUT)请求添加键值矩阵参数,这些参数将自动转换为已部署构件上的属性。

由于矩阵参数可以添加到URL的任何部分,而不仅仅是在最后,因此您可以将它们添加到目标部署基URL中。在部署时,在矩阵参数之后添加工件路径,最终部署的工件将被分配定义的属性。

您甚至可以使用动态属性,这取决于我们的部署框架。

例如,当使用Maven时,您可以向部署URL添加两个参数:buildNumber修订, Maven在部署时将其替换为项目属性中的动态值(例如,通过使用Maven build-number插件)。

所以,如果你将分发URL定义为:

http://myserver: 8081 / artifactory / qa-releases; buildNumber = $ {buildNumber};修订= ${修订}

并部署到qa-releases用下面的路径存储一个jar:

/ org/jfrog/build-info-api/1.3.1/build-info-api-1.3.1.jar

部署后,URL被转换为:

http://myserver:8081/artifactory/qa-releases;buildNumber=249;revision=1052/org/jfrog/build-info-api/1.3.1/build-info-api-1.3.1.jar

部署的build-info-api-1.3.1.jar有两个新属性:

buildNumber = 1052 = 249修订

附加属性的权限

为了向已部署的构件添加属性,您必须具有“Annotate”权限。


用矩阵参数查询控制工件分辨率

矩阵参数也可以用于工件解析,以控制如何找到和服务工件。

目前支持两种类型的查询:

  • 非冲突性的价值观
  • 强制性的值。

非强制性属性

被解析的工件可能没有带有指定键的属性,或者具有带有指定键和指定精确值的属性(即,如果工件具有具有不冲突值的属性,则该工件被解析)。

非强制性属性由一个简单的键=值参数。

例如:

当前工件属性

矩阵参数

解析结果

颜色=黑色

颜色=黑色

好(200)

None或height=50

颜色=黑色

好(200)

颜色=红色

颜色=黑色

NOT_FOUND (404)

强制性的属性

已解析的工件必须具有指定键和指定确切值的属性。

强制属性在属性键后用加号(+)标识:键+ =值

例如:

当前工件属性

矩阵参数

解析结果

颜色=黑色

+ =黑色

好(200)

None或height=50

+ =黑色

NOT_FOUND (404)

颜色=红色

+ =黑色

NOT_FOUND (404)

查询中的多个属性

多个键值矩阵参数是相加的,在每个键值子段之间形成AND查询。


多值属性支持

所有矩阵参数都可以支持多个值,用逗号分隔。例如:

颜色=红、金、绿
  • 没有标签