如何通过API/CLI触发Artifactory非关联构建元素的Xray重扫?
如何通过API/CLI触发Xray对非构建关联Artifactory元素的重扫
针对你的需求(实现和GUI中“Scan for Violations”完全一致的非构建元素重扫),以下是正确的实现方法:
正确的API请求方式
你之前使用的API端点和请求体格式有误,对应Xray 3.91.3版本,正确的端点是/xray/api/v1/scan,请求体需要将待扫描元素放入artifacts数组中,示例curl命令如下:
curl -X POST "https://XXXXX/xray/api/v1/scan" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer ${PASSWD}" \ -d '{ "artifacts": [ { "repo_key": "my-repo", "path": "file/i/want-to-scan" } ] }'
参数说明
repo_key: 目标文件所在的Artifactory仓库密钥path: 文件在仓库内的完整相对路径(无需包含仓库名)artifacts数组支持同时传入多个元素,实现批量扫描
使用JF CLI的替代方案
如果你更倾向于用CLI而非curl,可以使用JF CLI的xr scan命令,效果和API完全一致,示例:
# 单个文件扫描 jf xr scan --repo my-repo --path "file/i/want-to-scan" # 若配置了多个服务器ID,指定目标服务器 jf xr scan --server-id your-artifactory-server-id --repo my-repo --path "file/i/want-to-scan"
注意事项
- 确保你的Bearer Token对应的用户拥有Xray扫描权限(如Xray Admin、Scan权限)以及目标仓库的读取权限
- 验证路径的准确性:路径需与Artifactory中文件的实际相对路径完全匹配(可从文件详情页复制)
- 你的版本组合(Xray 3.91.3 + Artifactory 7.90.10)完全支持上述API和CLI命令
内容的提问来源于stack exchange,提问作者Matt
相关产品推荐
相关产品推荐

