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


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

概述

分布式提供了一种方便的、最新的自描述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": "The following services are unavailable: 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

请求示例
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:密码-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:密码-H "Content-Type: application/json" "http://localhost:8080/api/v1/keys/pgp


响应状态码:

200 -键已成功设置。

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


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



发布包

创建发布包版本

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

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

超过支持的二进制数

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


安全:只有通过身份验证的用户。用户必须有匹配项发布Bundle写权限
用法:发布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中存储发布包版本同时签署(需要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

AQL查询从Artifactory收集工件

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

响应状态码:

成功创建发布包版本
409 -同名版本的发布包已经存在
X -从Artifactory 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", "target_repo_path": "conanx/demo/sample-conan1/1.0/testing/export/conanfile.py", "props": [{"key": "conan.package. py . "版本","值":["1.0"]},…}, {"xray_scan_info": {"blocked":布尔值。"blocked_reason": string(如果不阻塞则为空)},…, "存档":false}

NPM, Bower和NuGet包类型

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

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

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

更新发布包版本

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

自:1.2
安全:只有通过身份验证的用户。用户必须有匹配项发布Bundle写权限
用法:将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. txt "找到({\“回购\”,\“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中存储发布包版本同时签署(需要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

AQL查询从Artifactory收集工件

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 -发布包版本已签署
X -从Artifactory 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", "target_repo_path": "conanx/demo/sample-conan1/1.0/testing/export/conanfile.py", "props": [{"key": "conan.package. py . "版本","值":["1.0"]},…}, {"xray_scan_info": {"blocked":布尔值。"blocked_reason": string(如果不阻塞则为空)},…, "存档":false}

NPM, Bower和NuGet包类型

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

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

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

签署发布包版本

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

自:1.2
安全:只有通过身份验证的用户。用户必须有匹配项发布Bundle写权限
用法:发布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", "target_repo_path": "conanx/demo/sample-conan1/1.0/testing/export/conanfile.py", "props": [{"key": "conan.package. py . "版本","值":["1.0"]},…]},……, "存档":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年成功

响应标头:
X-RangeLimit-StartPos——数量
X-RangeLimit-EndPos——数量
X-RangeLimit-Total——数量

生产: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": " maave -1521048945483/org/pom/test/multi1/1.1/multi1-1.1.jar", "target_repo_path":"maven-1521048945483/org/pom/test/multi1/1.1/multi1-1.1.jar" "props": [{"key": "build. jar . "Timestamp ", "values":["1521049005953"]},…}, {"xray_scan_info": {"blocked":布尔值。"blocked_reason": string(如果不阻塞则为空)},…,“存档”:错误},…]


获取发布包版本

描述:返回所有发布包版本。这个端点支持分页,每个页面最多返回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年成功
没有找到释放包
响应标头:
X-RangeLimit-StartPos——数量
X-RangeLimit-EndPos——数量
X-RangeLimit-Total——数量

生产:application / json


响应
[{"name": "release-bundle-name", "version": "1", "state": "OPEN", "description": "release bundle description text", "release_notes": {"content": "release notes description text", "syntax": "plain_text"}, "created": "2018-03-14T17:36:35.416Z", "artifacts": [{"checksum": "5880e05b5886a2fcd9a5a6dace38cd4f243affa06719c5e63116b16094e95a31", "props": [{"key": "build. properties ", "build. properties ", "release bundle description text", "release_notes": "2018-03-14T17:36:35.416Z", "artifacts": [{"checksum": "5880e05b5886a2fcd9a5a6dace38cd4f243affa06719c5e63116b16094e95a31", "props": [{"key": "build. properties "]Timestamp ", "values":["1521049005953"]},…], "source_artifactory_id": "jfrt@01c8d4y8q2xj2y1s8s2zv00a28", "source_repo_path": "artifactory-generic/bintray-client-java-api-0.9.2.jar", "target_repo_path": "artifactory-generic/bintray-client-java-api-0.9.2.jar"},…,“存档”:错误},…]


获取发布包版本

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

自: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年成功
没有找到发布包或发布包版本
响应标头:N/A

生产:application / json(默认)


= json格式
{"name": "Bundle -name", "version": "1.0.0", "state": "OPEN", "description": "release_notes": {"content": "release notes description text", "syntax": "plain_text"}, "created": " 2018-05-02t8:45:16. 860z ", "artifacts": [{"source_artifactory_id": "jfrt@01cc8hm002py3z1y5yq5t90xrt", "source_repo_path": "example-repo-local/屏幕截图2018-04-05 at 10.47.16.png", "target_repo_path": "example-repo-local/屏幕截图2018-04-05 at 10.47.16.png", "checksum":"5a730b01e81e2aa3b5188bcef3be8e4e7d61f83b6156b22a33c9a3f23ff38e19", "props": [{"key": "jira", "values":["1"]}]},…, "存档":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


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

描述:删除或存档发布包的所有版本。发布包版本也将从它们的源Artifactory中删除,如果它们存在,并且存档标志设置为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”


响应状态码:

成功删除/存档发布包版本
没有找到释放包

响应标头:N/A

生产:N/A

删除发布包版本

描述:删除或归档特定的发布包版本。发布包版本也将从它们的源Artifactory中删除,如果它们存在,并且存档标志设置为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”


响应状态码:

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

响应标头:N/A

生产:N/A



分布

将发布包版本分发到Artifactory实例

描述:计划发布包版本,以便分发到从任务控制处可用的Artifactory实例。将返回分发跟踪id。

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


distribute.json
{"dry_run": true|false, "distribution_rules": [{"service_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

响应状态码:

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

发布包版本必须在发布前签署

没有找到发布包或发布包版本

响应标头: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 -成功计划分发中断。返回受停止请求影响的Artifactory实例的列表。

没有发现正在进行分发的Artifactory实例
没有找到发布包或发布包版本

响应标头:N/A

生产:application / json


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


从Artifactory实例中删除发布包版本

描述:计划在任务控制可用的Artifactory实例中删除发布包版本。将返回分发跟踪id。

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


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


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

响应状态码:

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

响应标头: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

请求示例
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, "general_error": "", "file_errors": [], "files_in_progress":[]},…]},……]

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

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

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

消耗:N/A

请求示例
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, "general_error": "", "file_errors": [], "files_in_progress":[]},…]},……]


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

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

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

消耗:N/A


请求示例
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, "general_error": "", "file_errors": [], "files_in_progress":[]},…]},……]

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

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

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

消耗:N/A

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": "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, "general_error": "", "file_errors": [], "files_in_progress":[]},…]}



令牌管理

创建一个令牌

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

自:1.2
安全:为自己和他人(或具有管理范围)管理,仅为自己使用用户
用法:POST / api / v1 /安全/令牌
请求头信息:N/A
消耗:应用程序/ x-www-form-urlencoded


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

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

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


响应状态码:

成功创建token

响应标头:N/A

生产:application / json


响应
{:“access_token eyJ2ZXIiOiIyIiwidHlwIjoiSldUIiwiYWxnIjoiUlMyNTYiLCJraWQiOiJ6WWFWQjVFRlpkOXlpbWtCNkZTbDAtSWFhMHRPWldLX293c1BTVTNTZmdNIn0.eyJzdWIiOiJsZW5vbiIsInNjcCI6ImFwcGxpZWQtcGVybWlzc2lvbnNcL2FkbWluIiwiYXVkIjoiamZkc0AwMWNoMDV0ajRuM3NzODBzNm4zdjIzMDdiOSIsImlzcyI6ImpmZHNAMDFjaDA1dGo0bjNzczgwczZuM3YyMzA3YjkiLCJleHAiOjE1MzAwOTk2MTgsImlhdCI6MTUzMDA5OTQ5NSwianRpIjoiYTQzM2YwZDAtNTQ5OC00YjI5LWE5ODctZjI3MTNkYmMyOTdmIn0。E7csEhcHqsOJxz1jmhDVu_Ij51yQyxYifMXusexqZk78pi_7YHlJcY1iRg6VMthdv8_Db2CsaNzYdubCyTTt77OOTSVfqJdZsm_0AEz-paIj71lvgyJBFLZ2bjE253tMGLgweypUqqEsEH3J3FyfAaw4XXURlKT5inbwKklMu-DvPG5772ZS1Y6YPU8oOGc2dWg_BHUvjMTJ5vQAw0Ws5Ta2CJ0DF40JLQKcyN_JCgzQ2RCXr2C70JIF9Fa0OBaIKVT-DguSNGU83dnr-YF0XBsUcTDu5K-Jl5H3FMdb129awXe4_fLLdltMK8iAaRujsIDlvexdlezVal4nLRZcxA”、“refresh_token”:“f96bda0c ab50 - 4 b7e - 96 - f1 - be8bd20605a3”、“expires_in”:123年,“范围”:“applied-permissions /管理”、“token_type”:“持票人”}

刷新令牌


描述:刷新现有(非瞬态)用户的身份验证令牌。
自:1.2
安全:管理员为自己和他人(或具有管理范围),用户仅为自己
用法:POST / api / v1 /安全/令牌
请求头信息:N/A
消耗:应用程序/ x-www-form-urlencoded


类型 要求 默认值 描述
grant_type 字符串 是的
用于验证请求的授权类型。在本例中,惟一支持的值是“refresh_token”。
access_token 字符串 是的
要刷新的访问令牌。
refresh_token 字符串 是的
需要刷新的接入令牌的刷新令牌。
expires_in 没有 0

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

可刷新的 布尔 没有 真正的 如果为真,则此令牌是可刷新的,并且刷新令牌可用于在过期后用新令牌替换它。
$ 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…"


响应状态码:

200 -成功刷新令牌

响应标头:N/A

生产:application / json


响应
{:“access_token eyJ2ZXIiOiIyIiwidHlwIjoiSldUIiwiYWxnIjoiUlMyNTYiLCJraWQiOiJ6WWFWQjVFRlpkOXlpbWtCNkZTbDAtSWFhMHRPWldLX293c1BTVTNTZmdNIn0.eyJzdWIiOiJsZW5vbiIsInNjcCI6ImFwcGxpZWQtcGVybWlzc2lvbnNcL2FkbWluIiwiYXVkIjoiamZkc0AwMWNoMDV0ajRuM3NzODBzNm4zdjIzMDdiOSIsImlzcyI6ImpmZHNAMDFjaDA1dGo0bjNzczgwczZuM3YyMzA3YjkiLCJleHAiOjE1MzAwOTk2MTgsImlhdCI6MTUzMDA5OTQ5NSwianRpIjoiYTQzM2YwZDAtNTQ5OC00YjI5LWE5ODctZjI3MTNkYmMyOTdmIn0。E7csEhcHqsOJxz1jmhDVu_Ij51yQyxYifMXusexqZk78pi_7YHlJcY1iRg6VMthdv8_Db2CsaNzYdubCyTTt77OOTSVfqJdZsm_0AEz-paIj71lvgyJBFLZ2bjE253tMGLgweypUqqEsEH3J3FyfAaw4XXURlKT5inbwKklMu-DvPG5772ZS1Y6YPU8oOGc2dWg_BHUvjMTJ5vQAw0Ws5Ta2CJ0DF40JLQKcyN_JCgzQ2RCXr2C70JIF9Fa0OBaIKVT-DguSNGU83dnr-YF0XBsUcTDu5K-Jl5H3FMdb129awXe4_fLLdltMK8iAaRujsIDlvexdlezVal4nLRZcxA”、“refresh_token”:“f96bda0c ab50 - 4 b7e - 96 - f1 - be8bd20605a3”、“expires_in”:123年,“范围”:“applied-permissions /管理”、“token_type”:“持票人”}


撤销一个令牌

描述:通过指定令牌或token_id来撤销访问令牌

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


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

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


响应状态码:

200 -成功撤销令牌
没有找到令牌


得到令牌信息

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

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


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


响应状态码:

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

生产:application / json


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



权限管理

权限类型:

r

w

d

删除

x

分发

管理/管理

按名称设置权限

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

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

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


$ curl -XPUT -u admin:密码-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。

权限应用于从Mission Control获得的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


请求示例
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


请求示例
admin:密码为“http://localhost:8080/api/v1/security/permissions/bundle-permission”


响应状态码:

200年成功
404 -没有找到权限

响应标头:N/A

生产:application / json


响应
{"name": "bundle-permission", "scope": "release_bundles", "release_bundles":["?通配符*","?通配符*”),“校长”:{"用户":{“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:密码-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>}}

创建特定的支持包

描述:创建一个新的支持包,并为其分配一个特定的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:密码-H "Content-Type: application/json" "http://localhost:8080/api/v1/system/support/bundle/{bundle_id}" -T create_support_bundle.json

响应状态码:

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

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

获取支持包信息

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

请求示例
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/<服务id>}}, status: success, created: 2019-02-02,}

响应状态码:

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


得到支持包

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

请求示例
admin:密码为“http://localhost:8080/api/v1/system/support/bundle/{bundle_id}/archive”
response.json
内容类型:application/zip


响应状态码:
成功下载支持包
没有找到支持包
响应标头: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没有内容

响应状态码:

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


列表支持包

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

请求示例
admin:密码为“http://localhost:8080/api/v1/system/support/bundles”
response.json
{"count": 2, "bundles": [{id: 20181230145474-53666747, description: "",名称:"",已创建:2018-12-30,},....]}

响应状态码:

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


维护

生成停止所有任务令牌

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

请求示例
admin:密码为“http://localhost:8080/api/v1/maintenance/generate_token/stop_all”
response.json
{“令牌”:“JEv4CnrZNhmgtkRV9aKmGsrozGEoaoBs3okv9SFusdhR3hUKiWdKwAhoeP1SLEy8hFZqFhE”}


响应状态码:

200年成功

停止所有的任务

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

请求示例
$ curl -XPOST -u admin:密码“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_flush ": true}

响应状态码:

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

响应标头:N/A


错误响应

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