python 模块rtcclient 使用经验分享

  1. 云栖社区>
  2. 博客>
  3. 正文

python 模块rtcclient 使用经验分享

shev 发布时间:2018-01-16 17:41:30 浏览6498 评论0

摘要: 作者:精灵云高级工程师 | 陈龙 1前言最近工作需要需要接触RTC(IBM Rational Team Concert),目标是提取RTC 的各种类型的workitems 中的各种信息。网上这类例子很少,个别例子都是java的接口,但是我只是取数据,使用java太复杂了。

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

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
1

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

3读取RTC中的workitems。
3.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)  
3.2获取项目区域所有的workitems
| print myclient.getWorkitems("your project area name")  
3.3query特定的workitem类型
获取的workitem中最长见的就是任务和缺项,见如下代码:

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

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

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

那workitem还有其他的什么属性呢,可以用如下代码获得:
| print workitem.field_alias.values()  
下面是我的一个任务类型的workitem的所有属性:
7

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

【云栖快讯】云栖专辑 | 阿里开发者们的第20个感悟:好的工程师为人写代码,而不仅是为编译器  详情请点击

网友评论