作者:精靈雲高級工程師 | 陳龍
1 前言
最近工作需要需要接觸RTC(IBM Rational Team Concert),目標是提取RTC 的各種類型的workitems 中的各種信息。網上這類例子很少,個別例子都是java的接口,但是我只是取數據,使用java太複雜了。突然在網上看rtc有python的接口叫做rtcclient。網址:https://pypi.python.org/pypi/rtcclient/0.6.0。研究了幾天,踩了很多坑。下面就分享我使用python rtcclient模塊的一些心得。
2 安裝rtcclient。
Ps:我使用的linux爲Centos7,自帶python版本爲2.7。
2.1 安裝pip。
| yum install python-pip -y
如果出現No pachage python-pip available. 這時候需要更新你的擴展包,輸入以下命令:| yum -y install epel-release
這個時候再回去裝pip就可以啦。
2.2 安裝rtcclient
| pip install rtcclient
2.3 測試import
可以import 表示rtcclient 安裝成功了。
3 讀取RTC中的workitems。
3.1 連接rtc
url 爲rtc ccm的uri,如果你使用jazz 的admin用戶登錄,可以在變更管理的主頁看到,如下圖:
由於個別jazz的url配置問題,如果以上代碼不能成功連接rtc。需要在連接rtc的時候指定ends_with_jazz=False.
| myclient = RTCClient(url,user,password,ends_with_jazz=False)
3.2 獲取項目區域所有的workitems
| print myclient.getWorkitems("your project area name")
3.3 query特定的workitem類型
獲取的workitem中最長見的就是任務和缺項,見如下代碼:
dc:type=”task” 就是代表查找類型爲“任務”的workitem。那缺陷是什麼呢?客戶在變更管理的”管理項目區域”配置的“工作項” 區域查看,如下圖:
這裏可以看到缺陷的標識爲defect。所以可以使用dc:type=”defect” 查詢。這裏需要提的是Return_prop是可選的,但是我強烈建議加上,因爲如果不選,rtcclient會去拿workitem所有的屬性,這會相當的耗費時間。下面的一章會詳細講解workitem的屬性。
4 Workitem的屬性
上面說到dc:type 就是workitem的一個屬性,獲取特定的workitem後可以使用如下代碼直接打印出其值:
那workitem還有其他的什麼屬性呢,可以用如下代碼獲得:
| print workitem.field_alias.values()
下面是我的一個任務類型的workitem的所有屬性:
再次強調,在query workitem的時候,請指定你想要獲取的屬性,不然以上全部都會獲取。如果全部獲取,200個workitem的獲取時間在1個小時左右。如果只獲取單個屬性,幾秒就可以完成query。
Ghostcloud精靈雲
Ghostcloud精靈雲是國內首批從事容器虛擬化研發的企業,其產品企業級容器雲PaaS/CaaS平臺EcOS,與微服務/DevOps相融合,致力於爲企業提供互聯網化、私有云管理平臺、大數據業務基礎架構等服務,幫助客戶降低成本、提升效率、簡化運維及產品部署,提升系統可靠性和安全性。目前在金融、製造、能源、政務等領域有超過50家的客戶。
獲得殊榮
全球首批CNCF官方認證的Kubernetes核心服務提供商
2017德勤-成都高新創新創業明日之星
阿里2016雲棲大會CACSC全球總決賽『十大優秀企業』
創富中國2016年度總決賽最受媒體歡迎企業
雙軟認證企業
雙創企業板掛牌企業