系统
出口
描述:将任务控制数据导出为使用主密钥加密的JSON文件。
自:4.0
用法:把/ api / v1 /系统/备份/出口
生产:文本/平原
返回代码:
加密JSON文件创建于JFROG_HOME美元
/var/backup/mc/export.json
导出时出现错误
样本输出:
PUT /api/v1/backup/export OK
进口
描述:从使用主密钥加密的JSON文件中导入任务控制数据。
自:4.0
用法:把/ api / v1 /系统/备份/导入
生产:文本/平原
返回代码:
204 -成功导入JSON文件JFROG_HOME美元
/var/backup/mc/export.json
进入数据库
400 - JSON文件格式不正确
500 -导入过程中出现错误
样本输出:
PUT /api/v1/backup/import OK
系统健康检查
描述:获得任务控制是否正在运行的指示。不需要身份验证。
自:4.0
用法:GET / api / v1 /系统/平
生产:文本/平原
样本输出:
GET /api/v1/system/ping OK
詹妮弗
添加詹妮弗
描述:在任务控制中心增加了一个新的JPD。在4。X时,不再需要注册单个服务。注册JPD后,任务控制中心查询安装在JPD中的所有服务。该列表定期更新,还用于获取安装在JPD中的各个服务的状态。位置信息也与JPD相关联。这将取代以前版本中的站点和服务api。
自:4.0
注:要求工厂企业
安全:需要admin用户
用法:帖子/ mc / api / v1 /詹妮弗年代
返回代码:
2011 -创建
400 -日志含义连接JPD失败。请核实所提供的JPD信息是否正确
409 -与现有的JPD (URL,名称)冲突
消耗:application / json
{+ "name": "",+ "url": " ", // JPD基础url + "token": " ", // JPD连接键+ "location": {+ "city_name": "<城市名称>",+ "country_code": "<国家代码>",+ "latitude": < latitude >, + "longitude": < longitude >}, - "tags": [" ", " "]}
+ =强制性;- =可选
示例使用:
POST /api/v1/jpds {"name": "dev-west", "url": "https://artifactory-west.acme.com", "token": "", "location": {"city_name": "San Francisco", "country_code": "US", "latitude": 37.7749, "longitude": 122.4194}, "tags": ["prod", "dev"]}
添加遗留JPD (Artifactory 6.x)
POST /api/v1/jpds {+ "name": "", + "url": " ", // JPD基础url + "username": " ", + "password": " ", + "location": {+ "city_name": "<城市名称>",+ "country_code": "<国家代码>",+ "latitude": < latitude >, + "longitude": < longitude >}, - "tags": [" ", " "]}
更新詹妮弗
描述:更新JPD给出它的id。
自:4.0
注:要求工厂企业
安全:需要admin用户
用法:把/ mc / api / v1 /詹妮弗/ {id}
返回代码:
204 -无内容
400 -日志含义连接JPD失败。请核实所提供的JPD信息是否正确
409 -与现有的JPD (URL,名称)冲突
消耗:application / json
{+ "name": "",+ "url": " ", // JPD基础url - "token": " ", // JPD连接键+ "location": {+ "city_name": "<城市名称>",+ "country_code": "<国家代码>",+ "latitude": < latitude >, + "longitude": < longitude >}, - "tags": [" ", " "]}
+ =强制性;- =可选
示例使用:
把/ api / v1 /詹妮弗JPD-3{“名称”:“new_name”,“url”:“http://new-jpd-url: 8080 /詹妮弗。test", "location" : { "city_name" : "Toulouse", "country_code" : "FR", "latitude" : 43.6043, "longitude" : 1.4437 } }
获取JPD列表
描述:获取所有jpd的列表,可根据标签、名称、url或状态过滤它们。这些过滤器可以包含通配符*。
自:4.0
注:要求工厂企业
安全:需要admin用户
用法:GET / mc / api / v1 /詹妮弗?[name = {some_name}][标签= {some_tag}] [url = {some_url}][&地位={在线|离线部分| |未经授权}]
生产:application / json
返回代码:
200 -成功
示例用法:
GET /api/v1/jpds [{"id": "JPD-1", "licenses": [{"expired": false, "license_hash": "2c2ef96d8a90ea2bb91287258dc8ab72a6b0f749", "licensed_to": "www.si-fil.com", "type": "ENTERPRISE_PLUS_TRIAL", "valid_through": "2020-02-14"}], "location": {"city_name": "Nuuk", "country_code": "GL", "latitude": 64.18347, "longitude": -51.72157}, "name": "HOME", "services": [{"status": {"code": "ONLINE"}, "type": "ARTIFACTORY"}, {"status": {"code": "ONLINE"}, "type": "JFMC"}], "status": {"code": "ONLINE"}, "type": "JFMC"}], "status": {"code": "ONLINE"}。“在线”、“消息”:“所有服务在线”、“警告 ": [] }, " 标签:[],“url”:“http://jpd。本地/"}]
通过id获取JPD
描述:获取给定id的JPD
自:4.0
注:要求工厂企业
安全:需要admin用户
用法:/mc/api/v1/jpds/{id}
消耗:application / json
返回代码:
200 -成功
例子:
示例用法:
GET /api/v1/jpds/JPD-1 {"id": "JPD-1", "licenses": [{"expired": false, "license_hash": "2c2ef96d8a90ea2bb91287258dc8ab72a6b0f749", "licensed_to": "www.si-fil.com", "type": "ENTERPRISE_PLUS_TRIAL", "valid_through": "2020-02-14"}], "location": {"city_name": "Nuuk", "country_code": "GL", "latitude": 64.18347, "longitude": -51.72157}, "name": "HOME", "services": [{"status": {"code": "ONLINE"}, "type": "ARTIFACTORY"}, {"status": {"code": "ONLINE"}, "type": "JFMC"}], "status": {"code": "ONLINE"}, "type": "JFMC"}], "status": {"code": "ONLINE"}, "status": {"code": "ONLINE"}, "type": "JFMC"}], "status": {"code": "ONLINE"}, "status": {"code": "ONLINE"}, "status": {"code": "ONLINE"}, "status": {"code": "ONLINE"}, "status": {"code": "ONLINE"}, "status": {"code": "ONLINE"}, "status": {"code": "code": "code": "code": "code": "JFMC"}], "status": {"code": "code":“在线”、“消息”:“所有服务在线”、“警告 ": [] }, " 标签:[],“url”:“http://jpd。本地/ "}
删除詹妮弗
描述:从任务控制中移除JPD
自:4.0
注:要求工厂企业
安全:需要admin用户
用法:删除/ mc / api / v1 /詹妮弗/ {id}
返回代码:
200 -成功
204 -无内容
404 -未找到
示例用法:
删除/ api / v1 /詹妮弗/詹妮弗- 321
访问联合会
获取单个jpa的访问联合配置
描述:获取特定jpa的Access Federation配置。返回为提供的JPD配置的Federation目标。
自:4.0
注:
- 需要Artifactory Enterprise+
- 覆盖接入配置文件中Access Federation的手动配置。
安全:需要admin用户
用法:GET /mc/api/v1/federation/{JPD ID}
返回代码:
200 -成功
JPD不是有效的Access Federation候选者。
404 -没有找到JPD。
消耗:application / json
示例用法:
GET /api/v1/mc/api/v1/federation/JPD-1 {"entities": ["GROUPS", "USERS"], "targets": [{"name": "JFP-2", "code": "access2JPDId", "url": "http://localhost:37837/access"}]}
获取所有jpd的访问联邦配置
描述:获取所有jpd的Access Federation配置。
自:4.0
注:需要Artifactory Enterprise+
安全:需要admin用户
用法:GET / mc / api / v1 /詹妮弗/联盟吗?includeNonConfiguredJPDs = false
返回代码:
200 -成功
生产:application / json
示例用法:
GET / api / v1 / mc / api / v1 /联盟吗?include_non_configured=false [{"source": "artifactory1", "entities": ["GROUPS", "USERS"], "targets": [{"name": "JPD-2", "code": "access2JPDId", "url": "url2"}]}]
在JPD上配置Access Federation
描述:为特定的jpa配置Access Federation。作为先决条件,源和目标必须基于Access Federation正确配置这.
自:4.0
注:需要Artifactory Enterprise+
安全:需要admin用户
用法:PUT /mc/api/v1/federation/{JPD ID}
返回代码:
200 -成功
400,422 -无效的输入
404 - JPD未找到或没有工件
示例用法:
PUT /api/v1/federation/ {"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
注:需要Artifactory Enterprise+
安全:需要admin用户
用法:GET / mc / api / v1 /联盟的候选人
返回代码:
200 -成功
示例用法:
GET / api / v1 / mc / api / v1 /联合会/候选人
创建网格
描述:创建一个网格拓扑。作为先决条件,源和目标必须基于Access Federation正确配置这.
自:4.0
注:需要Artifactory Enterprise+
安全:需要admin用户
用法:POST / mc / api / v1 /联合会/ create_mesh
返回代码:
200 -成功
400,422 -无效的输入
404 - JPD未找到或没有工件
请求示例:
POST /api/v1/federation/create_mesh {"jpd_ids": ["JPD-12", "JPD-13"], "entities": ["USERS", "GROUPS", "PERMISSIONS", "TOKENS"]}
反应的例子:
[{"label": " success ", "status": "OK"}]
支持
创建支持包
描述:创建一个新的支持包。
自:4.0
安全:需要admin用户
笔记:所有包项都是可选的。
使用: POST /mc/api/v1/system/support/bundle
返回代码:
202 -支持包正在创建中,很快就会发布
400 -无效的选项值
403 -未经授权
示例使用:
POST /api/v1/system/support/bundle {"name": "JFMC support bundle", "description": " support bundle generated because of issue with 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接受内容-类型:application/json服务器:mission-control/SNAPSHOT严格- 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
安全:需要admin用户
使用: GET /mc/api/v1/system/support/bundles
返回代码:
200 -成功
403 -未经授权
示例用法:
GET / mc / api / v1 /系统/支持/包{“计数”:2,“包”:[{“名称”:“一”,“描述”:“aaa级”、“id”:“1”,“创建”:“2018 - 10 - 01 - t09:50:11z”},{“名称”:“B”、“id”:“2”,“创建”:“2018 - 10 - 01 - t09:50:11z”}]}
获取支持包的详细信息
描述:获取特定支持包的详细信息。
自:4.0
安全:需要admin用户
使用: GET /mc/api/v1/system/support/bundle/{id}
返回代码:
200 -成功
403 -未经授权
404 -提供的ID没有指向现有的支持包
示例用法:
GET / mc / api / v1 /系统/支持/包/ SUPP20180912154413548991{“名称”:“问题# 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": {"count":1, "interval": 0}}, "available":5, "created": "2018-10-01 t09:50:10 z "}
下载支持包
描述:以ZIP文件的形式下载支持包。
自:4.0
安全:需要admin用户。您需要在Artifactory上启用“下载文件夹”权限。
使用: GET /mc/api/v1/system/support/bundle/{id}/archive
返回代码:
200 -成功
403 -未授权(可能是“下载文件夹”选项未在身份验证提供程序工件上启用)
404 -提供的ID没有引用现有的支持包,或者无法在身份验证提供程序人工存储库中找到ZIP
示例用法:
GET / mc / api / v1 /系统/支持/包/ SUPP20180912154413548991 /存档
删除支持包
描述删除支持包,以及Artifactory中的ZIP文件。
自:4.0
安全:需要admin用户
使用命令:DELETE /mc/api/v1/system/support/bundle/{id}
返回代码:
204 -成功
403 -未经授权
404 -提供的ID没有指向现有的支持包
示例用法:
删除/ mc / api / v1 /系统/支持/包/ SUPP20180912154413548991
许可证桶
把水桶
描述:检索系统中所有的license桶。
自:4.0
注:要求工厂企业
安全:需要admin用户
用法:得到/ 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
注:要求工厂企业
安全:需要admin用户
用法:POST / mc / api / v1 /桶
返回代码:
2011 -创建
409 -名称“<桶名>”已经存在
409 - Url“<桶Url >”已经存在
消耗:application / json
示例用法:
POST /api/v1/buckets {"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"}
样品反应:
{"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
注:要求工厂企业
安全:需要admin用户
用法:POST / mc / api / v1 /桶
内容类型:多部分/格式
返回代码:
2011 -创建
400 -您的桶文件无法使用。请验证文件是否正确,密钥是否有效。
409 -名称“<桶名>”已经存在
消耗:application / json
name |任务控制文件中的桶名|桶文件路径key |解密桶使用的密钥
生产:application / json
示例用法:
curl -X POST 'http://localhost:8082/mc/api/v1/buckets' -H 'Authorization: Bearer' -H 'Content-Type: multipart/form-data' -F 'file=@/tmp/728939433.json;type=application/ ocet -stream' -F 'key=d18fc5bc05dc3b6419ab6cd127f16cf6b57d7650ea0ef03cde130918f6f25487' -F 'name=mybucket'
样品反应:
{"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}
删除桶
描述:删除桶。
自:4.0
注:要求工厂企业
安全:需要admin用户
用法:删除/ mc / api / v1 /桶/{名称}
返回代码:204 -成功
示例用法:
DELETE /api/v1/buckets/main-bucket 204无内容
获取桶状态
描述:获取指定桶的报告。
自:4.0
注:要求工厂企业
安全:需要admin用户
用法:GET / api / v1 /桶/{标识符}/报告
生产:application / json
响应格式:
{"identifier": "<桶ID>", "name": "<桶名>","size": "<桶中的许可证总数>","valid_through": "<有效期到日期>","issued": "<签发日期>","type": "<许可证类型>","licenses": {"used": "<正在使用的许可证数量>","available": "<可用的许可证数量>","max_used": "<曾经同时使用的最大许可证数量>"},"jpds": [{"name": "","license_count":"<此JPD使用的许可证数量>"}],"split_buckets": [{"name": "<分割桶名称>","identifier": "<分割桶标识符>","issued": "<发行日期>","license_count": "<许可证数量>"}],"unknown_uses": [{"name": "<未知用法的自由标签>","license_count": "<使用的许可证数量>"}],"pipelines": {"execution_nodes": "<管道的执行节点数量>"}}
返回代码:
200 -成功
示例用法:
GET /api/v1/buckets/415921223/report {"identifier": "266200796", "name": "edge-bucket", "size": 10, "valid_through": "2020-02-14T00:00:00.000Z", " published ": "2019-02-14T14:27:29.584Z", "type": "EDGE_TRIAL", "licenses": {"used": 0, "available": 10, "max_used": 0}}
附加许可
描述:将桶中的许可证附加到指定的JPD。
自:4.0
注:需要人工企业。要申请Artifactory Pro的许可,请使用Artifactory API.
安全:需要admin用户
用法:POST / mc / api / v1 /桶/{名称}/部署
消耗:application / json
{"jpd_id": "", "license_count": <上传到Artifactory的license数量>}
生产:application / json
返回代码:
200 -成功
未找到id
500 - "无法从桶
示例用法:
POST /api/v1/buckets/mybucket/deploy {"jpd_id": "JPD-12", "license_count": 1}
样品反应:
{"success": true, "message": "从bucket bucket-test-1分配1个license给JPD-12."}
获得许可证
描述:从桶中获取一个或多个许可证并返回它或它们。这些许可证在桶报告的“未知用法”部分下被标记为已使用。
自:4.0
注:要求工厂企业
安全:需要admin用户
用法:POST / mc / api / v1 /桶/{名称}/收购
消耗:application / json
{"name": "<一个免费的文本标签>","license_count": <需要获得的许可证数量>}
生产:application / json
返回代码:
200 -成功
没有找到标识符为“<不存在的桶Id>”的实体“LicenseBucket”。
示例用法:
POST /api/v1/buckets/mybucket/acquire {"name": "team-A-license", "license_count": 1}
样品反应:
{"license_keys": [""]}
发布许可证
描述:给定“获取”调用之前使用的JPD id或标签,从桶中释放许可证。
自:4.0
注:要求工厂企业
安全:需要admin用户
用法:POST / mc / api / v1 /桶/{名称}/释放
消耗:application / json
{"name": "< JPD id或自由文本标签>"}
生产:application / json
返回代码:
204 -无内容
没有找到标识符为“<不存在的桶Id>”的实体“LicenseBucket”。
409 -“Jpd必须离线才能分离其许可证”
409 -“没有许可释放桶:<桶id>,实例名:
示例用法:
POST /api/v1/buckets/mybucket/release {"name": "team-A-license"}