Chinaunix首页 | 论坛 | 博客
  • 博客访问: 190888
  • 博文数量: 84
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 542
  • 用 户 组: 普通用户
  • 注册时间: 2017-07-25 14:45
文章分类
文章存档

2018年(64)

2017年(20)

我的朋友

分类: Python/Ruby

2018-01-17 17:09:01

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

1前言
最近工作需要需要接触RTC(IBM Rational Team Concert),目标是提取RTC 的各种类型的workitems 中的各种信息。网上这类例子很少,个别例子都是java的接口,但是我只是取数据,使用java太复杂了。突然在网上看rtc有python的接口叫做rtcclient。网址:。研究了几天,踩了很多坑。下面就分享我使用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。

阅读原文

阅读(1116) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~