如何使用Artifactory REST API按名称搜索指定日期后的制品?
问题排查:Artifactory日期搜索API返回500错误(Item not found for id '2649778966')
问题描述
发送GET请求到以下API:
https://artifactory.xxxxxx.com/artifactory/api/search/dates?dateFields=created&from=1675050197406&name=yyyyy-*.tgz/
收到500错误响应:
{ "errors": [ { "status": 500, "message": "Item not found for id '2649778966'" } ] }
可能的解决方向
- 修正文件名参数格式:URL中
name=yyyyy-*.tgz/末尾的斜杠属于冗余内容,去掉斜杠改为name=yyyyy-*.tgz后重新请求,Artifactory的文件名匹配无需结尾斜杠,多余斜杠可能触发内部索引查找异常。 - 重建仓库索引:该错误大概率是Artifactory内部数据库索引与实际存储文件不同步导致的,联系管理员触发对应仓库的索引重建操作,或者检查仓库索引状态是否正常。
- 排查内部资源ID:错误中的
2649778966是Artifactory内部资源ID,让管理员通过后台管理界面或专用REST API查询该ID对应的资源是否已被删除但未同步索引。 - 缩小搜索范围排查:先简化请求参数,比如移除
from时间限制,仅保留name=yyyyy-*.tgz进行搜索,确认是否能正常返回结果,逐步定位是时间参数还是文件名参数引发的问题。 - 检查版本兼容性:部分旧版本Artifactory存在日期搜索相关的索引bug,确认当前使用的Artifactory版本是否有同类已知问题,必要时升级至稳定版本。
内容的提问来源于stack exchange,提问作者wnba_youngboy
相关产品推荐
相关产品推荐

