PolarJenkinsConnector

2019-02-24 Fantasy

Jenkins 是业界CI的标准,TemLive的PolarJenkinsConnector提供与Jenkins连接的功能,包括调用  Jenkins 的构建、将构建结果反馈给 Polarion等。

Jenkins插件由两部组成:

  • Polarion插件:以函数方式来触发Jenkins的调用。可以在后台管理Jenkins服务器信息
  • Jenkins插件:收集构建结果,并将结果返馈给Polarion,包括收集附件,并更工作项内容。

以下是PolarJenkinsConnector的集成方式:

 

 

用户的需求在Polarion上进行管理,并拆分成开发任务给开发人员进行编码。开发人员在完成编码后,输入当前代码的任务号把代码提交到代码仓库(Git, SVN),Polarion即可通过连接版本显示这些任务与哪些版本的代码进行关系,形成需求——任务——代码的跟踪关系。当完成开发后(或开发进行中),管理者可以根据具体的需求进行构建及单测试来验证代码的结果,此时便通过PolarJenkinsConnector把相关信息收集起来(比如代码的路径,版本号等),发送给Jenkins,由Jenkins负责高度编译和测试(代码静态分析检查等),在Jenkins完成这些工作后,由Jenkins收集相关的结果传回Polarion,变更任务/需求状态为测试通过或测试失败,把测试结果自动导入Polarion,形成需求——测试用例——缺陷跟踪关系。这样所有人员在Polarion上便可了解所有的信息。

 

PolarJenkinsConnector提供多种调用方式:可以在Polarion的工作流中调用Jenkins、在脚本中调用Jenkins,也可以独立在Jenkins构建一个Job时把相关信息传回Polarion,也可以两这两者结果起来,形成一个闭环。

在Jenkins端向Polarion传送信息时,可以通过Jenkins的 Post Builde 功能向Polarion发送信息,也可以Pipeline中在Jenkinsfile 中使用脚本方式向Polarion发送信息,可使用的脚本包括:

 

  1. polarAttachment: 上传附件到Polarion
  2. polarCreateItem: 在Polarion端创建工作项
  3. polarExecAction: 执行工作项指定的工作流动作
  4. polarFormat: 生成指定格式的日期字符串
  5. polarGetFields:  获取工作项指定字段的内容,返回一个字符串的映射(Map<String,String>,多值枚举用逗号分隔)
  6. polarHyperlink: 为指定工作项创建超连接
  7. polarModifyItem: 修改工作项内容,枚举需要提供编号,多值枚举使用逗号分隔
  8. polarPlanState: 修改规划状态
  9. polarXUnit: 导入XUnit结果

 

PolarJenkinsConnector 的高级功能:它在Polarion端提供扩展机制来处理特殊情况,以便根据具体的需求来处理。在添加了PolarJenkins插件后可以进行扩展。包括以下机制:

xUnitConvertor:

将用户上传的文件转换成 JUnit格式的文件,以导入测试执行。如果远程服务器不能提供 xUnit格式的文档时,可在Polarion端扩展这个接口,并实现格式的转换。

attachmentHandler:

附件处理器是将用户上传的附件作进一步的处理。比如可以用来解析QAC文本格式的报告并设置于附件及字段当中。

jenkinsProvider:

在调用 Jenkins服务器时,根据参数动态确定调用的Jenkins服务器地址

importHandlerxUnit:

结果导入处理器,用来导入 xUnit结果。系统提供默认的xUnit导入处理器及teamlive处理器两种。默认处理器即使用默认的设置来导入 xUnit;teamlive 则使用TeamLive 定制的功能来导入xUnit文件,并设置TestRun中更多字段的值。


微信扫一扫
关注该公众号