我需要以XML的形式從TeamCity檢索構建狀態,RSS格式將是理想的。如何從TeamCity檢索XML格式的構建狀態
我很熟悉Teamcity中的RSS提要,但這是沒用的,因爲它更像是歷史視圖。我正在尋找更類似於Status Widget生成的頁面,但是以XML形式。 (僅供參考,狀態小部件頁面不是XHTML - 嘗試過!)
我想知道是否有人能跨越任何可能的協助?
親切的問候, 大衛·克里斯蒂安森
我需要以XML的形式從TeamCity檢索構建狀態,RSS格式將是理想的。如何從TeamCity檢索XML格式的構建狀態
我很熟悉Teamcity中的RSS提要,但這是沒用的,因爲它更像是歷史視圖。我正在尋找更類似於Status Widget生成的頁面,但是以XML形式。 (僅供參考,狀態小部件頁面不是XHTML - 嘗試過!)
我想知道是否有人能跨越任何可能的協助?
親切的問候, 大衛·克里斯蒂安森
可以使用Syndication Feed
工具My Settings And Tools
下生成RSS URL(文檔here),並跟蹤變化與構建結果來確定狀態(即建築,以前成功/失敗)
舉個例子,我剛剛創建了這個網址,查看最近5生成結果:
http://teamcity:8111/feed.html?buildTypeId=bt2&itemsType=builds&itemsCount=5
其中:
buildTypeId
是ID的配置(通過檢查構建的URL來獲得)itemsType
可以是「構建」或「更改」或兩者都可以您可以使用「修改」類型,以確定是否構建正在進行中...
沒有關於TeamCity的RSS here額外的URL選項,如buildStatus
和sinceDate
。
注:根據是否已啓用來賓訪問,您可能需要使用不同的背景下,如/httpAuth/feed.html
或/guestAuth/feed.html
。
編輯:正如你指出,從TeamCity的RSS源僅包括已完成的生成。
一種可能性是從您感興趣的項目的詳細信息頁面中獲取HTML,然後從構建表中的頂部條目中提取當前狀態。
另一種選擇:您是否考慮過使用Jabber或電子郵件通知系統?它具有更細粒度的事件通知:
都產生通知,從中可以推斷建狀態。電子郵件的自動化很簡單,Jabber是一個開放的標準,所以我想這也相當簡單。
任何這些選項都需要一個小換行代碼來轉換爲RSS。
請問this summary of a standard XML status format是什麼意思?我非常確定TeamCity可以生成這種格式,但不完全確定如何。 Hudson通過URL如http://my.hudson.server.example.com:3030/cc.xml這樣做。
哈德森鏈接不起作用... – pauloya 2009-11-20 21:19:10
我一直對這個問題一會兒現在
Here's a post showing you how to login to teamcity in code in c#
那麼它只是用HTMLAgilityPack的問題看錶。
如果您打開訪客訪問它更容易。如果有幫助,我會盡快清理代碼。如果你用另一種語言開發,我也可以在那裏幫助。
也許最好是編寫自己的插件。如果你當然知道Java。您可以創建自定義Web控制器並將其綁定到您喜歡的url,該控制器可以接受buildId參數,搜索構建(SBuildServer.findBuildInstanceById())並輸出XML。
查看與TeamCity(TeamCity/devPackage)捆綁在一起的samplePlugin.zip中的HelloUserController.java。
而且它的價值來檢查的一些TeamCity的插件來源:http://www.jetbrains.net/confluence/display/TW/TeamCity+Plugins
我做到了使用每buildtype的API:
curl -k "https://${SERVER}/guestAuth/app/rest/buildTypes/${BUILDTYPE}/builds/?locator=lookupLimit:1"|xpath -q -e //build/@status
感謝您的答覆,然而,在「我的設置和工具」的RSS選項顯示的歷史信息 - 不是「當前構建狀態」,這是什麼我在尋找。 – 2008-12-11 11:46:09