{"files": [{"pattern" or "aql": "[必选]","target": "[可选,默认:./]","props": "[可选]","recursive": "[可选,默认:true]", "flat": "[可选,默认:false]", "build": "[可选]","excludePatterns": "["[可选]"],"sortBy":["[可选]"],"sortOrder": "[可选,默认:'asc']", "limit":[可选],"offset":[可选]}]}
地点:
元素 |
描述 |
---|---|
模式 |
[如果未指定'aql'则必选] |
目标 |
(可选) 为获得指定目标路径的灵活性,可以以的形式包含占位符 |
aql |
[如果没有指定'pattern'则必选] |
道具 |
(可选) |
平 |
(默认值:false) |
递归 |
(默认值:真实) |
构建 |
(可选) 属性格式为build-name/build-number。 如果未指定版本号,或者对版本号使用关键字LATEST,则使用最新发布的版本号。 |
爆炸 |
(默认值:false) 如果为true,下载的归档文件将在下载后提取。在本地删除归档文件本身。支持的归档类型有:zip, tar;tar.gz;和tgz |
excludePatterns |
(可选的。只适用于指定'pattern'时] 模式的数组(用方括号括起来)被排除在下载之外与“pattern”属性不同,“excludePatterns”不能将存储库作为模式路径的一部分。您可以使用通配符来指定多个工件。 例如:[" * .sha1”、“* .md5”) |
sortBy | (可选) 用分号分隔的字段的列表,用于排序。字段必须是“条目”AQL域的一部分。欲了解更多信息,请阅读AQL文档. |
排序方式 | (默认值:asc) 中的字段的顺序sortBy选项应该排序。接受asc或desc. |
限制 | (可选) 要获取的项的最大数量。通常与the连用sortBy选择。 |
抵消 | (可选) 获取项的偏移量(即应该跳过多少项)。通常与the连用sortBy选择。 |
目前sortBy,排序方式,限制而且抵消在TeamCity中不支持。
上传规范模式
{"files": [{"pattern": "[必选]","target": "[必选]","props": "[可选]","recursive": "[可选,默认值:'true']", "flat": "[可选,默认值:'true']", "regexp": "[可选,默认值:'false']", " explosion ": "[可选,默认值:'false]", "excludePatterns":["[可选]"]}]}
地点:
元素 |
描述 |
---|---|
模式 |
(强制) 指定应该上传到Artifactory的工件的本地文件系统路径。可以通过使用通配符或regexp属性指定的正则表达式指定多个构件。 |
目标 |
(强制) 在Artifactory中指定目标路径,格式如下:[repository_name]/[repository_path] 如果模式以斜杠结尾,例如“repo-name/a/b/”,那么就假定“b”是Artifactory中的一个文件夹,并将文件上传到其中。在“repo-name/a/b”的情况下,上传的文件在Artifactory中被重命名为“b”。 为获得指定上传路径的灵活性,可以以的形式包含占位符 |
道具 |
(可选) |
平 |
(默认值:真实) |
递归 |
(默认值:真实) |
正则表达式 |
(默认值:false) 如果为true,该命令将把pattern属性解释为正则表达式,该属性描述要上传的工件的本地文件系统路径。 如果为false,该命令将把pattern属性解释为通配符表达式。 |
爆炸 |
(默认值:false) 如果为true,则上传的归档文件在上传后被提取。存档文件本身并不保存在Artifactory中。支持的归档类型有:zip, tar;tar.gz;和tgz |
excludePatterns |
(可选) 被排除在上传之外的模式数组(用方括号括起来)。
允许使用由regexp属性指定的通配符或正则表达式。如果使用regexp,则需要使用反斜杠“\”转义表达式中使用的任何保留字符(如“。”、“?”等)。
例如:[" * .sha1”、“* .md5”) |
使用占位符
文件规范提供了巨大的灵活性上传,或下载文件通过使用通配符或带有占位符的正则表达式。
模式属性中括号中包含的任何通配符都可以与目标属性中相应的占位符相匹配,以确定下载或上传后工件的名称。文件的根路径下的所有zip文件my-local-repo
存储库,它们的名称中包含破折号。这些文件在下载时被重命名,用两个破折号代替破折号。
{“文件”:[{“模式”:“my-local-repo / (*) - (*) . zip”,“目标”:“法国人/ {1},{2}. zip”、“递归”:“false”}]}
例子
示例1:下载目录下的所有文件all-my-frogs
目录my-local-repo
库的法国人/ all-my-frogs
目录中。
{“文件”:[{“模式”:“my-local-repo / all-my-frogs /”,“目标”:“讨厌的/”}]}
示例2:下载AQL查询检索到的所有文件到本地/输出
目录中。
{"files": [{"aql":{"项。找到":{“回购”:“my-local-repo”,“或“美元:[{”和“美元:[{“路径”:{" $匹配”:“。”}, "name": {"$match": "a1。在" } } ] }, { "$and": [ { "path": { "$match": "*" }, "name": { "$match": "a1.in" } } ] } ] } }, "target": "local/output/" } ] }
示例3:上传
- 目录下的所有zip文件
2022世界杯阿根廷预选赛赛程
目录的邮政编码
下文件夹,all-my-frogs存储库。
和 - 所有TGZ文件都在
2022世界杯阿根廷预选赛赛程
目录的tgz下文件夹,all-my-frogs存储库。 - 用type = zip和status = ready标记所有zip文件。
- 用type = tgz和status = ready标记所有tgz文件。
{“文件”:[{“模式”:“资源/ * . zip”,2022世界杯阿根廷预选赛赛程“目标”:“my-repo / zip /”,“道具”:“type =邮政;状态=准备”},{/ *”模式”:“资源。tgz”、“目标”:“my-repo / tgz”、“道具”:“类型= tgz;状态=准备”}]}
示例4:下载目录下的所有文件all-my-frogs
目录my-local-repo
存储库除了对于“。zip”文件和“props”。的文件
{"files": [{"pattern": "my-local-repo/all-my-frogs/", "excludePatterns": ["*.zip", "all-my-frogs/props. zip"。*"]}]}
例5:从my-local-repo存储库下载三个最老的zip文件到local/output目录。
{“文件”:[{“模式”:“my-local-repo / * . zip”、“sortBy”:“创造”,“限制”:3,“目标”:“本地/输出/}]}
例6:从my-local-repo存储库下载三个最老的zip文件到local/output目录。该文件规范使用AQL。
{"files": [{"aql":{"项。找到":{“回购”:“my-local-repo”,“或“美元:[{”和“美元:[{“路径”:{" $匹配 ": "*" }, " 名称”:{" $匹配”:“* . zip " } } ] } ] } }, " sortBy”:“创造”,“限制”:3,“目标”:“本地/输出/“}}
例7:从。下载工件generic-local存储库,它属于以下构建,已经发布到Artifactory -构建名称:构建并建立号码:10.
{“文件”:[{“模式”:“generic-local”、“构建”:“构建/ 10”}]}
例8:从。下载工件generic-local存储库,它们属于构建build,它已经发表在Artifactory上。将下载发布到Artifactory的最新构建号的工件。
{“文件”:[{“模式”:“generic-local”、“构建”:“构建”}]}
模式验证
JSON模式允许您注释和验证JSON文件。JFrog文件规范模式可在JSON模式存储目录和以下链接:https://github.com/jfrog/jfrog-cli/blob/v2/schema/filespec-schema.json.
使用Jetbrains ide (Intellij IDEA, Webstorm, Goland等)?
文件规范模式自动应用于以下文件模式:
* * / * . json文件规范
* * . json文件规范
* .filespec
使用Visual Studio代码?
要应用文件规范模式验证,请安装JFrog vs代码扩展.
或者,将以下内容复制到您的设置中。json文件:
“json。schemas": [{"fileMatch": ["**/filespecs/*. schema ": [{"fileMatch": ["json”、“*文件规范*。json”、“*。Filespec "], "url": "https://raw.githubusercontent.com/jfrog/jfrog-cli/v2/schema/filespec-schema.json"}]