1

我正在尝试使用 DeployIt (v3.9) 提供的 REST API 来列出给定项目中可用的所有包。因此,我使用GET /repository/query service

因此,我使用以下 URL 调用此服务:

http://[server]/deployit/repository/query?namePattern=my-app&type=udm.DeploymentPackage

不幸的是,我什么也没得到(只是一个空列表)。

如果我namePattern从我的 URL 中删除 ,那么我会得到一长串所有应用程序的列表(不仅是我唯一感兴趣的应用程序)。所以看来我没有正确设置namePattern属性。在文档中,他们说:

名称的搜索模式。这类似于 SQL 的“LIKE”模式:字符 '%' 表示任何零个或多个字符的字符串,字符 '_'(下划线)表示任何单个字符。对这两个字符的任何字面使用都必须使用反斜杠 ('\') 进行转义。因此,反斜杠的任何文字实例也必须进行转义,从而产生双反斜杠 ('\')。

所以我尝试了以下网址:

  • http://[server]/deployit/repository/query?type=udm.DeploymentPackage&namePattern=my-app : 空列表
  • http://[server]/deployit/repository/query?type=udm.DeploymentPackage&namePattern=%my-app%: 错误 400
  • http://[server]/deployit/repository/query?type=udm.DeploymentPackage&namePattern=%25my-app%25(试图转义 % 字符):空列表
  • http://[server]/deployit/repository/query?type=udm.DeploymentPackage&namePattern=Applications/my-app/2.0.0(带有真实版本):错误,不允许使用字符“/”。
  • http://[server]/deployit/repository/query?type=udm.DeploymentPackage&namePattern=2.0.0 :我得到所有应用程序的列表部署一个版本2.0.0(包括我的my-app),但这不是我要找的(我想要DeployIt 上所有my-app可用的版本)。

那么,检索已部署应用程序列表的正确 URL 是什么?

4

1 回答 1

2

我已经解决了我的问题。实际上,namePattern仅适用于Application名称的最后一部分,即版本。因此,我必须使用该parent属性来检索我的应用程序列表:

http://[server]/deployit/repository/query?type=udm.DeploymentPackage&parent=Applications%2Fmy-app&resultsPerPage=-1
于 2013-10-14T09:28:08.930 回答