使用JIRA搭建企业问题跟踪系统 Judy Shen JIRA是澳大利亚Atlassian公司开发的一款不错的商业问题跟踪工具,可以对各种类型的问题进行跟踪管理,包括缺陷、需求变更、评审记录等。笔者在进行缺陷跟踪工具的选型时,曾经试用了JIRA一段时间,个人感觉很不错。笔者结合试用过程中碰到的问题和个人体会,将试用记录进行了整理。 本文主要介绍JIRA的个性化定制,介绍如何根据公司实际需求对JIRA进行定制,适用于管理员。至于说JIRA的基本使用方法,和普通的缺陷跟踪工具类似,本文不做重点介绍。 您可在JIRA官方网站www./jira上了解到JIRA更为详细的信息。 1 背景
在试用JIRA前,公司使用Bugzilla作为缺陷跟踪工具。在使用初期,Bugzilla确实发挥了一定的作用,但随着公司强化项目管理的需要,Bugzilla开始不够用了。 项目组使用Bugzilla时,存在几个问题: l 项目组需要对不同类型的问题进行记录,如任务分配、评审所发现的问题、需求变更记录,缺陷等。虽然可以在Bugzilla中也可以将这些各种类型的问题当作缺陷记录,但是这会混淆缺陷跟踪流程,因为这些不同类型的问题的处理流程是不一样的,但是Bugzilla中无法在系统中定制多个问题跟踪流程。 l 项目管理者无法记录缺陷的预期修复完成时间 l 项目管理者不能批量分配、编辑缺陷 l 无法记录开发人员处理缺陷所花的工作量,并且所花工作量缺少对比。 l 开发人员无法快速、直观的清楚分配给自己的缺陷,对于正在进行处理的缺陷也没有很直观的表现。 l 测试人员不知道缺陷修复预期对应的版本,导致缺陷回归时范围不清晰。 l 不方便升级,升级成本大。 l 其它细节问题,如界面不友好,用户无法上传附件等。 2 介绍
跟踪并管理在项目过程中呈现出来的问题(如缺陷、新特性、需求变更、QA审计问题等)是项目管理很重要的任务,但是很少有团队能做的很好。JIRA虽然是一个问题跟踪系统,但是只要稍加改造,便可以成为一个项目管理软件。是一个问题跟踪和项目管理应用系统,目的是为了让跟踪和管理在项目过程中呈现出来的问题变得简单。 JIRA具有以下特性: l 管理缺陷,新特性、任务、改进或者其他任何问题 l 干净和强大的用户界面方便商业或技术用户理解 l 工作流定制 l 全文搜索和强大的过滤器(可定制的,可保存的,可共享的,可预定的过滤器) l 可定制的工作台和实时统计 l 企业级的权限和安全控制 l 方便的扩展及与其他系统集成(包括email、RSS、Excel、XML和源码控制工具) l 非常高的通知选项配置 l 可以在几乎所有硬件、操作系统和数据库平台下运行 JIRA可以根据你的需要提供所需要的信息。下面以缺陷为例,介绍各个角色成员在Jira中可以获得的信息和可以做的事情。 l 管理人员——根据缺陷数据统计结果,了解项目状态 n 查看项目整体问题分布情况 n 查看项目整体问题工作量与进度情况 n 查看某一开发人员在不同项目的开发工作量情况 n 查看项目某个版本的工作量情况及每个用户的缺陷及剩余工作量情况 l 项目管理者——评估缺陷和分配缺陷 n 查看分配给我的问题 n 看某个问题的详细信息 n 分配问题 n 填写问题的预期修复时间及修复估算工作量
l 开发人员——处理缺陷,提交工作量记录 n 接受问题,准备开始处理问题
n 问题处理后,准备在系统上填写处理情况
n 填写处理情况 n 完成处理信息的填写后,准备填写处理问题所花的工作量 n 填写处理问题所花的工作量
l 测试人员——快速的提交缺陷,跟踪缺陷 n 提交问题 n 填写问题详细信息 n 根据不同过滤条件查看不同的问题,准备进行问题的跟踪处理 n 根据不同过滤条件列出的查询结果 n 验证问题处理情况,根据不同工作流节点选择不同的操作 3 安装
相比Bugzilla,JIRA有个很突出的优点:不用花数小时或数天来搭建你的问题跟踪系统,JIRA可以在小于30秒内搭建并运行在你的系统上。下面,笔者向您介绍JIRA的安装步骤。 1. 执行/bin目录下的startup.bat文件,进入安装 2. 选择一个索引目录,并输入licence,执行下一步 3. 输入创建的管理员信息,执行下一步 4. 在设置邮件服务器页面,其他信息都很容易故不多说。强调的是,在SMTP服务器输入框,要输入IP地址,即:192.168.168.116 (内部邮箱),用户名为内部邮箱用户名(如:xfshen@xx.com),执行下一步 5. 完成安装。 4 系统配置
该部分主要以某公司对问题跟踪系统的需求作为案例,介绍如何根据实际需求,在JIRA中进行配置。本案例中涉及到缺陷跟踪和需求变更的跟踪管理两部分。 4.1 设置问题类型
设置问题类型步骤如下: 1) “管理”-“Issue Settings”-“Issue Type”,进入“View Issue Types”界面 2) 进行问题类型的增加、编辑等操作,并点击“Default”设置默认值。。 4.2 设置工作流方案
1. 设置状态 在某公司中,状态有Open、Assigned、Accepted、Pending、Closed、Sleeped等。 步骤如下:
1) 选择“管理”-“Issue Settings”-“Statuses”,进入“View Statuses”界面 2) 进行状态的增加、编辑等操作。 2. 设置工作流 根据已定义的缺陷处理流程,在JIRA中新增一个工作流设置(不要在原来的工作流上修改),并设置如下。 l 缺陷:
其中,“接受本缺陷”,选择“No view for transition” ,“验证通过”,选择“No view for transition”,“确认暂不处理本缺陷”选择“Add comment and assign”。
l 需求变更
其中,“完成需求变更评估”、“审核通过”、“接受本需求变更”、“验证通过”,选择“No view for transition”;“审核不通过”、“验证不通过”选择“Add comment and assign”;“解决本需求变更”选择“Add comment, assign and set resolution”。 3. 设置工作流节点的条件、功能点、合法性控制 我们需要对不同的事务控制权限,或者是控制执行提交操作时要进行哪些操作,具体设置如上表“Conditions”、“Post Functions”二列。例如,对于Verified步骤的事务“重新打开缺陷”执行时,要将“解决”的值清空。 设置步骤如下: 1) 选择需要设置条件的事务,如Verified步骤的事务“重新打开缺陷” 2) 在界面下方的三个Tab页中,选择“Post Functions”Tab页 3) 点击“Add”链接 4) 在进入的“Add Post Function To Transition”界面中,选择“Update Issue Field”选项 5) 在进入的“Add Parameters To Function”页面中,“Issue Field”选择“解决”,“Field Value”设置为空,点击《Add》按钮 这样,当缺陷从Verified状态被重新打开时,“解决”域的值就会被清空。这条缺陷,就可以出现在责任人首页的“分配给我”的清单中。 4. 设置工作流配置文件 步骤如下: 1) 选择“管理”-“Schemes”-“Workflow Schemes”,进入“Workflow Schemes”界面 2)增加一个Workflow方案 3) 选择问题类型(如缺陷、Improvement),为该workflow方案分配已定义的Workflow。 同理,为其他几种问题类型,都设置一个workflow,方便以后流程的升级。否则以后如果需要改流程,则需要将工作流配置文件先取消关联,然后才能修改该方案对应的工作流。这可能导致verified状态对应的缺陷被改变状态。如下图所示:
4.3 问题属性
1. 严重性
设置步骤如下: 1) 选择“管理”-“Issue Field”-“Custom Fields”,进入“View Custom Fields”界面 2) 点击“Add Custom Field”链接,进入“Create Custom Field”界面 3) 选择“Select List”类型,选择“Global-all issues”选项,点击《NEXT》按钮 4) 在“Field Name”域输入“严重性”,在“Choose Search Template”项选择“Select List Searcher”,点击《Create》按钮 5) 在“Edit Custom Field Options”页面,增加下拉框选项(如上表所属内容),完成后,点击《Done》按钮 6) 在“View Custom Fields”界面,“严重性”行,点击“Edit Defaults”链接,在弹出的页面中,选择该下拉框的默认值 2. 优先级 优先级分P1-P5五个级别,其中,P1优先级最高,P5最低。
设置步骤如下: 1) 选择“管理”-“Issue Setting”-“Priorities”,进入“View Priorities”界面 2) 对选项值进行编辑,并点击“Default”设置默认值。 3. 缺陷类别
设置步骤如下: 1) 选择“管理”-“Issue Field”-“Custom Fields”,进入“View Custom Fields”界面 2) 点击“Add Custom Field”链接,进入“Create Custom Field”界面 3) 选择“Select List”类型,Scope选择“Issue Type - issues of a specified type ”选项,点击《NEXT》按钮 4) 在“Field Name”域输入“Bug类别”,在“Choose Search Template”项选择“Select List Searcher”,点击《Create》按钮 5) 在“Edit Custom Field Options”页面,增加下拉框选项(如上表所属内容),完成后,点击《Done》按钮 6) 在“View Custom Fields”界面,“Bug类别”行,点击“Edit Defaults”链接,在弹出的页面中,选择该下拉框的默认值 注意:该属性Scope只能选择“Issue Type - issues of a specified type”项。 4. 解决方案
设置步骤如下: 1) 选择“管理”-“Issue Setting”-“Resolutions”,进入“View Resolutions”界面 2) 对选项值进行编辑,并点击“Default”设置默认值。 5. 平台 包括:DEC、HP、Macintosh、PC、SGI、Sun、Other。 设置PC为默认值。设置步骤同上。 6. 操作系统 包括:Windows 95、Windows 98、Windows Me、Windows 2000、Windows NT、Windows XP、Windows Server 2003、Mac System 7.5、Mac System 设置WinXP为默认值。设置步骤同上。 7. 变更方式 包括:新增、修改 8. 发生阶段 包括:计划、需求、设计、编码、测试、实施、运行 9. 申请人 设置为:User Picker 10. 申请时间 设置为:Date Picker 11. 原始需求内容 设置为:Free Text Field 12. 业务分析结论 包括:不采纳该需求变更、接受本需求变更、未达成一致意见,继续进行业务评估。 13. 变更发生的业务背景 设置为:Free Text Field 14. 要求实现的功能 设置为:Free Text Field 15. 技术分析结论 包括:无法实现、可以实现、未达成一致意见,继续进行技术分析 16. 管理分析结论 包括:允许实施、不允许实施、未达成一致意见,继续进行管理分析
4.4 用户组和权限控制
1. 设置用户组 设置步骤如下: 1) 选择“管理”-“Users & Groups”-“Group Browser”,进入“Group Browser”界面 2) 新增用户组:Administrators、Assigners、Developers、Testers 2. 设置权限方案 设置步骤如下: 1) 选择“管理”-“Schemes”-“Permission Schemes”,进入“Permission Schemes”界面 2) 新增一个权限方案(不要在默认权限方案上进行修改) 3) 在复制的权限方案上,点击“Permission”链接,进入“Edit Permissions”界面 4) 根据上表的权限分配,进行增、删、改。 注:只有Assigner角色可以分配缺陷。 4.5 设置邮件通知方案
设置步骤如下: 1) 选择“管理”-“Schemes”-“Notification Schemes”,进入“Notification Schemes”界面 2) 复制Default Notification Scheme,并修改为合适的名称(不要在默认权限方案上进行修改) 3) 按照上述的说明,进行设置。 4.6 设置界面设计方案1. 开启时间跟踪功能 设置步骤如下: 1) 选择“管理”-“Global Settings”-“Time Tracking”,进入“Time Tracking Setting”界面 2) 将“Hours Per Day”设置为8,“Days Per Week”设置为5。 3) 点击《Activate》键,完成开启时间跟踪功能。 2. 开启附件功能 设置步骤如下: 1) 选择“Global Settings”-“Attachments”,点击“Edit Configuration”链接,进入“Attachments Settings”界面,将“Allow Attachments”选项选择“On”,在“Attachment Path”输入框输入附件的保存路径,如f:\JiraTemp\Attachment 2) 选择“Issue Fields”-“Field Layout (System)”,进入“View Issue Fields”界面,选择“附件”项,点击“Show”链接 3. 设置界面设计方案 设置步骤如下: 1) 选择“管理”-“Issue Fields”-“Field Layout Schemes”,进入“View Scheme Issue Fields”界面 2) 执行Edit、Hide、Required等操作。按照下述的说明,进行设置。 l 缺陷:
l 需求变更:
4.7 界面1. 配置整体属性 设置界面的默认语言、Title等信息。 设置步骤如下: 1) 选择“管理”-“Global Settings”-“General Configuration”,进入“Settings”界面 2) 点击“Edit Configuration”链接,在进入的界面按下述设置执行修改。
2. 配置外部界面属性 设置公司logo(将logo文件存放在服务器images目录下)、默认语言、Title。 设置步骤如下: 1) 选择“管理”-“Global Settings”-“Look and Feel”,进入“Logo”界面 2) 点击“Edit Configuration”链接,在进入的界面按下述设置执行修改。
4.8 其他1. 修改timeout设置 修改atlassian-jira/WEB-INF/web.xml <session-config> <session-timeout>60</session-timeout> </session-config> 将60(分钟)修改需要的时间。 2. 设置自动备份 设置每天进行一次备份。 设置步骤如下: 1) 选择“管理”-“System”-“Services”,进入“Services”界面 2) 在“Add Service”部分,输入如下信息
3) 点击《Add Service》键,进入“Edit Service:Backup Service”界面,输入如下信息,点击《更新》键,即完成服务设置
5 项目设置
下面根据某公司实际项目的设置需求,对试点项目进行实际设置。项目设置主要从以下方面进行设置 1. 创建项目 输入项目名称、项目缩写、项目经理,选择邮件通知方案、权限设置方案 2. 创建模块 创建模块,并设置模块负责人 3. 选择权限方案 设置步骤如下: 1) 选择“管理”-“Projects”-“Projects”,进入“Project:项目名”界面 2) 在“Permission Scheme”部分,点击“select scheme”链接,在进入的页面中选择需要的权限设置方案。 4. 选择界面设计方案 设置步骤如下: 1) 选择“管理”-“Projects”-“Projects”,进入“Project:项目名”界面 2) 在“Field Layout Schemes”部分,点击“manage”链接,进入“Manage Field Layout Scheme Associations”界面 3) 点击“Bug”这一行的“Add Association”链接,选择合适的界面设计方案。对其他类型的问题进行类似操作 5. 选择工作流设置方案 设置步骤如下: 1) 选择“管理”-“Projects”-“Projects”,进入“Project:项目名”界面 2) 在“Workflow Scheme”部分,点击“select scheme”链接,在进入的页面中选择需要的工作流设置方案。 6. 创建用户,并分配用户组 系统的权限分配如下: l 项目经理:Assigner+Developers+jira-users l 模块负责人(缺陷分配人员):Assigner+Developers+jira-users l 开发人员:Developers+jira-users l 测试人员:Testers+jira-users l 项目组其他人员(如SCM):jira-users l 项目外其他人员:Anyone 7. 设置项目的Default Assignee 系统默认是分配给项目负责人,即项目经理。可以根据需要选择默认为模块负责人。 设置步骤如下: 1) 在Project页面下的“Components”部分,在“select assignees for components”处,点击“Select”链接,进入“Select Component Assignee”界面 2) 选择模块的默认分配人。 8. 创建版本 9. 选择邮件通知方案 设置步骤如下: 1) 选择“管理”-“Projects”-“Projects”,进入“Project:项目名”界面 2) 在“Notification Scheme”部分,点击“select scheme”链接,在进入的页面中选择需要的邮件通知方案。 10. 设置系统邮件发件人 默认是使用mail server中设置的邮件地址。可以根据项目需要为每个项目设置不同的邮件发件人。 设置步骤如下: 1) 选择“管理”-“Projects”-“Projects”,进入“Project:项目名”界面 3) 在“Mail Configuration”部分,点击“edit configuration”链接,在进入的页面中输入本项目的系统邮件发件人。 完成上述步骤后,就可以进行问题(如缺陷、需求变更等)登记了。 6 制度要求
1. 某个项目的分配人员,在分配缺陷时,需要执行编辑缺陷操作,在编辑页面输入预期解决日期、原估算工作量,修改分配人。也可以在分配缺陷时,修改缺陷的其他属性。 2. 只有第二次分配(不需要输入预期工作量时),才可以使用“分配”按钮进行快速分配。 3. 如果需要将某个缺陷抄送给某人,则使用watch功能,增加一个watch人。 4. 开发人员接受缺陷,在“可选工作流程”部分点击“接受本缺陷”链接 5. 开发人员解决缺陷后,在“可选工作流程”部分点击“解决缺陷”链接 6. 开发人员每次处理缺陷时,都需要在“操作”部分的“工作日志”栏,点击“完成记录工作”链接,填写“花费时间”、“工作描述”。 7Q:在安装JIRA后,新增的数据中文显示为乱码 A:这是数据源连接数据库时出现的问题,可以修改配置数据源的xml文件上的url来useUnicode=true&characterEncoding=UTF-8解决。 也就是,如果mySQL-ds.xml是数据源配置文件,则把mySQL-ds.xml上的: <connection-url>jdbc:mysql://localhost:3306/test</connection-url> 改为: <connection-url>jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=UTF-8</connection-url> Q:如何将项目的Default Assignee由Project lead修改为component lead ,应该可以? A:进入管理界面,选择项目,在“模块”域,点击“select assignees for components”链接,在进入的页面中选择模块的自动分配的方式 Q:如何实现邮件通知的抄送功能 A:可以使用增加问题的watch人员的方式来实现该功能。为相应的用户/用户组设置Manage Watcher List权限。 Q:直接点缺陷链接,怎样能直接看到该缺陷,而不是必须先登录后可以看到该缺陷。 A:该问题有两种解决办法。第一种是设置用户组anyone的权限为:Browse Projects。第二种是在登录页面,将“保持我在这台计算机的登录”复选框选中。 8 附:缺陷跟踪流程![]() 9 附:需求变更跟踪流程![]() |
|