所在位置 > 新闻中心 > 新闻详情

python模块rtcclient 使用经验分享

2018-1-12

作者:精灵云高级工程师 | 陈龙

1、前言

最近工作需要需要接触RTC(IBM Rational TeamConcert),目标是提取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。

▼ 1、安装pip

| yum install python-pip -y

如果出现No pachage python-pip available. 这时候需要更新你的扩展包,输入以下命令:
| yum -y install epel-release
这个时候再回去装pip就可以啦。

▼ 2、安装rtcclient

| pip install rtcclient

▼ 3、测试import

1
可以import 表示rtcclient 安装成功了

3、读取RTC中的workitems。

▼ 1、连接rtc

2

url 为rtc ccm的uri,如果你使用jazz 的admin用户登录,可以在变更管理的主页看到,如下图:

3

由于个别jazz的url配置问题,如果以上代码不能成功连接rtc。需要在连接rtc的时候指定ends_with_jazz=False.
myclient = RTCClient(url,user,password,ends_with_jazz=False)

▼ 2、获取项目区域所有的workitems

| myclient.getWorkitems(“your project area name”)

▼ 3、query特定的workitem类型

获取的workitem中最长见的就是任务和缺项,见如下代码:

4

dc:type=”task” 就是代表查找类型为“任务”的workitem。那缺陷是什么呢?客户在变更管理的”管理项目区域”配置的“工作项” 区域查看,如下图:

5

这里可以看到缺陷的标识为defect。所以可以使用dc:type=”defect” 查询。这里需要提的是Return_prop是可选的,但是我强烈建议加上,因为如果不选,rtcclient会去拿workitem所有的属性,这会相当的耗费时间。下面的一章会详细讲解workitem的属性。

4、Workitem的属性

上面说到dc:type 就是workitem的一个属性,获取特定的workitem后可以使用如下代码直接打印出其值:

6

那workitem还有其他的什么属性呢,可以用如下代码获得:
| workitem.field_alias.values()

下面是我的一个任务类型的workitem的所有属性:

7

再次强调,在query workitem的时候,请指定你想要获取的属性,不然以上全部都会获取。如果全部获取,200个workitem的获取时间在1个小时左右。如果只获取单个属性,几秒就可以完成query。