使用最新的JFrog产品?hth华体会最新官方网站
JFrog平台用户指南


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

概述

Distribution提供了一种方便且最新的自描述API,各种工具/框架可以使用它来自动创建REST调用。

使用

分布REST API端点可以通过调用RESTful API的任何标准方式调用。本节以cURL为例介绍如何使用Artifactory REST API。

使用和配置cURL


一般

测试连接

描述:测试与配电的连接。

自:1.0
安全:不需要身份验证。
用法:GET / api / v1 /系统/平
请求头信息:N/A
消耗:N/A


请求示例
$ curl -XGET "http://localhost:8080/api/v1/system/ping"

响应状态码:

200 -连接正常
500 -错误。一个或多个数据库不可用

响应标头:N/A
生产:application / json


响应
On Success {"status_code ": 200, "message": "ok"} On Error {"status_code ": 500, "message": "下列服务不可用:database, redis, distributor"}

获取系统信息

描述:获取一般信息,包括系统不稳定时的错误详细信息。注意:不要为签名密钥设置密码短语。当通过UI创建发布包时,JFrog Distribution目前不支持输入密码短语。

自:1.0
安全:不需要身份验证。
用法:GET / api / v1 /系统/信息
请求头信息:N/A
消耗:N/A


请求示例
$ curl -XGET "http://localhost:8080/api/v1/system/info"


响应状态码:

200 -成功

响应标头:N/A
生产:application / json


响应
{“状态”:“稳定”、“消息 ": "...", " 版本”:“1.0”、“service_id”:“jfds@……”}

页面内容


获取系统设置

描述:获取系统设置
自:1.6
安全:管理员只
用法:GET / api / v1 /系统/设置
请求头信息:N/A
消耗:N/A

请求示例
$ curl -XGET -u admin:密码http://localhost:8080/api/v1/system/settings

响应状态码:
200 -成功

响应标头:N/A

生产:application / json

响应
{call_home_enabled: true}

更新系统设置

描述:更新系统设置
自:1.6
安全:管理员只
用法:POST / api / v1 /系统/设置
请求头信息:N/A
消耗:application / json

system_settings.json
{call_home_enabled: true}
类型 要求 默认值 描述
call_home_enabled

布尔

没有

1.6

如果启用,将使用统计数据发送到JFrog

请求示例
$ curl -XPOST -u admin:password -H "Content-Type: application/json" "http://localhost:8080/api/v1/system/settings" -T system_settings.json

响应状态码:

200 -成功


签名密钥

为分发设置签名密钥

描述:GPG签名密钥的分布。此密钥将用于签署发布包。

自:1.0
安全:管理。
用法:把/ api / v1 /键/ pgp
请求头信息:N/A
消耗:application / json


gpg.json
{“public_key”:“——开始GPG公钥 ----- ....——结束GPG公钥块”、“private_key”:“——GPG密钥块开始 ----- ....----- end GPG私钥块-----"}
请求示例
$ curl -XPUT -u admin:password -H "Content-Type: application/json" "http://localhost:8080/api/v1/keys/pgp" -T gpg.json


响应状态码:

200 -密钥设置成功。

响应标头:N/A
生产:application / json


响应
{"status_code ": 201, "message": "设置PGP公私钥"}



发布包

创建发布包版本

描述:创建一个新的发布包版本。

自:1.0
注意: 一个发布包版本可以包含多达10万个二进制文件。

超出支持的二进制数

100k的最大限制不是固定的,可以超过,但请注意,它没有经过测试,风险由您自己承担。


安全:仅限已验证的用户。用户必须匹配发布包写权限
用法:发布api / v1 / release_bundle
请求头信息:
X-GPG-PASSPHRASE - String -签名密钥的密码短语(如果适用)
消耗:application / json


createbundle.json
{"name": "", "version": "" ", "dry_run": true|false, "sign_immediate ": true|false, "storing_repository": "repository-name"|null, "store_at_source_artifactory": true|false, "description": "" ", "release_notes": {"syntax": "markdown|asciidoc|plain_text", "content": ""}, "spec": {"source_artifactory_id": "jfrt@...", "queries": [{"aql": "items. "找到({\“回购\”,\“example-repo-local \”})”,“query_name”:“”、“映射”:[{“输入”:“正则表达式”,“输出”:“1美元/ 2美元”}],“added_props”:[{“关键”:“,”值 ": [""] } ] } ] } }
类型 要求 默认值 描述
名字

字符串

是的

N/A

1.0

发布包名称

版本

字符串

是的

N/A

1.0

发布捆绑版本

dry_run

布尔

没有

真正的

1.0

如果为true,则只进行解析和验证。

sign_immediately

布尔

没有

1.2

如果为true,则自动签署发布包版本。

storing_repository

字符串

没有

1.3

源Artifactory中用于存储发布包构件的存储库名称。如果没有提供,Artifactory将使用默认的(需要Artifactory 6.5或更高版本)。

store_at_source_artifactory

布尔

没有

真正的

1.3

该标志指示是否在源Artifactory中存储发布包版本同时签署(要求6.5或以上版本)

描述

字符串

没有

1.0

发布包的描述

release_notes

字符串

没有

1.0

描述发布包版本的发布说明

release_notes.syntax

字符串

没有

“plain_text”

1.0

发行说明的语法

release_notes.content

字符串

是的

N/A

1.0

发布说明的内容

规范

对象

是的

N/A

1.0

通过在此发布包中收集和分发的工件来描述规范

spec.source_artifactory_id

字符串

是的

N/A

1.0

将从中收集工件的单个Artifactory服务id。

spec.queries

列表(对象)

是的

N/A

1.0

要收集工件的查询对象列表。

spec.queries.aql

字符串

是的

N/A

1.0

从Artifactory收集工件的一个ql查询

spec.queries.query_name

字符串

没有

“查询-{指数}”

1.0

显示查询对象时要使用的名称

spec.queries.added_props

列表(对象)

没有

1.0

添加的属性列表,这些属性将在发布包之后添加到工件中

spec.queries.added_props.key

字符串

是的

N/A

1.0

属性键,在发布包之后创建或更新

spec.queries.added_props.values

列表(字符串)

没有

[]

1.0

发布发布包后要添加到属性键的值列表

spec.queries.mappings

列表(对象)

没有

1.0

映射列表,在发布包之后应用于工件路径

spec.queries.mappings.input

字符串

是的

N/A

1.0

工件路径的正则表达式匹配器

spec.queries.mappings.output

字符串

是的

N/A

1.0

替换由“输入”匹配器匹配的工件路径。捕获组可以作为“$1”使用。

请求示例
$ curl -XPOST -u admin:password -H "Content-Type: application/json" -H "X-GPG-PASSPHRASE: passphrase" "http://localhost:8080/api/v1/release_bundle" -T createbundle.json

响应状态码:

201 -成功创建发布包版本
409 -已经存在相同名称和版本的发布包
从人工AQL传递错误的状态码

响应标头:N/A
生产:application / json

响应
{"name": "bundle-name", "version": "1.0", "state": "OPEN", "created": "2018-03-14T10:19:30.678Z", "artifacts": [{"source_artifactory_id": "jfrt@01c8d4y8q2xj2y1s8s2zv00a28", "checksum": "0651d26f4cc6ed60cd9d273c440daf7617459d3f6e3d512188ff19d4933e4ff6", "source_repo_path": "conanx/demo/sample-conan1/1.0/testing/export/conanfile.py", "props": [{"key": "conan.package. py", "props": [{"key": "conan.package. py"。Version ", "values":["1.0"]},…}, {"xray_scan_info": {"blocked": boolean。"blocked_reason": string(如果未被阻塞则为null)},…, "archived": false}

NPM、Bower和NuGet包类型

当使用像NPM、Bower和NuGet这样需要传递依赖的包类型时,你需要创建两个独立的发布包:一个工件发布包;一个依赖发布包。

您可以生成build.info使用JFrog CLI,并使用以下命令创建发布包依赖工件AQL查询:

工件AQL
构建。找到({“名称”:“buileName”,“数量”:“buildNumber”})其中包括(“module.artifact.item”)
依赖AQL
构建。找到({“名称”:“buildName”,“数量”:“buildNumber”})其中包括(“module.dependency.item”)

更新发布包版本

描述:更新现有的未签名发布包版本。

自:1.2
安全:仅限已验证的用户。用户必须匹配发布包写权限
用法:将api / v1 / release_bundle /:名称/:版本
请求头信息:
X-GPG-PASSPHRASE - String -签名密钥的密码短语(如果适用)
消耗:application / json


updatebundle.json
{"dry_run": true|false, "sign_immediate ": true|false, "description": "" ", "release_notes": {"syntax": "markdown|asciidoc|plain_text", "content": ""}, "spec": {"source_artifactory_id": "jfrt@...", "queries": [{"aql": "items. "找到({\“回购\”,\“example-repo-local \”})”,“query_name”:“”“映射”:[{“输入”:“正则表达式”,“输出”:“1美元/ 2美元”}],“added_props”:[{“关键”:“,”值 ": [""] ] } ] } }
类型 要求 默认值 描述
dry_run

布尔

没有

真正的

1.2

如果为true,则只进行解析和验证

sign_immediately

布尔

没有

1.2

如果为true,则自动签署发布包版本。

storing_repository

字符串

没有

1.3

源Artifactory中用于存储发布包构件的存储库名称。如果没有提供,Artifactory将使用默认的(需要Artifactory 6.5或更高版本)。

store_at_source_artifactory

布尔

没有

真正的

1.3

该标志指示是否在源Artifactory中存储发布包版本同时签署(要求6.5或更高版本

描述

字符串

没有

1.2

发布包的描述

release_notes

字符串

没有

1.2

描述发布包版本的发布说明

release_notes.syntax

字符串

没有

“plain_text”

1.2

发行说明的语法

release_notes.content

字符串

是的

N/A

1.2

发布说明的内容

规范

对象

是的

N/A

1.2

通过在此发布包中收集和分发的工件来描述规范

spec.source_artifactory_id

字符串

是的

N/A

1.2

将从中收集工件的单个Artifactory服务id。

spec.queries

列表(对象)

是的

N/A

1.2

要收集工件的查询对象列表。

spec.queries.aql

字符串

是的

N/A

1.2

从Artifactory收集工件的一个ql查询

spec.queries.query_name

字符串

没有

“查询-{指数}”

1.2

显示查询对象时要使用的名称

spec.queries.added_props

列表(对象)

没有

1.2

添加的属性列表,这些属性将在发布包之后添加到工件中

spec.queries.added_props.key

字符串

是的

N/A

1.2

属性键,在发布包之后创建或更新

spec.queries.added_props.values

列表(字符串)

没有

[]

1.2

发布发布包后要添加到属性键的值列表

spec.queries.mappings

列表(对象)

没有

1.2

映射列表,在发布包之后应用于工件路径

spec.queries.mappings.input

字符串

是的

N/A

1.2

工件路径的正则表达式匹配器

spec.queries.mappings.output

字符串

是的

N/A

1.2

替换由“输入”匹配器匹配的工件路径。捕获组可以作为“$1”使用。

请求示例
$ curl -XPUT -u admin:password -H "Content-Type: application/json" -H "X-GPG-PASSPHRASE: passphrase" "http://localhost:8080/api/v1/release_bundle/:name/:version" -T updatebundle.json

响应状态码:

200 -成功更新发布包版本
400 -发布包版本已签名
从人工AQL传递错误的状态码

响应标头:N/A
生产:application / json

响应
{"name": "bundle-name", "version": "1.0", "state": "OPEN", "created": "2018-03-14T10:19:30.678Z", "artifacts": [{"source_artifactory_id": "jfrt@01c8d4y8q2xj2y1s8s2zv00a28", "checksum": "0651d26f4cc6ed60cd9d273c440daf7617459d3f6e3d512188ff19d4933e4ff6", "source_repo_path": "conanx/demo/sample-conan1/1.0/testing/export/conanfile.py", "props": [{"key": "conan.package. py", "props": [{"key": "conan.package. py"。Version ", "values":["1.0"]},…}, {"xray_scan_info": {"blocked": boolean。"blocked_reason": string(如果未被阻塞则为null)},…, "archived": false}

NPM、Bower和NuGet包类型

当使用像NPM、Bower和NuGet这样需要传递依赖的包类型时,你需要创建两个独立的发布包:一个工件发布包;一个依赖发布包。

您可以生成build.info使用JFrog CLI,并使用以下命令创建发布包依赖工件AQL查询:

工件AQL
构建。找到({“名称”:“buileName”,“数量”:“buildNumber”})其中包括(“module.artifact.item”)
依赖AQL
构建。找到({“名称”:“buildName”,“数量”:“buildNumber”})其中包括(“module.dependency.item”)

发布包版本

描述:签署一个发布包版本,并将其存储在存储库中的源Artifactory(需要Artifactory 6.5或更高版本)中。

自:1.2
安全:仅限已验证的用户。用户必须匹配发布包写权限
用法:发布api / v1 / release_bundle /:名称/:版本/标志
请求头信息:
X-GPG-PASSPHRASE - String -签名密钥的密码短语(如果适用)


请求示例
$ curl -XPOST -u admin:password -H "Content-Type: application/json" -H "X-GPG-PASSPHRASE: passphrase" "http://localhost:8080/api/v1/release_bundle/:name/:version/sign"
类型 要求 默认值 描述
storing_repository

字符串

没有

1.3

源Artifactory中用于存储发布包构件的存储库名称。如果没有提供,Artifactory将使用默认的(需要Artifactory 6.5或更高版本)。


响应状态码:

200 -成功签署发布包版本
400 -发布包版本已经签署

响应标头:N/A
生产:application / json

响应
{"name": "bundle-name", "version": "1.0", "state": "SIGNED", "created": "2018-03-14T10:19:30.678Z", "artifacts": [{"source_artifactory_id": "jfrt@01c8d4y8q2xj2y1s8s2zv00a28", "checksum": "0651d26f4cc6ed60cd9d273c440daf7617459d3f6e3d512188ff19d4933e4ff6", "source_repo_path": "conanx/demo/sample-conan1/1.0/testing/export/conanfile.py", "props": [{"key": "conan.package. py", "props": [{"key": "conan.package. py"。Version ", "values":["1.0"]},…},…, "archived": false}


获取所有发布包版本

描述:返回所有发布包版本。该端点支持分页,每个页面最多返回10个发布包。

自:1.0
安全:仅限已验证的用户。只显示用户具有读权限的发布包。
用法:得到的api / v1 / release_bundle [?start_pos =位置):
请求头信息:N/A
消耗:N/A


请求示例
$ curl -XGET -u admin:password -H "Content-Type: application/json" "http://localhost:8080/api/v1/release_bundle?start_pos = 0 "


响应状态码:

200 -成功

响应标头:
range limit - startpos - number
range limit - endpos - number
range limit - total - number

生产:application / json


响应
[{"name": "release-bundle-name", "version": "1.0.0", "state": "OPEN", "description": "release bundle description text", "release_notes": {"content": "release notes text", "syntax": "plain_text"}, "created": "2018-03-14T17:36:35.416Z", "artifacts": [{"source_artifactory_id": "jfrt@01c8jp98k28pd21556kq9p0dwc", "checksum": "0bd5d1e46180436132a86d3d3ec9ddfd7ab0023ac4648f4448fde6e41fffae54", "source_repo_path": "maven-1521048945483/org/pom/test/multi1/1.1/multi1-1.1.jar", "target_repo_path":"maven-1521048945483/ org/po/test/multi1/1.1 /multi1-1.1.jar" "props": [{"key": "build. jar"时间戳","values":["1521049005953"]},…}, {"xray_scan_info": {"blocked": boolean。"blocked_reason": string(如果未被阻塞则为null)},…], "archived": false},…]


获取发布包版本

描述:返回所有发布包版本。该端点支持分页,每个页面最多返回10个发布包。

自:1.0
安全:仅限已验证的用户。用户必须具有发布包的读权限。
用法:获得api / v1 / release_bundle /:名字(?start_pos =位置):
请求头信息:N/A
消耗:N/A


请求示例
$ curl -XGET -u admin:password -H "Content-Type: application/json" "http://localhost:8080/api/v1/release_bundle/bundle1?start_pos = 0 "


响应状态码:

200 -成功
没有找到发布包
响应标头:
range limit - startpos - number
range limit - endpos - number
range limit - total - number

生产:application / json


响应
[{"name": "release-bundle-name", "version": "1", "state": "OPEN", "description": "发布包描述文本","release_notes": {"content": "发布包描述文本","syntax": "plain_text"}, "created": "2018-03-14T17:36:35.416Z", "artifacts": [{"checksum": "5880e05b5886a2fcd9a5a6dace38cd4f243affa06719c5e63116b16094e95a31", "props": [{"key": "build -bundle-name"。时间戳","values":["1521049005953"]},…,“source_artifactory_id”:“jfrt@01c8d4y8q2xj2y1s8s2zv00a28”,“source_repo_path”:“artifactory-generic/ bin托盘-client-java-api-0.9.2.jar”,“target_repo_path”:“artifactory-generic/ bin托盘-client-java-api-0.9.2.jar”},…], "archived": false},…]


获取发布包版本

描述:查看特定的发布包版本。支持多种响应格式。

自:1.0
安全: 仅限已验证的用户。用户必须具有发布包的读权限。
用法:获得api / v1 / release_bundle /:名称/:版本吗?格式=json | JWS | jose]
请求头信息:N/A
消耗:N/A


请求示例
$ curl -XGET -u admin:password -H "Content-Type: application/json" "http://localhost:8080/api/v1/release_bundle/bundle1/1.0.0?= json格式”


响应状态码:

200 -成功
404 -未找到发布包或发布包版本
响应标头:N/A

生产:application / json(默认)


= json格式
{"name": "Bundle -name", "version": "1.0.0", "state": "OPEN", "description": "Bundle description", "release_notes": {"content": "发布说明描述文本","syntax": "plain_text"}, "created": "2018-05-02T08:45:16.860Z", "artifacts": [{"source_artifactory_id": "jfrt@01cc8hm002py3z1y5yq5t90xrt", "source_repo_path": "example-repo-local/Screen Shot 2018-04-05 at 10.47.16.png", "target_repo_path": "example-repo-local/ change/Screen Shot 2018-04-05 at 10.47.16.png", "checksum":"5a730b01e81e2aa3b5188bcef3be8e4e7d61f83b6156b22a33c9a3f23ff38e19", "props": [{"key": "jira", "values":["1"]}]},…, "archived": false}
生产:应用程序/穆+ json(格式= jw)

格式= jw
{"header": "eyJraWQiOiIzZWFiNGEiLCJhbGciOiJSUzI1NiJ9", "payload":“eyJuYW1lIjoiYnVuZGxlLW5hbWUiLCJ2ZXJzaW9uIjoiMS4wLjAiLCJkZXNjcmlwdGlvbiI6IkJ1bmRsZSBkZXNjcmlwdGlvbiIsInJlbGVhc2Vfbm90ZXMiOnsiY29udGVudCI6InJlbGVhc2Ugbm90ZXMgZGVzY3JpcHRpb24gdGV4dCIsInN5bnRheCI6InBsYWluX3RleHQifSwiY3JlYXRlZCI6IjIwMTgtMDUtMDJUMDg6NDU6MTYuODYwWiIsImFydGlmYWN0cyI6W3sicmVwb19wYXRoIjoiZXhhbXBsZS1yZXBvLWxvY2FsL2FjaGFuZ2UvU2NyZWVuIFNob3QgMjAxOC0wNC0wNSBhdCAxMC40Ny4xNi5wbmciLCJjaGVja3N1bSI6IjVhNzMwYjAxZTgxZTJhYTNiNTE4OGJjZWYzYmU4ZTRlN2Q2MWY4M2I2MTU2YjIyYTMzYzlhM2YyM2ZmMzhlMTkiLCJwcm9wcyI6 w3sia2v5ijoiamlyysisinzhbhvlcyi6wyixil19xx0seyjyzxbvx3bhdggioijlegftcgxllxjlcg8tbg9jywwvywnoyw5nzs9ty3jlzw4gu2hvdcaymde4lta0lta1igf0idewljq3lje2icgyks5wbmcilcjjagvja3n1bsi6ijizmzy2mzk5n2eyzgyxy2fmzdzhzwi1njkxnjzhzjkxzjyzzdqwzjrmndfinjgxy2jln2rmmjlkmwe1yze3mgeilcjwcm9wcyi6w3sia2v5ijoiamlyysisinzhbhvlcyi6wyixil19xx0seyjyzxbvx3bhdggioijlegftcgxllxjlcg8tbg9jywwvywnoyw5nzs9ty3jlzw4gu2hvdcaymde4lta0lta1igf0idewljq3lje2ideucg5niiwiy2hly2tzdw0ioii1ytczmgiwmwu4mwuyywezyjuxodhiy2vmm2jlogu0ztdknjfmodninje1 nmiymmezm2m5ytnmmjnmzjm4zte5iiwichjvchmiolt7imtlesi6imppcmeilcj2ywx1zxmiolsimsjdfv19lhsicmvwb19wyxroijoizxhhbxbszs1yzxbvlwxvy2fsl2fjagfuz2uvu2nyzwvuifnob3qgmjaxoc0wnc0wnsbhdcaxmc40ny4xniaomykucg5niiwiy2hly2tzdw0ioijjymzjzjk0nzkzyzq1ztk5nmy2ytqxody5m2zjyjbhzdu1nzrkmzjiyzuwn2njnmvjmdazmdkxmmfjmwq3mduziiwichjvchmiolt7imtlesi6imppcmeilcj2ywx1zxmiolsimsjdfv19xx0”、“签名”:“QWzTD2uXhLw5FW1483qEYA_h47jak8YE24mLwuF1UcT9yTYZBdEMrFWTz0uZVrPtlqi65Ek6oNeSFZO657sjpuTOpfPIg053nxOoIa4mxlxMS5nCM50Xj3qobcll0P_sX8Il8AGWbX9oI9HvSGAKYbxmu-3kVs0W1tCacb_VuHsL5KkgY2Thq5dBKhQ73aS1cE-CnFobQKGcsx10eFhEFV8VbajGLpKV8nhERDE4XA5oRARA-CczLlEYNnvn5aRD-Q1n5yI7Cys8hoDIxDLT2OCQ5alb9h4D4w7mGJrtQG0xNWsstGOTSL1HLXAe27qvBxCIsp6afX675AkOs1Eg0g”}
生产:应用程序/穆(格式=穆)

格式=穆
eyJraWQiOiIzZWFiNGEiLCJhbGciOiJSUzI1NiJ9.eyJuYW1lIjoiYnVuZGxlLW5hbWUiLCJ2ZXJzaW9uIjoiMS4wLjAiLCJkZXNjcmlwdGlvbiI6IkJ1bmRsZSBkZXNjcmlwdGlvbiIsInJlbGVhc2Vfbm90ZXMiOnsiY29udGVudCI6InJlbGVhc2Ugbm90ZXMgZGVzY3JpcHRpb24gdGV4dCIsInN5bnRheCI6InBsYWluX3RleHQifSwiY3JlYXRlZCI6IjIwMTgtMDUtMDJUMDg6NDU6MTYuODYwWiIsImFydGlmYWN0cyI6W3sicmVwb19wYXRoIjoiZXhhbXBsZS1yZXBvLWxvY2FsL2FjaGFuZ2UvU2NyZWVuIFNob3QgMjAxOC0wNC0wNSBhdCAxMC40Ny4xNi5wbmciLCJjaGVja3N1bSI6IjVhNzMwYjAxZTgxZTJhYTNiNTE4OGJjZWYzYmU4ZTRlN2Q2MWY4M2I2MTU2 yjiyytmzyzlhm2yym2zmmzhlmtkilcjwcm9wcyi6w3sia2v5ijoiamlyysisinzhbhvlcyi6wyixil19xx0seyjyzxbvx3bhdggioijlegftcgxllxjlcg8tbg9jywwvywnoyw5nzs9ty3jlzw4gu2hvdcaymde4lta0lta1igf0idewljq3lje2icgyks5wbmcilcjjagvja3n1bsi6ijizmzy2mzk5n2eyzgyxy2fmzdzhzwi1njkxnjzhzjkxzjyzzdqwzjrmndfinjgxy2jln2rmmjlkmwe1yze3mgeilcjwcm9wcyi6w3sia2v5ijoiamlyysisinzhbhvlcyi6wyixil19xx0seyjyzxbvx3bhdggioijlegftcgxllxjlcg8tbg9jywwvywnoyw5nzs9ty3jlzw4gu2hvdcaymde4lta0lta1igf0idewljq3lje2ideucg5niiwiy2hly2tzdw0ioii1ytczmgiwmwu4mwuyYWEzYjUxODhiY2VmM2JlOGU0ZTdkNjFmODNiNjE1NmIyMmEzM2M5YTNmMjNmZjM4ZTE5IiwicHJvcHMiOlt7ImtleSI6ImppcmEiLCJ2YWx1ZXMiOlsiMSJdfV19LHsicmVwb19wYXRoIjoiZXhhbXBsZS1yZXBvLWxvY2FsL2FjaGFuZ2UvU2NyZWVuIFNob3QgMjAxOC0wNC0wNSBhdCAxMC40Ny4xNiAoMykucG5nIiwiY2hlY2tzdW0iOiJjYmZjZjk0NzkzYzQ1ZTk5NmY2YTQxODY5M2ZjYjBhZDU1NzRkMzJiYzUwN2NjNmVjMDAzMDkxMmFjMWQ3MDUzIiwicHJvcHMiOlt7ImtleSI6ImppcmEiLCJ2YWx1ZXMiOlsiMSJdfV19XX0.QWzTD2uXhLw5FW1483qEYA_h47jak8YE24mLwuF1UcT9yTYZBdEMrFWTz0uZVrPtlqi65Ek6oNeSFZO657sjpuTOpfPIg053nxOoIa4mxlxMS5nCM50Xj3qobcll0P_sX8Il8AGWbX9oI9HvSGAKYbxmu-3kVs0W1tCacb_VuHsL5KkgY2Thq5dBKhQ73aS1cE-CnFobQKGcsx10eFhEFV8VbajGLpKV8nhERDE4XA5oRARA-CczLlEYNnvn5aRD-Q1n5yI7Cys8hoDIxDLT2OCQ5alb9h4D4w7mGJrtQG0xNWsstGOTSL1HLXAe27qvBxCIsp6afX675AkOs1Eg0g


删除按名称发布包的所有版本

描述:删除或存档一个发布包的所有版本。发布包版本也将从它们的源工厂中删除,如果它们存在,并且存档标志设置为false。

自:1.0
安全: 仅限已验证的用户。用户必须具有发布包的删除权限。
用法:删除/ api / v1 /release_bundle /:名字?归档= true)
请求头信息:N/A
消耗:N/A


请求示例
$ curl -XDELETE -u admin:password -H "Content-Type: application/json" "http://localhost:8080/api/v1/release_bundle/bundle1?归档= false”


响应状态码:

204 -成功删除/存档发行包版本
没有找到发布包

响应标头:N/A

生产:N/A

删除发布包版本

描述:删除或存档特定的发布包版本。发布包版本也将从它们的源工厂中删除,如果它们存在,并且存档标志设置为false。

自:1.0
安全: 仅限已验证的用户。用户必须具有发布包的删除权限。
用法:删除/ api / v1 /[release_bundle /:名称/版本?归档= true)
请求头信息:N/A
消耗:N/A


请求示例
$ curl -XDELETE -u admin:password -H "Content-Type: application/json" "http://localhost:8080/api/v1/release_bundle/bundle1/1.0.0?归档= false”


响应状态码:

204 -成功删除/存档发行包版本
404 -未找到发布包或发布包版本

响应标头:N/A

生产:N/A



分布

将发布包版本分发给人工实例

描述:计划一个发布包版本,用于从任务控制中心分发到可用的Artifactory实例。分发跟踪id将返回。

自:1.0
安全:仅限已验证的用户。用户必须具有发布包的发布权限。目标实例将根据用户的权限进行过滤。
用法:POST / api / v1 /分销/:名称/:版本
请求头信息:N/A
消耗:application / json


distribute.json
{"dry_run": true|false, "distribution_rules": [{"service_name": "? "通配符*","site_name": "?通配符*","city_name": "? "wildcard*", "country_codes": ["?wildcard*"] } ] }
类型 要求 默认值 描述
dry_run
布尔 没有 真正的
如果为true,则只进行解析和验证
distribution_rules
列表(对象) 是的 N/A 描述用于选择目标Artifactory实例的筛选器。必须解决至少一个实例。
distribution_rules.service_name
字符串 没有 “*” 服务名称的通配符过滤器
distribution_rules.site_name
字符串 没有 “*” 站点名称的通配符过滤器
distribution_rules.city_name
字符串 没有 “*” 站点城市名称的通配符过滤器
distribution_rules.country_codes
列表(字符串) 没有 ["*"] 站点国家代码的通配符过滤器


请求示例
$ curl -XPOST -u admin:密码http://localhost:8080/api/v1/distribution/bundle1/1.0 -T distribute.json

响应状态码:

200 - dry_run成功
202 -成功安排分发

400 -发布包版本必须在发行前签名

404 -未找到发布包或发布包版本

响应标头:N/A

生产:application / json


响应
{"id": 188527534551203840, "sites": [{"service_id": "jfrt@01cc8hkzy1zgtc1wqw3zk41p2a", "name": "US_NY_Art01", "type": "edge"},…]}


停止发布包版本分发

描述:停止发布包版本分发到Artifactory实例。

自:1.1
安全:仅限已验证的用户。用户必须具有发布包的发布权限。目标实例将根据用户的权限进行过滤。
用法:把/ api / v1 /分销/:名称/:版本/中止
请求头信息:N/A
消耗:application / json


请求示例
$ curl -XPUT -u admin:密码“http://localhost:8080/api/v1/distribution/bundle1/1.0/abort”

响应状态码:

202 -成功安排分发中断。返回受停止请求影响的人工实例列表。

204 -没有发现正在分发的人工制品实例
404 -未找到发布包或发布包版本

响应标头:N/A

生产:application / json


响应
[{"name":"US_NY_Art01", "service_id":"jfrt@01cejrg5ack7dd1v3r213a0vx9", "type":"edge"}, {"name":"UK_LN_Art02", "service_id":"jfrt@01cejrfwjtt65d1g9asq8h1cda", "type":"edge"}]


从人工实例中删除发布包版本

描述:计划一个发布包版本,以便从任务控制中删除人工实例。分发跟踪id将返回。

自:1.0
安全:仅限已验证的用户。用户必须具有发布包的发布删除权限。目标实例将根据用户的权限进行过滤。
用法:POST / api / v1 /分销/:名称/:/删除版本
请求头信息:N/A
消耗:application / json


delete.json
{"dry_run": true|false, "distribution_rules": [{"service_name": "? "通配符*","site_name": "?通配符*","city_name": "? "wildcard*", "country_codes": ["?wildcard*"] } ], "on_success": "keep|delete|archive" }
类型 要求 默认值 描述
dry_run
布尔 没有 真正的
如果为true,则只进行解析和验证
distribution_rules
列表(对象) 是的 N/A 描述用于选择目标Artifactory实例的筛选器。必须解决至少一个实例。
distribution_rules.service_name
字符串 没有 “*” 服务名称的通配符过滤器(在任务控制中配置的人工实例名称)
distribution_rules.site_name
字符串 没有 “*” 站点名称的通配符过滤器
distribution_rules.city_name
字符串 没有 “*” 站点城市名称的通配符过滤器
distribution_rules.country_codes
列表(字符串) 没有 ["*"] 站点国家代码的通配符过滤器
on_success
字符串 没有 保持 在指定的Artifactory实例中完成删除后,要对发布包版本执行的本地操作。


请求示例
$ curl -XPOST -u admin:password "http://localhost:8080/api/v1/distribution/bundle1/1.0/delete" -T delete.json

响应状态码:

200 - dry_run成功
202 -计划删除成功
404 -未找到发布包或发布包版本

响应标头:N/A

生产:application / json


响应
{"id": 188527534551203840, "sites": [{"service_id": "jfrt@01cc8hkzy1zgtc1wqw3zk41p2a", "name": "US_NY_Art01", "type": "edge"},…]}


获取分发状态详细信息

描述:获取所有发行版的状态详细信息。

自:1.0
安全:仅限已验证的用户。只显示用户具有读权限的发布包的发行版。
用法:得到的api / v1 / release_bundle /分布
请求头信息:N/A

消耗:N/A

请求示例
$ curl -XGET -u admin:密码http://localhost:8080/api/v1/release_bundle/distribution


响应状态码:

200 -成功

响应标头:N/A

生产:application / json


响应
[{"distribution_id": 188527534551203840, "distribution_friendly_id": 1, "type": "distribute | delete_release_bundle_version", "release_bundle_name": "release-bundle", "release_bundle_version": "1.0.0", "status": "Not distributed | In progress | Completed | Failed", "distribution_rules": [{"site_name": "*", "city_name": "*", "country_codes": ["*"], "service_name": "*"},…], "source_artifactory": {"service_id": "jfrt@01cc8hm002py3z1y5yq5t90xrt", "name": "DEV_Art01", "type": "artifactory"}, "sites": [{"status": "Not distributed | In progress | Completed | Failed", "target_artifactory": {"service_id": "jfrt@01cc8hkzy1zgtc1wqw3zk41p2a", "name": "US_NY_Art01", "type": "edge"}, "total_files": 4, "total_bytes": 4403784, "distributed_bytes": 0, "distributed_files": 0, "general_error": "" ", "file_errors": [], "files_in_progress":[]},…},…]

通过发布包名称获取发布状态详细信息

描述:获取一个发布包的所有版本的所有发行版的状态详细信息。

自:1.0
安全:仅限已验证的用户。用户必须具有发布包的读权限。
用法:获得api / v1 / release_bundle /:名称/分布
请求头信息:N/A

消耗:N/A

请求示例
$ curl -XGET -u admin:密码http://localhost:8080/api/v1/release_bundle/bundle1/distribution


响应状态码:

200 -成功

响应标头:N/A

生产:application / json


响应
[{"distribution_id": 188527534551203840, "distribution_friendly_id": 1, "type": "distribute | delete_release_bundle_version", "release_bundle_name": "release-bundle", "release_bundle_version": "1.0.0", "status": "Not distributed | In progress | Completed | Failed", "distribution_rules": [{"site_name": "*", "city_name": "*", "country_codes": ["*"], "service_name": "*"},…], "source_artifactory": {"service_id": "jfrt@01cc8hm002py3z1y5yq5t90xrt", "name": "DEV_Art01", "type": "artifactory"}, "sites": [{"status": "Not distributed | In progress | Completed | Failed", "target_artifactory": {"service_id": "jfrt@01cc8hkzy1zgtc1wqw3zk41p2a", "name": "US_NY_Art01", "type": "edge"}, "total_files": 4, "total_bytes": 4403784, "distributed_bytes": 0, "distributed_files": 0, "general_error": "" ", "file_errors": [], "files_in_progress":[]},…},…]


通过发布包版本获取发布状态详细信息

描述:获取特定发布包版本的所有发行版的状态详细信息。

自:1.0
安全:仅限已验证的用户。用户必须具有发布包的读权限。
用法:获得api / v1 / release_bundle /:名称/:版本/分布
请求头信息:N/A

消耗:N/A


请求示例
$ curl -XGET -u admin:密码http://localhost:8080/api/v1/release_bundle/bundle1/1.0/distribution


响应状态码:

200 -成功

响应标头:N/A

生产:application / json


响应
[{"distribution_id": 188527534551203840, "distribution_friendly_id": 1, "type": "distribute | delete_release_bundle_version", "release_bundle_name": "release-bundle", "release_bundle_version": "1.0.0", "status": "Not distributed | In progress | Completed | Failed", "distribution_rules": [{"site_name": "*", "city_name": "*", "country_codes": ["*"], "service_name": "*"},…], "source_artifactory": {"service_id": "jfrt@01cc8hm002py3z1y5yq5t90xrt", "name": "DEV_Art01", "type": "artifactory"}, "sites": [{"status": "Not distributed | In progress | Completed | Failed", "target_artifactory": {"service_id": "jfrt@01cc8hkzy1zgtc1wqw3zk41p2a", "name": "US_NY_Art01", "type": "edge"}, "total_files": 4, "total_bytes": 4403784, "distributed_bytes": 0, "distributed_files": 0, "general_error": "" ", "file_errors": [], "files_in_progress":[]},…},…]

通过跟踪器Id获取分发状态详细信息

描述:获取特定发行版的状态详细信息。

自:1.0
安全:仅限已验证的用户。用户必须具有发布包的读权限。
用法:获得api / v1 / release_bundle /:名称/版本/分销/:tracker_id
请求头信息:N/A

消耗:N/A

$ curl -XGET -u admin:密码http://localhost:8080/api/v1/release_bundle/bundle1/1.0/distribution/188527534551203840

响应状态码:

200 -成功

响应标头:N/A

生产:application / json


响应
{"distribution_id": 188527534551203840, "distribution_friendly_id": 1, "type": "distribute | delete_release_bundle_version", "release_bundle_name": "release-bundle", "release_bundle_version": "1.0.0", "status": "Not distributed | In progress | Completed | Failed", "distribution_rules": [{"site_name": "*", "city_name": "*", "country_codes": ["*"], "service_name": "*"},…], "source_artifactory": {"service_id": "jfrt@01cc8hm002py3z1y5yq5t90xrt", "name": "DEV_Art01", "type": "artifactory"}, "sites": [{"status": "Not distributed | In progress | Completed | Failed", "target_artifactory": {"service_id": "jfrt@01cc8hkzy1zgtc1wqw3zk41p2a", "name": "US_NY_Art01", "type": "edge"}, "total_files": 4, "total_bytes": 4403784, "distributed_bytes": 0, "distributed_files": 0, "general_error": "" ", "file_errors": [], "files_in_progress":[]},…]}



令牌管理

创建令牌

描述:为现有(非临时)用户创建身份验证令牌。

自:1.2
安全:Admin用于自身和他人(或具有Admin作用域),user仅用于自身
用法:POST / api / v1 /安全/令牌
请求头信息:N/A
消耗:应用程序/ x-www-form-urlencoded


类型 要求 默认值 描述
grant_type 字符串 没有 client_credentials 用于验证请求的授权类型。在这种情况下,唯一支持的值是“client_credentials”,如果不指定该参数,该值也是默认值。
用户名 字符串 是的
为其创建令牌的用户名。非管理员用户只能为自己创建令牌,因此他们必须指定自己的用户名。
范围 字符串 没有
要分配给令牌的范围,以空格分隔的范围令牌列表的形式提供。目前只有一个可能的作用域选项:
applied-permissions /管理
expires_in 没有 0

令牌有效的时间,以秒为单位。若要指定永不过期的令牌,请将其设置为零。

可刷新的 布尔 没有 如果为true,则此令牌是可刷新的,刷新令牌可用于在其过期后用新令牌替换它。
$ curl -XPOST -u admin:password http://localhost:8080/api/v1/security/token -d 'username=user' -d 'refreshable=true' -d 'scope=applied-permissions%2Fadmin' -d "expires_in=123"


响应状态码:

201 -成功创建令牌

响应标头:N/A

生产:application / json


响应
{:“access_token eyJ2ZXIiOiIyIiwidHlwIjoiSldUIiwiYWxnIjoiUlMyNTYiLCJraWQiOiJ6WWFWQjVFRlpkOXlpbWtCNkZTbDAtSWFhMHRPWldLX293c1BTVTNTZmdNIn0.eyJzdWIiOiJsZW5vbiIsInNjcCI6ImFwcGxpZWQtcGVybWlzc2lvbnNcL2FkbWluIiwiYXVkIjoiamZkc0AwMWNoMDV0ajRuM3NzODBzNm4zdjIzMDdiOSIsImlzcyI6ImpmZHNAMDFjaDA1dGo0bjNzczgwczZuM3YyMzA3YjkiLCJleHAiOjE1MzAwOTk2MTgsImlhdCI6MTUzMDA5OTQ5NSwianRpIjoiYTQzM2YwZDAtNTQ5OC00YjI5LWE5ODctZjI3MTNkYmMyOTdmIn0。e7csehchqsojxz1jmhdvu_7yhljcy1jj51yqyxyifmxusexqzz78pi_7yhljcy1irc1vmthdv8_db2csanzydubcyttt77ootsvfqjdzsm_0aez - paij71lvgyjbflz2bje253tmglgweyfaqq4xxurlkcyn_jcgz2rcxr2c70jcxr2c70jif9fa0obaikvt - dgusngu83dnr - yf0xbsuctdu5k - jl5h3fmdb129awxe4_flldmk8iaarujsidlvexdlezval4nlrzcxa ", "refresh_token": "f96bda0c-ab50-4b7e-96f1-be8bd20605a3", "expires_in": 123, "scope": " appliedpermissions /admin", "token_type": "Bearer"}

刷新令牌


描述:刷新现有(非瞬时)用户的身份验证令牌。
自:1.2
安全:Admin用于自身和他人(或具有Admin作用域),user仅用于自身a
用法:POST / api / v1 /安全/令牌
请求头信息:N/A
消耗:应用程序/ x-www-form-urlencoded


类型 要求 默认值 描述
grant_type 字符串 是的
用于验证请求的授权类型。在这种情况下,唯一支持的值是"refresh_token"。
access_token 字符串 是的
要刷新的访问令牌。
refresh_token 字符串 是的
需要刷新的访问令牌的刷新令牌。
expires_in 没有 0

令牌有效的时间,以秒为单位。若要指定永不过期的令牌,请将其设置为零。

可刷新的 布尔 没有 真正的 如果为true,则此令牌是可刷新的,刷新令牌可用于在其过期后用新令牌替换它。
$ curl -XPOST -u admin:password http://localhost:8080/api/v1/security/token -d "grant_type=refresh_token" -d "refresh_token=fgsg53t3g…" -d "access_token=gsfdgw35gt…"


响应状态码:

成功刷新令牌

响应标头:N/A

生产:application / json


响应
{:“access_token eyJ2ZXIiOiIyIiwidHlwIjoiSldUIiwiYWxnIjoiUlMyNTYiLCJraWQiOiJ6WWFWQjVFRlpkOXlpbWtCNkZTbDAtSWFhMHRPWldLX293c1BTVTNTZmdNIn0.eyJzdWIiOiJsZW5vbiIsInNjcCI6ImFwcGxpZWQtcGVybWlzc2lvbnNcL2FkbWluIiwiYXVkIjoiamZkc0AwMWNoMDV0ajRuM3NzODBzNm4zdjIzMDdiOSIsImlzcyI6ImpmZHNAMDFjaDA1dGo0bjNzczgwczZuM3YyMzA3YjkiLCJleHAiOjE1MzAwOTk2MTgsImlhdCI6MTUzMDA5OTQ5NSwianRpIjoiYTQzM2YwZDAtNTQ5OC00YjI5LWE5ODctZjI3MTNkYmMyOTdmIn0。e7csehchqsojxz1jmhdvu_7yhljcy1jj51yqyxyifmxusexqzz78pi_7yhljcy1irc1vmthdv8_db2csanzydubcyttt77ootsvfqjdzsm_0aez - paij71lvgyjbflz2bje253tmglgweyfaqq4xxurlkcyn_jcgz2rcxr2c70jcxr2c70jif9fa0obaikvt - dgusngu83dnr - yf0xbsuctdu5k - jl5h3fmdb129awxe4_flldmk8iaarujsidlvexdlezval4nlrzcxa ", "refresh_token": "f96bda0c-ab50-4b7e-96f1-be8bd20605a3", "expires_in": 123, "scope": " appliedpermissions /admin", "token_type": "Bearer"}


撤销令牌

描述:通过指定令牌或token_id来调用访问令牌

自:1.2
安全:管理
用法:POST / api / v1 /安全/令牌/撤销
请求头信息:N/A
消耗:应用程序/ x-www-form-urlencoded


类型 要求 描述
令牌 字符串 是(如果token_id为空) 要撤销的令牌。如果指定了token_id,则不能指定。
token_id
字符串 是(如果token为空) 要撤销令牌的ID。如果指定了令牌,则不能指定。
$ curl -u admin:password -XPOST "http://localhost:8080/api/v1/security/token/revoke" -d "token= fastt3…"

$ curl -u admin:password -XPOST "http://localhost:8080/api/v1/security/token/revoke" -d "token_id=7e0eec…"


响应状态码:

成功撤销令牌
404 -未找到令牌


获取令牌信息

描述:按用户获取访问令牌列表。

自:1.2
安全:管理
用法:GET / api / v1 /安全/令牌


$ curl -u admin:password -XGET "http://localhost:8080/api/v1/security/token"


响应状态码:

200 -成功检索令牌列表
404 -未找到令牌
响应标头:N/A

生产:application / json


响应
{"tokens": [{"token_id": "58ae2b6f-085d-493e-b7c3-670d7700c034", "issuer": "jfds@01ch05tj4n3ss80s6n3v2307b9", "subject": "admin", "issued_at": 1530088236, "expiry": 2476168236, "refreshable": false}, {"token_id": "5c0399f9-de42-4cc8-bbd6-ba04a8b861a7", "issuer": "jfds@01ch05tj4n3ss80s6n3v2307b9", "subject": "lenon", "issued_at": 1530089226, "refreshable": true}]}



权限管理

权限类型:

r

w

d

删除

x

分发

管理/管理

按名称设置权限

可以通过指定唯一的权限名称来创建和覆盖权限。

描述:根据权限范围设置用户和组的权限。响应体将包含创建/更新的权限。

自:1.0
安全:管理。
用法:把/ api / v1 /安全/权限/:名字
请求头信息:N/A
消耗:application / json


$ curl -XPUT -u admin:password -H "Content-Type: application/json" "http://localhost:8080/api/v1/security/permissions/permission-name" -T permission.json


响应状态码:

200 -设置权限成功

响应标头:N/A

生产:application / json

本节分为几个部分来详细说明不同权限范围的结构。

设置服务范围的权限

服务范围用于定义服务管理权限。

服务范围允许的操作:m。

只允许一个服务范围权限。该权限的唯一名称为“service”。


service.json
{“范围”:“服务”,“校长”:{"用户":{“admin”:[“m”]},“团体”:{“管理员”(“m”)}}}

为发布包范围设置权限

release_bundles作用域用于定义发布包交互的权限。

release_bundles范围允许的操作:r, w, d, x。

该权限应用于名称与传递的通配符表达式匹配的发布包。

允许多个release_bundles范围权限。


release_bundles.json
{“范围”:“release_bundles”、“release_bundles”:[?通配符*、?wildcard*"], "principals": { "users": { "distributor1": ["r","w","d","x"] }, "groups": { "distributors1": ["r","x"] } } }


为分发站点范围设置权限

distribution_sites作用域用于定义与Artifactory实例交互的权限,例如分发和删除发布包。

distribution_sites作用域允许的操作:x, d。

权限应用于任务控制中可用的Artifactory实例,其信息与传递的通配符表达式相匹配。

允许多个distribution_sites范围权限。


distribution_sites.json
{" name ": " distribution-permission”、“范围”:“distribution_sites”,“distribution_destinations”:[{“service_name”:“*”,“:域名”:“*”,“city_name”:“*”,“country_code ": ["*"] } ], " 校长:{"用户":{“distributor1”:[" x ", " d "]},“团体”:{“distributors1”:[x]}}}

获取所有权限

描述:获得所有权限。

自:1.0
安全:管理。
请求头信息:N/A

消耗:N/A


请求示例
$ curl -XGET -u admin:密码http://localhost:8080/api/v1/security/permissions


响应状态码:

200 -成功

响应标头:N/A

生产:application / json


响应
[{“名称”:“服务”、“范围”:“服务”、“校长”:{"用户":{“admin”:“m”,…}, "groups": {"admins": ["m"],…} } }, { " 名称”:“bundle-permission”、“范围”:“release_bundles”、“release_bundles”(“?通配符*”、“吗?通配符*”),“校长”:{"用户":{“distributor1”:[“r”、“w”、“d”,“x”),…}, "groups": {"distributors1": ["r","x"],…} } }, { " 名称”:“distribution-permission”、“范围”:“distribution_sites”、“distribution_destinations”:[{“service_name”:“*”,“:域名”:“*”,“city_name”:“*”,“country_code ": ["*"] }, ...),“校长”:{"用户":{“distributor1”:“x”,“d”,…}, "groups": {"distributors1": ["x"],…}}},…]

通过名字获得许可

描述:按名称获取权限信息。

自:1.0
安全:管理。
用法:/ api / v1 /安全/权限/:名字
请求头信息:N/A
消耗:N/A


请求示例
$ curl -XGET -u admin:密码http://localhost:8080/api/v1/security/permissions/bundle-permission


响应状态码:

200 -成功
404 -未找到权限

响应标头:N/A

生产:application / json


响应
{"name": "bundle-permission", "scope": "release_bundles", "release_bundles": ["?wildcard*","?通配符*”),“校长”:{"用户":{“distributor1”:[“r”、“w”、“d”,“x”),…}, "groups": {"distributors1": ["r","x"],…}}

删除权限

描述:删除权限。不能删除具有服务范围的权限。

自:1.0
安全:管理。
用法:删除/ api / v1 /安全/权限/:名称
请求头信息:N/A
消耗:N/A


$ curl -XDELETE -u admin:密码“http://localhost:8080/api/v1/security/permissions/permission-name”


响应状态码:

204 -成功删除权限
404 -未找到权限

响应标头:N/A

生产:N/A


支持

创建支持包

描述:创建支持包
自:1.6
安全:管理员只
用法:POST / api / v1 /系统/支持/包
请求头信息:N/A
消耗:application / json
生产:application / json

create_support_bundle.json
{"parameters": {"configuration": true|false, "logs": {"include": true|false, "start_date":基于ISO8601模式的日期:YYYY-MM-DD, "end_date":基于ISO8601模式的日期:YYYY-MM-DD,}, "system": true|false, "thread_dump": {"count": 1, "interval":0}}, "description": "" ", "name": ""}
类型 要求 默认值 描述
参数

对象

没有

N/A

1.6

支持包参数

parameters.configuration

布尔

没有

真正的

1.6

收集配置文件

parameters.logs

对象

没有

N/A

1.6

收集所有系统日志,如果不指定此字段,support bundle将收集前一天到今天的日志。

parameters.logs.include

布尔

没有

真正的

1.6

收集系统日志。

parameters.logs.start_date

字符串

没有

end_date的前一天

1.6

获取日志的起始日期
parameters.logs.end_date
字符串 没有 今天 1.6 获取日志的结束日期
系统

布尔

没有

真正的

1.6

关于系统的信息,包括存储、系统属性、cpu和JVM信息
thread_dump

对象

没有

N/A

1.6

为所有正在运行的线程创建线程转储
thread_dump.count

整数

没有

1

1.6

要收集的线程转储数


thread_dump.interval

整数

没有

0


1.6

收集线程转储时间间隔(以毫秒为单位)


描述

字符串

没有

N/A

1.6

支持包说明


名字
字符串 没有 N/A 1.6 支持包名称
请求示例
$ curl -XPOST -u admin:password -H "Content-Type: application/json" "http://localhost:8080/api/v1/system/support/bundle" -T create_support_bundle.json

响应状态码:
200 -成功创建支持包

响应标头:N/A
生产:application / json

response.json
{"id": 20181230145474-53666747, "artifactory": {"service_id": "jfds@...", "bundle_url": http://:/artifactory/support-bundles//jfds/}}

创建特定的支持包

描述:创建一个新的支持包并为其分配一个特定的ID
自:1.6
安全:管理员只
用法:把/ api / v1 /系统/支持/包/:bundle_id
请求头信息:N/A
消耗:application / json
生产:application / json

create_support_bundle.json
{"parameters": {"configuration": true|false, "logs": {"include": true|false, "start_date":基于ISO8601模式的日期:YYYY-MM-DD, "end_date":基于ISO8601模式的日期:YYYY-MM-DD,}, "system": true|false, "thread_dump": {"count": 1, "interval":0}}, "description": "" ", "name": ""}
类型 要求 默认值 描述
参数

对象

没有

N/A

1.6

支持包参数

parameters.configuration

布尔

没有

真正的

1.6

收集配置文件

parameters.logs

对象

没有

N/A

1.6

收集所有系统日志,如果不指定此字段,support bundle将收集前一天到今天的日志。

parameters.logs.include

布尔

没有

真正的

1.6

收集系统日志。

parameters.logs.start_date

字符串

没有

end_date的前一天

1.6

获取日志的起始日期
parameters.logs.end_date
字符串 没有 今天 1.6 获取日志的结束日期
系统

布尔

没有

真正的

1.6

关于系统的信息,包括存储、系统属性、cpu和JVM信息
thread_dump

对象

没有

N/A

1.6

为所有正在运行的线程创建线程转储
thread_dump.count

整数

没有

1

1.6

要收集的线程转储数


thread_dump.interval

整数

没有

0


1.6

收集线程转储时间间隔(以毫秒为单位)


描述

字符串

没有

N/A

1.6

支持包说明


名字
字符串 没有 N/A 1.6 支持包名称
请求示例
$ curl -XPUT -u admin:password -H "Content-Type: application/json" "http://localhost:8080/api/v1/system/support/bundle/{bundle_id}" -T create_support_bundle.json

响应状态码:

200 -成功创建支持包
在Artifactory中不存在相应的存储库。支持包将被持久化到每个分发节点的文件系统中。
找不到人工身份验证提供程序
响应标头:N/A
生产:application / json

response.json
{"id": 20181230145474-53666747, "artifactory": {"service_id": "jfds@...", "bundle_url": http://:/artifactory/support-bundles//jfds/}}

获取支持包信息

描述:获取支持包信息
自:1.6
安全:仅限管理员
用法:GET / api / v1 /系统/支持/包/:bundle_id
请求头信息:N/A
消耗:N/A

请求示例
$ curl -XGET -u admin:密码http://localhost:8080/api/v1/system/support/bundle/{bundle_id}
info_support_bundle.json
{"parameters": {"configuration": true, "logs": {"include": true, "start_date": 2019-01-20, "end_date": 2019-01-21}, "system": true, "thread_dump": {"count": 2, "interval": 100}}, "description": "" "name": "" artifactory": {"service_id": "" ", "bundle_url": http://:/artifactory/support-bundles//jfds/}}, status: success, created: 2019-02-02,}

响应状态码:

成功获取支持包信息
没有找到支持包
响应标头:N/A
生产:application / json


获取支持包

描述:下载支持包
自:1.6
安全:管理员只
用法:GET / api / v1 /系统/支持/包/:bundle_id /存档
请求头信息:N/A
消耗:N/A

请求示例
$ curl -XGET -u admin:密码http://localhost:8080/api/v1/system/support/bundle/{bundle_id}/archive
response.json
200 OK内容类型:application/zip


响应状态码:
200 -成功下载支持包
没有找到支持包
响应标头:N/A


删除支持包

描述:删除支持包
自:1.6
安全:管理员只
用法:删除/ api / v1 /系统/支持/包/:bundle_id
请求头信息:N/A
消耗:N/A

请求示例
$ curl -XDELETE -u admin:密码“http://localhost:8080/api/v1/system/support/bundle/{bundle_id}”
response.json
204无内容

响应状态码:

204 -成功删除支持包
没有找到支持包
响应标头:N/A


列表支持包

描述:
获取所有支持包的列表
自:1.6
安全:管理员只
用法:GET / api / v1 /系统/支持/包
请求头信息:N/A
消耗:N/A

请求示例
$ curl -XGET -u admin:密码http://localhost:8080/api/v1/system/support/bundles
response.json
{"count": 2, "bundles": [{id: 20181230145474-53666747,描述:"",名称:"",创建:2018-12-30,},....。]}

响应状态码:

200 -成功
响应标头:N/A


维护

生成停止所有任务令牌

描述:生成执行令牌以停止所有分发任务。这把钥匙是和停止所有任务REST API。
自:1.8.1
安全:管理员只
用法:GET / api / v1 /维护/ generate_token / stop_all
请求头信息:N/A
消耗:application / json
生产:application / json

请求示例
$ curl -XGET -u admin:密码http://localhost:8080/api/v1/maintenance/generate_token/stop_all
response.json
{"token":"JEv4CnrZNhmgtkRV9aKmGsrozGEoaoBs3okv9SFusdhR3hUKiWdKwAhoeP1SLEy8hFZqFhE"}


响应状态码:

200 -成功

停止所有任务

描述:终止所有正在运行的分发任务。需要一个执行令牌
自:1.8.1
安全:仅限管理员
用法:POST / api / v1 /维护/执行/ stop_all /:令牌
请求头信息:N/A
消耗:application / json
生产: application / json

请求示例
$ curl -XPOST -u admin:password "http://localhost:8080/api/v1/maintenance/execute/stop_all/{token}?dryRun = false”
类型 要求 默认值 描述
dryRun

查询参数

是的

真正的

1.8.1

如果为true,则只进行解析和验证。

response.json
{"trackers_db_info": {"affected_edge_tracker_artifacts": 8, "affected_edge_trackers": 1, "affected_trackers": 1}, "tasks_queue_flushed": true}

响应状态码:

202 -成功中止所有分发任务

响应标头:N/A


错误响应

状态码 原因 建议的行动
400 无效的请求参数(报头/正文) 将需求与规格进行比较
401 端点需要身份验证 使用身份验证凭证重复请求
403 终端权限要求不满足 响应将包括必要的权限
500 处理请求时出现意外错误 检查配电日志