2013-10-14 25 views
1

我試圖使用DeployIt(v3.9)提供的REST API來列出給定項目上可用的所有軟件包。 因此,我用的是GET /repository/query service如何在存儲庫/查詢Web服務中使用DeployIt的namePattern參數

因此,我調用這個服務具有以下網址:

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

不幸的是,我沒有得到任何東西(只是一個空列表)。

如果我從我的URL中刪除namePattern,那麼我會得到所有應用程序的長列表(不僅僅是我感興趣的)。 所以看來我沒有正確設置namePattern屬性。在文檔中,他們說:

該名稱的搜索模式。這就像SQL「LIKE」模式: 字符'%'表示任意字符串爲零個或多個字符, 和字符'_'(下劃線)表示任何單個字符。 這兩個字符的字面用法必須使用 反斜槓('\')進行轉義。因此,反斜槓 的任何文字實例也必須轉義,導致產生雙反斜槓('\')。

所以我嘗試了以下網址:

  • 的http:// [服務器] /deployit/repository/query?type=udm.DeploymentPackage & namePattern =我的應用程序內:空單
  • http:// [server] /deployit/repository/query?type=udm.DeploymentPackage & namePattern =%my-app%:error 400
  • http:// [server]/deployit/repository/query?type = udm .DeploymentPackage & namePattern =%25my-app%25(試圖轉義%字符):em pty list
  • http:// [server] /deployit/repository/query?type=udm.DeploymentPackage & namePattern = Applications/my-app/2.0.0(帶有真實版本):error,character'/'not允許。
  • 的http:// [服務器] /deployit/repository/query?type=udm.DeploymentPackage & namePattern = 2.0.0:我得到部署版本2.0.0所有應用程序的列表(包括我my-app),但是這不是我在找什麼(我想要全部版本可用於DeployIt的my-app)。

那麼,檢索已部署應用程序列表的正確URL是什麼?

回答

2

我解決了我的問題。實際上,namePattern僅適用於應用程序名稱的最後部分,即版本。因此,我必須使用parent屬性來檢索我的應用程序列表:

http://[server]/deployit/repository/query?type=udm.DeploymentPackage&parent=Applications%2Fmy-app&resultsPerPage=-1 
相關問題