0

包含多值属性字段的所有值的正确 AQL 格式是什么。两者似乎都不起作用@<prop name>properties.*

运行 AQL 查询并包含包含多个值的属性字段时,结果包含第一个值而不是包含所有值的列表

items.find(...).include("*","@distro")

目前,我运行一个查询来生成一个工件列表,然后遍历该列表,为每个工件属性运行一个查询

f'/api/storage/{artifact.repo}/{artifact.path}/{artifact.name}?properties'

结果

...properties {'key': 'distro', 'value': 'Ubuntu'}

期望的结果

...properties {'key': 'distro', 'value': ['Ubuntu', 'CentOS',...]}
4

1 回答 1

1

我收到了 jfrog 支持的回复,问题似乎是使用“@propertyname”允许将潜在的多值属性折叠为单个值,这会阻止所有属性的收集。

一种更有效的方法是

items.find(...).include("property")

这会导致在 json 有效负载中返回所有属性,因为它包括包含所有属性的属性

此外,通过不使用@查询不会将值列表中的属性折叠为单个值。所以,如果 build_number 是一个属性,它就变成['25']25.

请求属性域时,请务必将每个属性视为一个列表。

于 2019-10-31T14:00:25.570 回答