云客户?
免费开始>
在MyJFrog >中升级
云有什么新>







您正在查看该页的旧版本。查看当前版本

与当前比较查看页面历史记录

«前26日版本下一个”

概述

任务控制公开了一个丰富的REST API,允许对注册的JFrog平台部署(jpd)进行完全自动化的管理。

这提供了一个方便且最新的自描述API,各种工具都可以使用它来自动化管理和配置操作。

一个uthentication

任务控制的REST API支持认证类型:

类型 描述
访问令牌

用户必须在授权头中使用访问令牌作为承载令牌。

使用承载令牌进行身份验证的示例:

    1. 创建用于MC的访问令牌:

      http——form POST http:///access/api/v1/oauth/token "username=" scope="applied-permissions/user" "audience=jfmc@*" "expires_in=0" "refreshable=true" "grant_type=client_credentials" "Authorization: Bearer .

    2. 执行命令curl -H 'Authorization: holder http://localhost:8081/mc/api/v1/jpds


使用

任务控制REST API可以以REST API的任何标准方式调用。下面以cURL为例介绍如何使用Mission Control REST API。

使用和配置cURL

你可以下载 旋度 在这里。学习如何使用和配置 旋度 在这里。

—创建JPD

下面的示例演示如何调用create用户REST API。

  • 您在本地系统的8080端口上运行了MissionControl

  • 您希望创建一个名为“us-west”的网站Artifactory和x射线。

  • 您创建了一个名为createjpd.json

要使用该文件创建一个新用户,您将使用以下命令:

使用cURL和REST API
$ curl 'http://localhost:8081/mc/api/v1/jpds' -i -H '授权:持有者' -X POST -H '内容类型:应用程序/json;charset=UTF-8' -T createjpd.json
文件createsite。Json将包含以下内容:
{" name ":“于”、“url”:“http://somehost”,“令牌”:“xxx”,“位置”:{“城市”:“森尼维耳市”,“country_code”:“我们”,“纬度”:37.368830,经度:-122.036350}}
页面内容

阅读更多


系统

系统健康检查

描述:获取任务控制是否正在运行的指示。无需身份验证。
自:4.0
用法:GET / api / v1 /平
例子:

GET /api/v1/ping true


代理

更新代理

描述:代理是在Artifactory中定义的,该请求将JPD对添加到现有代理中。这些JPD被它们的id引用,参见get JPD call (TODO:链接此处)

自:4.0
安全:需要管理员用户
用法:把/ api / v1 /代理/ < proxyKey >

消耗:application / json


例子:

POST /mc/api/v1/ proxy /squid HTTP/1.1 [{"source": "JPD-1", "destination": "JPD-2"}, {"source": "JPD-1", "destination": "JPD-3"}]


例子:


$ curl 'http://localhost:8081/mc/api/v1/proxies' -i -H '授权:承载' -X PUT -H '内容类型:应用程序/json;utf - 8字符集=“- d”[{“源”:“JPD-1”,“目标”:“JPD-2”},{“源”:“JPD-1”,“目标”:“JPD-3”}]”



获取代理列表

描述:获取代理列表。
自:4.0
安全:需要管理员用户
用法:Get / api / v1 /代理
消耗:application / json

例子:


GET / mc / api / v1 /代理HTTP / 1.1[{“关键”:“proxy-01”、“主机”:“host1”,“港”:3128年,“用户名”:“用户”,“密码”:“xxx”、“nt_host”:“主机”、“nt_domain”:“域”,“jpu_pairs”:[{“源”:“JPD-1”,“目标”:“JPD-2 " }] }, { " 关键”:“proxy-02”、“主机”:“host1”、“端口”:3128年,jpu_pairs:[{“源”:“JPD-1”,“目标”:“JPD-3”}]}]


命令行:


$ curl 'http://localhost:8081/mc/api/v1/proxies' -i -H '授权:承载<令牌>' -H '内容类型:应用程序/json;charset = utf - 8 '



获取源JPD筛选的代理列表

描述:根据源JPD获取代理列表。
自:4.0
安全:需要管理员用户
用法:GET / mc / api / v1 /代理吗?源= {JPD_name}
消耗:application / json


例子:


GET / mc / api / v1 /代理吗?年代ource=JPD-12 HTTP/1.1 [ { "key" : "proxy-01", "host" : "host1", "port" : 3128, "jpu_pairs" : [{ "source" : "JPD-12", "destination" : "JPD-3" }] } ]



获取目标JPD筛选的代理列表


描述:获取按目标JPD筛选的代理列表。
自:4.0
安全:需要管理员用户
用法:GET / mc / api / v1 /代理吗?目的地= {destination_JPD_name}
消耗:application / json

例子:


GET / mc / api / v1 /代理吗?目的地= JPD-12 HTTP / 1.1[{“关键”:“proxy-03”、“主机”:“host3”、“港”:3128年,“jpu_pairs”:[{“源”:“JPD-1”,“目标”:“JPD-12”}]}]



获取源和目标JPD筛选的代理列表

描述:根据源JPD获取代理列表。
自:3.2
安全:需要管理员用户
用法:GET / mc / api / v1 /代理吗?年代ource={source_JPD_name}&destination={destination_JPD_name}
消耗:application / json

例子:


GET / mc / api / v1 /代理吗?年代ource=JPD-12&destination=JDP-13 [ { "key" : "proxy-04", "host" : "host4", "port" : 3128, "jpu_pairs" : [{ "source" : "JPD-12", "destination" : "JPD-13" }] } ]



按名称获取代理


描述:按名字找一个代理。
自:4.0
安全:需要管理员用户
用法:GET / mc / api / v1 /代理/{名称}
消耗:application / json


例子:

GET /mc/api/v1/ agents /proxy-01 HTTP/1.1 {"key": "proxy-01", "host": "host1", "port": 3128, "jpu_pairs": [{"source": "JPD-1", "destination": "JPD-3"}]}



网站(弃用)

这些是配置站点时的相关字段:

类型 可选 描述

的名字

字符串 网站的名称
描述 字符串 真正的 网站的描述
城市 对象 网站的城市
city.name 字符串 真正的 城市的名字
city.country_code 字符串 真正的 城市国家代码
city.longitude 数量 城市的经度
city.latitude 数量 城市的纬度
服务 数组 真正的 服务名称

创建站点(已弃用)

描述:创建一个新站点。
注:这个API是弃用从版本4.x开始。
自:2.0
安全:需要管理员用户
用法:POST / api / v3 /网站

返回代码:

201 -无内容
400 -无法找到具有以下名称的服务:,'<服务名称>','<服务名称>'

409 -名称' <网站名称>已经存在。
消耗:application / json

{"name": "<站点名称>","description": "<站点名称>","city": {"name": "<城市名称>","country_code": "<国家代码>","latitude": <城市纬度坐标>,"longitude": <城市高度坐标>},"services":["<服务名称>"]}

例子:
在本例中,创建了一个新的Sunnyvale站点,服务“art -west”和“xray-west”与新站点相关联。如果服务存在,201年创建将被返回。

$ curl 'http://localhost:8080/api/v3/sites' -i -u 'admin:password' -X POST -H 'Content-Type: application/json;charset=UTF-8' -T createsite.json
createsite.json
{"name": "US - West ", "description": "US West coast site", "city": {"name": "Sunnyvale", "country_code": "US", "latitude": 37.368830, "longitude": -122.036350}, "services": ["art - West ", "xray-west"]}


更新站点(已弃用)

描述:按名称更新当前站点。
注:这个API是弃用从版本4.x开始。
自:2.0
安全:需要admin用户
使用: PUT /api/v3/sites/{name}

返回代码:

204 -无内容
409 -没有找到标识符“”的实体“Site”
消耗:application / json



                       

例子

在本例中,使用适当的属性将名为Argentina的现有站点更新为Mexico Data Center。如果“阿根廷”这个网站存在,204无内容将被退回


                       
updatesite.json

                       


按名称部分更新站点(已弃用)

描述:更新站点不需要更新属性
注:这个API是弃用从版本4.x开始。
自:2.1
安全:需要管理员用户
用法:把/ api / v3 /服务/{名称}

返回代码:

204 -无内容
消耗:application / json


                       

例子:


                       

例子:


                       



获取站点(已弃用)

描述:按名称获取站点

注:这个API是弃用从版本4.x开始。
自:2.0
安全:需要管理员用户
用法:GET / api / v3 /网站/{名称}

返回代码:

200 -成功
409 -实体“站点”与标识符“{name}”不被发现”
生产:application / json


                       

例子:

在本例中,正在检索有关名为“中国”的站点的信息。如果网站“中国”存在200年成功将被退回


                       
示例输出

                       


获取站点列表(已弃用)

描述:获取所有站点的列表
注:这个API是弃用从版本4.x开始。
自:2.0
安全:需要管理员用户
用法:GET / api / v3 /网站/

返回代码:

200 -成功
409 -没有找到标识符“”的实体“Site”
生产:application / json


                       

例子:


                       
示例输出

                       

删除站点(已弃用)


描述: 删除站点
注: 这个API是 弃用 从版本4.x开始。
自:2.0
安全:需要管理员用户
用法:删除/ api / v3 /网站/{名称}
返回代码:

200 -成功
409 -不能删除站点{name},它有非空服务:{服务名}

例子:


                       



服务(弃用)

创建服务(已弃用)

描述:创建一个新服务。

注:这个API是弃用从版本4.x开始。
自: 2.0.在3.2中更新,增加了属性
安全:需要管理员用户
用法:POST / api / v3 /服务
返回代码:

201 -创建
409 -日志含义连接服务失败。请核实所提供的服务信息是否正确
消耗:application / json


{"name": "<服务名称>","description": "<服务描述>","url": "<服务url >", "username": "<服务管理员用户名>","password": "<服务管理员密码>","type": "" "site_name": "<站点名称">,"auth_token": "<服务的认证令牌,而不是使用用户名/密码>","pair_with_auth_provider": "", "auth_provider": ""}


例子:

$ curl 'http://localhost:8080/api/v3/services' -i -u 'admin:password' -X POST -H 'Content-Type: application/json;charset=UTF-8' -T createservice.json
createservice.json
{"name": "dev-west", "description": "Artifactory服务西部开发","url": "https://artifactory-west.acme.com/artifactory", "username": "admin", "password": "password", "type": "Artifactory "} 201已创建

更新服务(已弃用|)


描述: 更新服务
注:这个API是弃用从版本4.x开始。
自:2.0
安全:需要管理员用户
用法:把/ api / v3 /服务/{名称}
返回代码:

204 -无内容
409 - Url 已经存在
消耗:application / json

{"name": "<服务名称>","description": "<服务描述>","url": "<服务url >", "username": "<服务管理员用户名>","password": "<服务管理员密码>"}

例子:

$ curl 'http://localhost:8080/api/v3/services/dev-west' -i -u 'admin:password' -X PUT -H 'Content-Type: application/json;charset=UTF-8' -T updateservice.json
updateservice.json
{"name": "dev-east", "description": "Artifactory service in East region", "url": "https://artifactory-east.acme.com/artifactory", "username": "admin", "password": "password"} 204无内容


获取服务列表(已弃用)


描述:获取所有服务的列表
注:这个API是弃用从版本4.x开始。
自:2.0
安全:需要管理员用户
用法:GET / api / v3 /服务/
生产:application / json

例子:
$ curl -XGET 'http://localhost:8080/api/v3/services' -uadmin:密码
示例输出
[{"name": "阿根廷","description": "Artifactory服务于阿根廷发展","url": "http://10.0.0.8:8082/artifactory", "type": "Artifactory ", "service_type": "jfrt", "service_id": "jfrt@01ccgfzxdyqd3y0d816fns0zhh", "site": {"city": {"country_code": "AR", "latitude": -34.61315, "longitude": -58.37723, "name": "Buenos Aires"}, "description": "" name": "Argentina"}}, {"name": "China", "description": "Artifactory服务于中国发展","url":"http://10.0.0.8:8081/artifactory", "type": "ARTIFACTORY", "service_type": "jfrt", "service_id": "jfrt@01cdmdjarccxy009wnzmwf06jp", "site": {"city": {"country_code": "CN", "latitude": 31.22222, "longitude": 121.45806, "name": "Shanghai"}, "description": "" name": "China"}}] 200成功

根据源获取带有代理的服务列表(已弃用)


描述: 获取任务控制通过代理管理的服务的列表
注: 这个API是 弃用 从版本4.x开始。
自:3.2
安全:
需要管理员用户
用法:
GET请求/api/v3/services?源=源消耗:application / json

例子:
GET / api / v3 /服务?源=源%20Artifactory%20Name HTTP/1.1 [ { "name" : "Source Artifactory Name", "url" : "http://Source Artifactory Name.com/artifactory", "type" : "ARTIFACTORY", "service_type" : "jfrt", "service_id" : "jfrt@01crqghgxara0b0ej8nct10dyd", "site" : { "name" : "Source Site Name", "description" : "59551ac7-d8a3-426d-90a7-730219f11ddc", "city" : { "name" : "73955951-ef5c-4864-a118-561b117fdb7c", "latitude" : 66.778899, "longitude" : 44.556644 } } }, { "name" : "Destination Artifactory Name", "url" : "http://Destination Artifactory Name.com/artifactory", "type" : "ARTIFACTORY", "service_type" : "jfrt", "service_id" : "jfrt@01crqghgxf30e91k6gascc1r7p", "site" : { "name" : "Destination Site Name", "description" : "06dce948-ef85-45d6-b600-c2dc8ca57a63", "city" : { "name" : "c64f2329-2021-49ec-9188-cea1840f9df6", "latitude" : 66.778899, "longitude" : 44.556644 } }, "proxy" : { "url" : "http://proxy.com" } } ]


使用基于源的代理按名称获取服务(已弃用)


描述:通过代理获得由任务控制中心管理的名称服务。

注:这个API是弃用从版本4.x开始。
自:
3.2
安全:
需要管理员用户
用法:
GET / api / v3 /服务/{名称}

例子:

GET / api / v3 /服务/ jfrt % 4001 crqgh6fyxtpn1eyddfwa1hk1 ?源=源%20Artifactory%20Name { "name" : "Destination Artifactory Name", "url" : "http://Destination Artifactory Name.com/artifactory", "type" : "ARTIFACTORY", "service_type" : "jfrt", "service_id" : "jfrt@01crqgh6fyxtpn1eyddfwa1hk1", "site" : { "name" : "Destination Site Name", "description" : "31c51fe9-dfa0-48d4-8ce7-675e2b6b1b43", "city" : { "name" : "28759984-cf1a-41bc-952c-33e4e3a7c4a0", "latitude" : 66.778899, "longitude" : 44.556644 } }, "proxy" : { "url" : "http://proxy.com" } }



删除服务(已弃用)

描述:删除服务
注:这个API是弃用从版本4.x开始。
自:
2.0
安全:需要管理员用户
用法:删除/ api / v3 /服务/ {name}
返回代码:

200 -成功

例子:

$ curl -XDELETE 'http://localhost:8080/api/v3/services/Argentina' -uadmin:密码-H "内容类型:应用程序/json"

获取存储库列表(已弃用)


描述:获取指定Artifactory服务中的存储库列表
注: 这个API是 弃用 从版本4.x开始。
自:
2.0
安全:需要管理员用户
用法:得到api / v3 /服务/ artifactory /{名称}/存储库
返回代码:

200 -成功

无法找到名称<服务名称>的Artifactory实例
消耗:application / json

例子:

$ curl -XGET 'http://localhost:8080/api/v3/services/artifactory/{name}/repositories' -uadmin:密码
示例输出
[{"repository_key": "bower-local", "description": "", "type": "local", "package_type": "bower"}, {"repository_key": "generic-local", "description": "" type": "package_type": "generic"}, {"repository_key": "lib -release-local", "description": "" type": "local", "package_type": "maven"},…{“repository_key”:“npm”、“描述”:“”,“类型”:“虚拟”,“package_type”:“npm”}]



詹妮弗

添加詹妮弗

描述:增加一个新的JPD任务控制。

自:4.0
安全:需要管理员用户
用法:帖子/ mc / api / v1 /詹妮弗 年代

返回代码:

201 -创建
400 -日志含义连接JPD失败。请核实所提供的JPD信息是否正确
409 -与现有的JPD (URL,名称)冲突

消耗:application / json


{"name": "JDP-12", "url": "http://jpd:8080/test", "token": " sometoken ", "location": {"city_name": "San Francisco", "country_code": "US", "latitude": 37.7749, "longitude": 122.4194}, "proxy_key": "proxy1"}


例子:

$ curl 'http://localhost:8081/mc/api/v1/jpds' -i -H '授权:持有者' -X POST -H '内容类型:应用程序/json;charset=UTF-8' -T create_JPD.json



create_JPD.json
{"name": "dev-west", "url": "https://artifactory-west.acme.com/artifactory", "token": "<加入token>", "location": {"city_name": "San Francisco", "country_code": "US", "latitude": 37.7749, "longitude": 122.4194}, "proxy_key": "proxy1"} 201已创建


更新詹妮弗

描述:更新JPD

自:4.0
安全:需要管理员用户
用法:把/ mc / api / v1 /詹妮弗/{名称}

返回代码:

204 -无内容
400 -日志含义连接JPD失败。请核实所提供的JPD信息是否正确
409 -与现有的JPD (URL,名称)冲突

消耗:application / json


{"name": "", "url": "", "token": "some-token", "location": {"city_name": "San Francisco", "country_code": "US", "latitude": 37.7749, "longitude": 122.4194}, "proxy_key": "proxy1"}


例子:

$ curl 'http://localhost:8080/api/v1/jpds/JPD-3' -i -X -H '授权:承载<令牌>' PUT \



updateservice.json
{" name ": " new_name”、“url”:“http://new-jpd-url: 8080 /詹妮弗。test", "location": {"city_name": "Toulouse", "country_code": "FR", "latitude": 43.6043, "longitude": 1.4437}, "proxy_key": "proxy1"}


获取JPD名单

描述:获取所有jpd的列表

自:4.0
安全:需要管理员用户
用法:GET / mc / api / v1 /詹妮弗
生产:application / json

例子:

$ curl -XGET 'http://localhost:8080/mc/api/v1/jpds' -H '授权:承载<令牌>'



示例输出
[{"name": "JDP-12", "url": "http://jpd12:8080/test", "location": {"city_name": "旧金山","country_code": "美国","latitude": 37.7749, "longitude": 122.4194}, "proxy_key": "proxy1"}, {"name": "JDP-13", "url": "http://jpd13:8080/test", "location": {"city_name": "旧金山","country_code": "US", "latitude": 37.7749, "longitude": 122.4194}, "proxy_key": "proxy1"}] 200成功

获取基于源的JPDs与代理列表


描述:获取任务控制通过代理管理的jpd的列表
自:4.0
安全:需要管理员用户
用法:GET请求/mc/api/v1/jpds?源=源
消耗:application / json

例子:


[{"name": "JDP-12", "url": "http://jpd12:8080/test", "location": {"city_name": "旧金山","country_code": "美国","latitude": 37.7749, "longitude": 122.4194}, "proxy_key": "proxy1"}, {"name": "JDP-13", "url": "http://jpd13:8080/test", "location": {"city_name": "旧金山","country_code": "US", "latitude": 37.7749, "longitude": 122.4194}, "proxy_key": "proxy1"}] 200成功


通过基于源的代理以名称获取JPD


描述:通过任务控制中心代理的名义获取JPD。
自:4.0
安全:需要管理员用户
用法:GET / mc / api / v1 /詹妮弗/{名称}?源= < >来源

例子:


GET / api / v1 /詹妮弗/ JPD-12吗?年代ource=JPD-13 { "name" : "JDP-13", "url" : "http://jpd13:8080/test", "location" : { "city_name" : "San Francisco", "country_code" : "US", "latitude" : 37.7749, "longitude" : 122.4194 }, "proxy_key" : "proxy1" }



删除詹妮弗

描述:从任务控制中心移除一个JPD

自:4.0
安全:需要管理员用户
用法:删除/ mc / api / v1 /詹妮弗/ {id}
返回代码:

200 -成功
204 -无内容
404 -未找到

例子:

$ curl 'http://localhost:8081/mc/api/v1/jpds/JPD-321' -i -X DELETE \




访问联合会

获取单个JPD的Access Federation配置

描述:获取特定JPD的访问联合配置。返回为所提供的JPD配置的Federation目标。

自:4.0
安全:需要管理员用户
用法:GET /mc/api/v1/federation/{JPD ID}
返回代码:

200 -成功
400 - JPD不是一个有效的接入联盟候选人。
404 -未找到JPD。
消耗:application / json


请求示例:

GET /mc/api/v1/federation/JPD-1 HTTP/1.1

反应的例子:

{“实体”:“团体”,“用户”,“目标”:[{“名称”:“JFP-2”、“代码”:“access2JPDId”、“url”:“http://localhost: 37837 /访问”}]}



获取所有jpd的联邦访问配置

描述:获取所有jpd的访问联合配置。

自:4.0
安全:需要管理员用户
用法:GET / mc / api / v1 /詹妮弗/联盟吗?includeNonConfiguredJPDs = false
返回代码:

200 -成功

生产:application / json


请求示例:

GET / mc / api / v1 /联盟吗?include_non_configured HTTP / 1.1 = false

反应的例子:

[{“源”:“artifactory1”,“实体”:“团体”,“用户”,“目标”:[{“名称”:“JPD-2”、“代码”:“access2JPDId”、“url”:“url2”}]}]



在JPD上配置Access Federation

描述:为特定的JPD配置访问联合。作为先决条件,必须为基于的Access Federation正确配置了源和目标
自:4.0
安全:需要管理员用户
用法:PUT /mc/api/v1/jpds/{JPD ID}/federation

返回代码:
200 -成功
400,422 -无效输入
404 - JPD没有找到或没有一个Artifactory


示例请求:

PUT /mc/api/v1/federation/JPD-12 HTTP/1.1 {"entities": ["USERS", "GROUPS"], "targets": [{"name": "artifactory2", "url": "http://localhost:8080/access"}]}

示例响应:

[{"label": "获取artifactory1配置","status": "OK"}, {"label": "从artifactory1获取访问令牌","status": "OK"}, {"label": "检查artifactory2是否信任artifactory1", "status": "OK"}, {"label": "向artifactory1发送配置","status": "OK"}, {"label": "将目标artifactory2添加到artifactory1", "status": "OK"}]

获取联盟候选人

描述:获取Access Federation候选人。
自:4.0
安全:需要管理员用户
用法:GET / mc / api / v1 /联盟的候选人

返回代码:
200 -成功

请求示例:

GET /mc/api/v1/federation/candidate HTTP/1.1

反应的例子:

[" JPD-12”、“JPD-13”)



创建网格

描述:创建网格拓扑。作为先决条件,必须为基于的Access Federation正确配置了源和目标

自:4.0
安全:需要管理员用户
用法:POST / mc / api / v1 /联合会/ create_mesh
返回代码:

200 -成功
400,422 -无效输入
404 - JPD没有找到或没有一个Artifactory

请求示例:

POST /mc/api/v1/federation/create_mesh HTTP/1.1

反应的例子:

{“詹妮弗”:“JPD-12”、“JPD-13”,“实体”(“用户”,“团体”,“权限”,“令牌”)}

监控(弃用)

获取服务状态(已弃用)

描述:获取所有服务的状态
注:这个API是弃用从版本4.x开始。
: 2.0
使用GET /api/v3/services/monitoring/status
返回代码:

200 -成功

生产: application / json

[{"service_name": "<服务名称>","up_time_in_sec": <服务已启动时间(秒)>,"service_state": "< ONLINE | OFFLINE >"}]

例子

$ curl -XGET 'http://localhost:8080/api/v3/services/monitoring/status' -uadmin:密码

示例输出

[{"service_name": "中国","up_time_in_sec": 29282, "service_state": "ONLINE"}, {"service_name": "阿根廷","up_time_in_sec": 131, "service_state": "ONLINE"}]



获取服务状态(已弃用)


描述:获取指定服务的状态
注:这个API是弃用从版本4.x开始。
: 2.0
使用: GET /api/v3/services/{name}/monitoring/status
返回代码:

200 -成功
409 -无法找到服务名称<服务名称>
生产: application / json

{"service_name": "<服务名称>","up_time_in_sec": <服务已经启动的时间(秒)>,"service_state": "< ONLINE | OFFLINE >"}

例子:

$ curl -XGET 'http://localhost:8080/api/v3/services/China/monitoring/status' -uadmin:密码

示例输出

{"service_name": "China", "up_time_in_sec": 46182, "service_state": "ONLINE"}


支持

创建支持包

描述:创建一个新的支持包。
自:4.0
安全:需要管理员用户
笔记:所有的捆绑项目都是可选的。
使用POST /mc/api/v1/system/support/bundle

返回代码:
202 -支持包正在创建中,将很快可用
400 -无效的选项值
403 -未经授权

示例使用

POST /mc/api/v1/system/support/bundle HTTP/1.1 {"name": "My support bundle", "description": " support bundle generated because issue XYZ", "parameters": {"configuration": true, "system": true, "logs": {"include": true, "start_date": "2018-09-19", "end_date": "2018-09-20"}, "thread_dump": {"count": 1, "interval": 0}}}}}

例子:

$ curl -X POST -H '授权:持有人<令牌>' https://my-mission-control.jfrogdev.co/api/v1/system/support/bundle -H '内容类型:应用程序/json' \ -d '{"name": "JFMC支持包","description": "支持包因XYZ问题而生成","parameters": {"configuration": true, "system": true, "thread_dump": {"count": 1, "interval": 0}, "logs": {"include": true, "start_date": "2018-12-25", "end_date": "2019-01-07"}}}'

示例输出:

HTTP/1.1 202 Accepted Content-Type: application/json Server: task -control/SNAPSHOT Strict-Transport-Security: max-age=31536000;inclesubdomains Content-Length: 247 {"id": "SUPP20180912154413548991", "artifactory": {"service_id": "jfrt@4754684682741", "bundle_url": "http://artifactory.www.si-fil.com/artifactory/jfrog-support-bundle/SUPP20180912154413548991/jfmc/test_JPD}}

获取支持包列表

描述:获取可用支持包的列表。
自:4.0
安全:需要管理员用户
使用GET /mc/api/v1/system/support/bundles

返回代码:
200 -成功
403 -未经授权

例子:


GET /mc/api/v1/system/support/bundles HTTP/1.1

回应:

{“计数”:2,“包”:[{“名称”:“一”,“描述”:“aaa级”、“id”:“1”,“创建”:“2018 - 10 - 01 - t09:50:11z”},{“名称”:“B”、“id”:“2”,“创建”:“2018 - 10 - 01 - t09:50:11z”}]}



获取支持包的详细信息

描述:获取特定支持包的详细信息。
自:4.0
安全:需要管理员用户
使用GET /mc/api/v1/system/support/bundle/{id}

返回代码:
200 -成功
403 -未经授权
404 -提供的ID没有引用现有的支持包

例子:

GET /mc/api/v1/system/support/bundle/SUPP20180912154413548991 HTTP/1.1

回应:


{" name ": "问题# 1234”、“描述”:“支持包创建的问题# 1234调查”、“artifactory”:{“service_id”:“jfrt@4754684682741”、“bundle_url”:“http://artifactory.www.si-fil.com/artifactory/jfrog-admin-supportbundle/SUPP20180912154413548991/jfmc/01c7b8rg70nrqr1cck7k4x0yp7”},“参数”:{“配置”:真的,“系统”:真的,“日志”:{“包括”:真的,“start_date”:“2018-09-30”,“end_date”:“2018-10-01”},“thread_dump”:{“计数”:1、“间隔”:0}}, "available":5, "created": " 2018-10-01t9: 50:10z "}



下载支持包

描述:以ZIP文件的形式下载支持包。
自:4.0
安全:需要管理员用户。您需要在Artifactory上启用“下载文件夹”权限。
使用GET /mc/api/v1/system/support/bundle/{id}/archive

返回代码:
200 -成功
403 -未经授权(可能是“下载文件夹”选项没有在身份验证提供程序Artifactory上启用)
404 -提供的ID没有引用现有的支持包,或者在Authentication Provider Artifactory存储库中找不到ZIP

例子:

GET /mc/api/v1/system/support/bundle/SUPP20180912154413548991/archive HTTP/1.1



删除支持包

描述:删除一个支持包,以及Artifactory中的ZIP文件。
自:4.0
安全:需要管理员用户
使用DELETE /mc/api/v1/system/support/bundle/{id}

返回代码:
204 -成功
403 -未经授权
404 -提供的ID没有引用现有的支持包

例子:


DELETE /mc/api/v1/system/support/bundle/SUPP20180912154413548991 HTTP/1.1

创建平台支持包

描述:创建一个新的支持包。为几个JPDs创建支持包
自:4.0
安全:需要管理员用户
使用POST /mc/api/v1/platform/support/bundle

返回代码:

200 -支持包正在创建,将很快可用
422 - JPD列表空或太大
504 -超时
400 -无效请求

示例使用

POST /mc/api/v1/system/support/bundle HTTP/1.1 {"name": "my_support_bundle", "description": "平台支持bundle测试描述","services": ["self", "jfrt@64845741457245711"], "parameters": {"configuration": true, "system": true, "logs": {"include": true, "start_date": "2019-03-14", "end_date": "2019-03-15"}, "thread_dump": {"count": 1, "interval": 0}}}}}

示例输出:

示例输出
200 OK Content-Type: application/json Server: task -control/SNAPSHOT Strict-Transport-Security: max-age=31536000;内容长度includeSubDomains: 487 {" id ":“20190315 - 1624 - cab48ff6 - 33 - e4 - 4 - e17 b2c9 - 845 a71ffa3a7”、“地点”:[{“service_id”:“jfrt@01d612nxv8yfcn119xsj7d1jrz”、“artifactory”:{“service_id”:“jfrt@other.www.si-fil.com”、“bundle_url”:“http://other.www.si-fil.com/artifactory /" } }, { " service_id”:“jfmc@01c7b8rg70nrqr1cck7k4x0yp7”、“artifactory”:{“service_id”:“jfrt@auth-provider.www.si-fil.com”、“bundle_url”:“http://auth-provider.www.si-fil.com/artifactory /" } } ] }

获取平台支持包列表

描述:获取先前创建的支持包的列表。
自:4.0
安全:需要管理员用户
使用GET /mc/api/v1/platform/support/bundles

返回代码:

200 -好的
400 -无效请求

示例使用

GET /mc/api/v1/platform/support/bundles HTTP/1.1授权:Basic YWRtaW46cGFzc3dvcmQ= Content-Type: application/json;charset=UTF-8主机:localhost:8080

示例输出:

HTTP/1.1 200 OK Content-Type: application/json Server: task -control/SNAPSHOT Strict-Transport-Security: max-age=31536000;includeSubDomains Content-Length: 319 {"bundles": [{"id": "20190218-1554-c5043f76-4d6d-49e2-9ab7-2999b7af02ef", "name": "sb-name", "description": "sb-description", "created": "20190218-1553-bb12b2e0-3b16-44aa-889a-513c14976542", "created": "2019-02-18T15:53:00Z"}], "count": 2}


获取平台支持包元数据

描述:获取先前创建的支持包的元数据。
自:3.5
安全:需要管理员用户
使用GET /mc/api/v1/system/support/bundle/{id}

返回代码:

200 -好的
400 -无效请求

示例使用

GET /mc/api/v1/platform/support/bundle/20190218-1554-88722539-78af-41bc-a5d7-e7567fb7189f HTTP/1.1授权:承载xxx内容类型:应用/json;charset=UTF-8主机:localhost:8081

示例输出:

HTTP/1.1 200 OK Content-Type: application/json Server: task -control/SNAPSHOT Strict-Transport-Security: max-age=31536000;includeSubDomains内容长度:742 {" id ": " 20190218 - 1554 - 20190218 - 78 - af - 41 - bc - a5d7 e7567fb7189f”、“名称”:“sb-name”、“描述”:“sb-description”,“状态”:“成功”,“创建”:“2019 - 02 - 18 t15:54:00z”,“参数”:{“配置”:真的,“系统”:真的,“日志”:{“包括”:真的,“start_date”:“2019-03-14”,“end_date”:“2019-03-15”},“thread_dump”:{“计数”:1、“间隔”:0}},“地点”:[{“service_id”:“jfxr@2222”、“artifactory”:{“service_id”:“jfrt@jfxr”,“bundle_url”:“https://art。Jfxr "}}, {"service_id": "jfds@1111", "artifactory": {"service_id": "jfrt@jfds", "bundle_url": "https://arti "。Jfds "}}]}

获取平台支持包

描述:以ZIP文件的形式下载先前创建的支持包。
自:4.0
安全:需要管理员用户
使用GET /mc/api/v1/platform/support/bundle/{id}/archive

返回代码:

200 -支持包zip将下载
400 -无效请求

示例使用

GET /mc/api/v1/platform/support/bundle/20190218-1553-2ea5aa8c-0ee7-4981-9028-d19c653b423a/archive HTTP/1.1授权:Basic YWRtaW46cGFzc3dvcmQ= Content-Type: application/json;charset=UTF-8主机:localhost:8081

示例输出:

HTTP/1.1 200 OK内容处理:附件;filename="20190218-1553-2ea5aa8c-0ee7-4981-9028-d19c653b423 .zip" Content-Type: application/zip Server: task -control/SNAPSHOT Strict-Transport-Security: max-age=31536000;include esubdomains Content-Length: 28

删除平台支持包

描述:删除之前创建的支持包,以及Artifactory中的ZIP文件。
自:4.0
安全:需要管理员用户
使用DELETE /mc/api/v1/platform/support/bundle/{id}

返回代码:

支持包成功删除
404 -支持包id未找到或无效
500 -支持无法删除

示例使用

DELETE /mc/api/v1/platform/support/bundle/20190218-1554-7d3f4afa-a129-435e-822a-d19a052f9b4a HTTP/1.1授权:Basic YWRtaW46cGFzc3dvcmQ= Content-Type: application/json;charset=UTF-8主机:localhost:8081

示例输出:

HTTP/1.1 200 OK Content-Type: application/json Server: task -control/SNAPSHOT Strict-Transport-Security: max-age=31536000;inclesubdomains Content-Length: 110 {"deleted": ["jfmc@01c7b8rg70nrqr1cck7k4x0yp7", "jfrt@01d612qkz4bjqt0e36d13s1ry5"], "failures": []}

灾难恢复(已弃用)

创建容灾Pair(已弃用)


描述 :将Master和Target Artifactory服务匹配为容灾pair。
注: 这个API是 弃用 从版本4.x开始。
自:
2.0
安全:需要admin用户
使用: POST /api/v3/dr-configs
消耗: application / json
{"source": "<源实例>","target": "<目标实例>"}

生产:application / json

{"active": "NONE", "dr_replications_enabled": , "state": "NONE"}

例子:

$ curl -X POST 'http://localhost:8080/api/v3/dr-configs' -i -u 'admin:密码' -H '内容类型:应用程序/json;charset=UTF-8' -T createdr.json
createdr.json
{"来源":"墨西哥","目标":"中国"}


示例返回:

示例返回
{"active": "NONE", "dr_replications_enabled": false, "state": "NONE"}



脚本(弃用)

获取脚本(已废弃)

描述:获取所有脚本的列表
注:这个API是弃用从版本4.x开始。
自:2.0
安全:需要管理员用户
用法:得到/ api / v3 /脚本

返回代码:

200 -成功

生产:application / json

[{"name": "<脚本名>"}]

例子:

$ curl -XGET 'http://localhost:8080/api/v3/scripts' -uadmin:密码
[{"name": "Create_repository"}, {"name": "Delete_repository"}, {"name": "ldap"}, {"name": "Create_service"}] 200成功


获取脚本用户输入(已废弃)

描述:获取所需脚本用户输入的列表
注:这个API是弃用从版本4.x开始。
自:2.0
安全:需要管理员用户
用法:GET / api / v3 /脚本/{名称}/ user_inputs
返回代码:

200 -成功
404 -没有找到标识符“”的实体“Script”
生产:application / json
例子:

$ curl -XGET 'http://localhost:8080/api/v3/scripts/{name}/user_inputs' -uadmin:密码
示例输出
{"ArtifactoryDsl#0#LocalRepositoryDsl#0#description#0": {"name": "在这里输入所需的用户输入值","description": "请提供一个描述","value": "这是一个通用描述","type": "STRING", "multivalue ": false}}


执行脚本(已弃用)

描述:在指定的服务上执行指定的脚本
注:这个API是弃用从版本4.x开始。
自:2.0
安全:需要管理员用户
用法:把/ api / v3 / execute_script /{名称}
返回代码:

200 -成功
404 -基于所提供输入的错误。
消耗:Application /json(仅当脚本需要用户输入时)
当脚本需要用户输入时,这是描述由返回的JSON对象获取脚本用户输入端点。
生产:application / json

[{"instance":{"name":"<实例名称>","url":"<实例url >", "type":"<实例类型>"},"status":"< OK | ERROR >", "execution_duration":}]

如果出现错误,输出如下:

[{"instance":{"name":"<实例名称>","url":"<实例url >", "type":"<实例类型>"},"status":"ERROR", ERROR:{"type":"<错误类型>","message":"<错误消息>","details":["<附加信息>"],},"execution_duration":<持续时间以秒为单位>}]

例子:

$ curl -uadmin:密码-XPUT http://localhost:8080/api/v3/execute_script/{Script_Name} -d '{}' -H '内容类型:应用程序/json'
示例输出
[{"instance":{"name":"Mexico", "url":"http://172.31.61.159:8081/artifactory", "type":"ARTIFACTORY"}, "status":"OK", "execution_duration":1622, "operation":"UPDATE_REPOSITORY"}]



许可证桶


把水桶

描述:检索系统中所有的license桶。

自:4.0
安全:需要管理员用户
用法:得到/ mc / api / v1 /桶

返回代码:

200 -成功

生产:application / json
[{"identifier": "<桶id>", "name": "<桶名>","size": <桶>中的license数量,"license_type": ""}]

示例用法:

GET /mc/api/v1/buckets [{"id": "12345", "name": "bucket-test-1", "size": 10, "license_type": "ENTERPRISE"}, {"id": "1234567", "name": "bucket-test-2", "size": 5, "license_type": "EDGE"}]


创建桶

描述:创建一个新的License Bucket。

自:4.0
安全:需要管理员用户
用法:POST / mc / api / v1 /桶

返回代码:

201 -创建
409 -名称“<桶名>”已经存在
409 - Url '<桶Url >'已经存在

消耗:application / json


{" name ":“< Bucket名称>”,“url”:“<桶url >”,“关键”:“<斗关键> "}

例子:


$ curl 'http://localhost:8081/mc/api/v1/buckets' -i -H '授权:持有者' -X POST -H '内容类型:应用程序/json;charset=UTF-8' -T createbucket.json

createbucket.json


{"name": "main-bucket", "url": "https://bintray.www.si-fil.com/license-buckets/test_www.si-fil.com/12345678/12345678.json?expiry=1528199600307&id=ABCDEFGhiJkLmNoPQR", "key": "16629dbf7fefc9d179b36ba005685c2dd8376aad3278178e735da1633c6bd3c6"}
201已创建{"subject": "JFrog", "product_name": "Artifactory", "product_id": 6, "license_type": "HA", "issued_date": "2018-04-12T16:02:55.549+03:00", "valid_date": "2019-04-12T16:02:54.759+03:00", "quantity": 10, "signature": "06307c34405e6ab70c5d249a7ba7cffd81947d5f", "name": "main-bucket", "used":0, "url": "https://bintray.www.si-fil.com/license-buckets/test_www.si-fil.com/12345678/12345678.json?expiry=1528199600307&id=ABCDEFGhiJkLmNoPQR"}

上传桶

描述:上传并创建一个新的License Bucket。
自:4.0
安全:需要管理员用户
用法:POST / mc / api / v1 /桶
内容类型:多部分/格式

返回代码:


201 -创建
400 -您的bucket文件无法使用。请验证文件是否正确,密钥是否有效。
409 -名称“<桶名>”已经存在

消耗:application / json

name |任务控制文件中桶的名称。|桶文件的路径

生产:application / json

{"subject": "JFrog", "product_name": "Artifactory", "product_id": 6, "license_type": "HA", "issued_date": "2016-04-12T16:02:55.549+03:00", "valid_date": "2017-04-12T16:02:54.759+03:00", "quantity": 10, "identifier": "bucket-test-1", "signature": "06307c34405e6ab70c5d249a7ba7cffd81947d5f", "name": "Test-bucket-name", "used":0}

例子:


curl 'http://localhost:8081/mc/api/v1/buckets' -i -H '授权:holder <令牌>' -X POST -H 'Content-Type: multipart/form-data' -F 'file=@/tmp/728939433.json;type=application/octet-stream' -F 'key=d18fc5bc05dc3b6419ab6cd127f16cf6b57d7650ea0ef03cde130918f6f25487' -F 'name=mybucket'

删除桶


描述:删除桶。
自:4.0
安全:需要admin用户
用法:删除/ mc / api / v1 /桶/{名称}
返回代码:204 -成功

例子:


$ curl -XDELETE 'http://localhost:8081/mc/api/v1/buckets/main-bucket' -H '授权:holder ' -H "Content- type: application/json" 204无内容

获取桶状态

描述:获取指定桶的报告。
自:4.0
安全:需要管理员用户
用法:GET / api / v1 /桶/{标识符}/报告
生产:application / json

例子:

{"identifier": "<桶ID>", "name": <桶名>,"size": <桶>中license总数,"valid_through": <有效期>,"issued": <发放日期>,"type": ,"licenses": {"used": < >中正在使用的license数量,"available": <可用>中正在使用的license数量,"max_used": <有史以来同时使用的最大license数量>}}

返回代码:

200 -成功

例子:

$ curl -XGET 'http://localhost:8081/mc/api/v1/buckets/415921223/report' -i -H '授权:承载<令牌>'



示例输出
{"identifier": "266200796", "name": "edge-bucket", "size": 10, "valid_through": "2020-02-14T00:00:00.000Z", "issued": "2019-02-14T14:27:29.584Z", "type": "EDGE_TRIAL", "licenses": {"used": 0, "available": 10, "max_used": 0}} 200成功


附加许可

描述:将桶中的license附加到指定的JPD。

自:4.0
安全:需要管理员用户
用法:POST / mc / api / v1 /桶/{名称}/部署
消耗:application / json


{"name": "JPD-12", "license_count": <上传到Artifactory的license数量>}

生产:application / json

返回代码:

200 -成功

409 -“只支持集群部署多个许可证”

例子:

$ curl -POST 'http://localhost:8081/mc/api/v1/buckets/{name}/deploy' -i -H '授权:持有者<令牌>' -H '内容类型:应用程序/json;charset=UTF-8' -T attachlicense.json



attachlicense.json
{"name": "JPD-12", "license_count": 1}

由于deploy为false,响应将返回一个license_key


示例输出
{"license_key": " "}


例子:
$ curl 'http://localhost:8080/mc/api/v1/buckets/{name}/deploy' -i -X POST -H '内容类型:应用程序/json;charset=UTF-8' -T attachlicense.json



attachlicense.json
{"license_count": 5, "name": "JPD-12"}


在指定的“平台部署”中,对Artifactory应用5个license。即使Artifactory集群中只有3个可用节点,也会申请5个许可证。


设置(弃用)

更新基本URL(已弃用)


描述: 设置其他服务用于与任务控制进行通信的基本URL
注: 这个API是 弃用 从版本4.x开始。

自:3.2
安全:需要具有管理员权限的用户
用法:把/ api / v3 /设置/ base_url
请求参数:
base_url -外部可访问的URL
示例用法:

curl 'http://localhost:8080/api/v3/settings/base_url' -i -u 'admin:password' -X PUT -H 'Content-Type: application/json;charset=UTF-8' -d '{"base_url": "http://baseUrl-to-mc:8080/"}' 204无内容

身份验证(弃用)

创建令牌(已废弃)


描述: 创建访问令牌
注:
这个API是 弃用 从版本4.x开始。
自: 3.0
安全:需要有效用户
用法: POST / api / v3 /安全/令牌
请求参数:
用户名-分配令牌的用户
Expires_in令牌有效期(以秒为单位)
可刷新的-如果为真,令牌可以刷新
内容类型: 应用程序/ x-www-form-urlencoded
生产: application / json
示例用法:
curl 'http://localhost:8080/api/v3/security/token' -i -u 'admin:password' -X POST -H {"username": "central-user", "expires_in": 1000, "refreshable": true} Response: {"access_token": "eyJ2Z…"kMzA", "expires_in": 1000, "refresh_token": "2b5f…"0664", "scope": " application -permissions/user", "token_type": " holder "}

修改密码(已弃用)


描述: 修改用户密码
注:
这个API是 弃用 从版本4.x开始。
自: 2.1
安全:用户可以修改自己的密码。要求admin用户修改所有用户密码
用法: 把/ api / v3 /认证/ changePassword
请求参数:
用户名—要修改密码的用户
密码—新密码
消耗: application / json
返回代码: 204 -无内容
示例用法:
$ curl 'http://localhost:8080/api/v3/auth/changePassword' -i -u 'admin:password' -X PUT -d username=admin -d password=pa$1word 204无内容

撤销令牌(已弃用)


描述:撤销访问令牌
注:这个API是弃用从版本4.x开始。

自: 3.0
安全:需要有效用户
用法: POST / api / v3 /安全/令牌/撤销
内容类型:应用程序/ x-www-form-urlencoded
返回代码:
204 -无内容
示例用法:
curl 'http://localhost:8080/api/v3/security/token/revoke' -i -u 'admin:password' -X DELETE -H 'Content-Type: application/json'
  • 没有标签
版权所有©2023 JFrog Ltd。