1 JIRA简介
1.1 概要介绍
JIRA的生产者把JIRA定义为Professional Issue Tracker,即它是一个专业的问题跟踪管理的软件。这里的”问题”对应的英文单词是Issue,所以含义比较广,包括Bug,Task,Enhancement,Improvement等等跟软件开发相关的名词。跟踪管理即对问题的整个生命周期进行记录和管理。一个问题从创建到解决到关闭涉及到很多相关信息,包括是什么问题,谁发现的问题,谁处理了这个问题,如何处理的,相应的代码有什么改变等等,JIRA可以方便的记录这些信息,并且在问题的不同状态呈现在相应的责任人面前。相似的软件有Bugzilla,Trac,Mantis,Clear Quest, Streber,Redmine 等。
进行问题跟踪管理的好处是:
1. 让系统来记住Task,Bug等等信息,而不仅仅靠项目经理和程序员的脑袋来记忆。人脑记忆的东西往往是不准确的。
2. 问题跟踪管理可以定制流程,可以有效提高工作效率
3. 用专业的系统来进行问题跟踪管理能带来更多的好处,详细见下面JIRA的优点
1.2 JIRA的优点
JIRA有很多专业特性,不愧为介绍中说的Professional这个词。
1. 针对问题其默认定义了丰富的字段来记录问题的各种信息,包括Issue Type, Issue summary, Issue Description, priority, assignee, reporter, resolutions等等
2. 强大的自定义字段功能,自定义字段自带有22中类型可以选择,而且还可以通过JIRA Extension来支持更多类型。22种类型如下图所示:
说
3. 针对每个字段都能进行屏幕,项目,问题类型等配置,可以方便的控制字段应该出现在哪里,而不应该出现哪里。
4. 默认定义了工作流的一些状态: new, open, defer, pending, resolved, reopened, closed。 默认定义了一个简易的工作流, open-in progress-resolved-closed
5. 强大的自定义工作流功能,针对不同的流程节点可以定义不同的权限、字段、后续可供选择的处理方式。
6. 丰富的权限管理配置,可以针对项目、用户、用户组、项目角色、操作定义各种组合定义
7. 支持附件,同时针对图片附件有特别支持,可以图片附件直接在网页中显示,如下图
8. 可方便地定制查询(Filter),不同的查询可以快速找到你关注的问题。查询条件可以对绝大部分字段设定条件。
9. 用户首页可以定制,并且可以定制的查询放入首页,这样可以方便查看关注的内容。首页被定义为一个Portal,可供加入的Portlet有很多,如下图所示
10. 支持邮件通知,邮件通知可以同工作流中和工作流之外的事件关联
11. 支持Time Tracking功能,这个功能用于项目管理中的任务管理是很方便的
12. 支持CVS、SVN代码库的整合,同时支持Fisheye,这样可以让问题和代码关联
13. 自带备份机制,不用担心数据丢失。况且JIRA运行非常稳定,使用2年以来从未发生系统性故障
14. 导入导出功能很完善,可以导出为XML文件,方便将数据从不同数据库之间迁移。
15. 系统性能非常不错,在一台普通PC上,只分配了256M内存,整个系统有1000多个Issue,92个用户(同时在线使用应该有20个用户),同时还将JIRA需要的数据库安装在一起可以很流畅的运行。同时这台PC还运行了CVS,VSS等等服务。
16. 支持多种数据库,mysql, ms sqlserver, oracle等等,自带有内存数据库hsql db已经可以让JIRA运转起来。 配合MySQL已经足够应付40个人规模的项目。JIRA的数据库很简练,附件是作为文件形式存放的。
17. 支持Plugin功能,如果有什么没有实现的功能,或许通过plugin可以实现,JIRA的网站上有很多plugin来下载
18. JIRA针对开源项目是提供免费license的,所以其用户群很庞大,相应的你得到支持也是很多的,包括官方详尽的文档、Wiki,用户论坛等等
19. 更多特性有待你来发掘
1.3 JIRA的缺点
1. JIRA是个商业软件,而Bugzilla、Mantis是开源免费的
2. 对clear case没有官方支持,有一个plugin,但是状态时unsupported
3. 专业性也带来了配置的复杂,建立一套完善的custom fields, workflow, permission scheme并不是一件容易的事情
2 JIRA的安装
JIRA是一个Java Web Application, 自带的web server是Tomcat,所以熟悉J2EE开发的人来安装JIRA应该是轻车熟路的。JIRA 3.12版本之后已经提供windows installer形式的安装包,安装起来也变得很简单。以下介绍以windows安装包的形式来介绍
2.1 安装步骤
JIRA提供stanalone, war包,installer等的安装方式,以下安装以最简单的installer来介绍
1. 下载Windows installer, Atlassian的网站提供下载。安装包有56M,这个包已经包括了JRE和Tomcat,所以可见JIRA的安装文件并不肥大。
2. 双击EXE文件开始安装,安装路径可以任意选择。
3. 安装向导结束后双击%JIRA_HOME%/bin/startup.bat可以启动JIRA,通过http://localhost:8080 访问JIRA应用,如果成功打开了页面则表明安装成功
2.2 安装配置
1. 安装数据库,自带的hsqldb是不赞成使用的,我们以mysql为例进行配置。首先安装mysql,安装过程见相关文档,一般不需要有特殊选项
2. 建立数据库,用root用户登录mysql,创建一个名为jira的数据库(数据库名可以任意),字符集用如下图的选项:
3. 建立数据库用户,如下图所示,如果数据库和JIRA在同一台机器,主机那栏填localhost
并将jira数据库的所有权限赋予给jira用户(JIRA初始化数据库时需要比较大的权限)
4. 下载mysql jdbc driver的jar包,并放入%JIRA_HOME%/common/lib目录。Mysql的jdbc驱动有很多版本,请下载适合你的mysql server的最新驱动,不然会产生一些意料不到的问题。
5. 将%JIRA_HOME%/atlassian-jira\WEB-INF\classes\entityengine.xml中的datasource name="defaultDS" field-type-name="hsqldb" 改为mysql
6. 将%JIRA_HOME%/conf/server.xml中的jdbc/JiraDS 修改为如下形式
<Resource name="jdbc/JiraDS" auth="Container" type="javax.sql.DataSource"
username="jira"
password="jira"
driverClassName="com.mysql.jdbc.Driver"
url="jdbc:mysql://localhost/jira?autoReconnect=true&useUnicode=true&characterEncoding=UTF8"
maxActive="20" />
7. 将JIRA安装为NT服务。在CMD窗口运行bin/service.bat install即可安装,service.bat remove进行卸载。安装好打开服务如下图所示,点击“启动”按钮即可启动JIRA
8. 配置语言及通用选项。JIRA第一次启动会提示你选择语言项,最好选择英语,因为中文汉化不很完善,有些链接不会显示会导致功能缺陷。Index, backup等目录可以如下图所示来建立
到此JIRA就已经全部安装好了。
3 JIRA,FISHEYE的迁移
3.1 迁移步骤
1. 若是使用非JIRA自带的默认数据库的话,则需要把数据导出,然后重新创建一个相同名字的数据库即可,若不创建相同名字的数据库则需要修改%JIRA_HOME%/conf/server.xml配置文件。若是使用默认的数据库的话,则只需要把JIRA的默认使用的(原来jira的安装路径D:\JIRA-Enterprise-3.13.4)这个路径下的database目录conf目录覆盖新安装后的JIRA-Enterprise-3.13.4的database和conf的目录中的文件即可,
2. 把原 系统上的jira的备份文件jiraback文件和jira索引文件jiraindex覆盖掉到目标系统新安装的jiraback和jiraindex目录文件即可
3. 把原安装jira系统环境下JIRA-Enterprise-3.13.4\atlassian-jira\WEB-INF\lib目录下面的文件备份出来,然后覆盖掉新安装的JIRA的目录eg:D:\Program Files\JIRA-Enterprise-3.13.4\atlassian-jira\WEB-INF\lib目录下面的所有文件
4. 把原Fisheye备份出来,然后复制到要迁移环境的路径下。
3.2 迁移配置
1. 修改fisheye-jira-plugin.properties文件把fisheye.url=http://localhost:8060修改成安装后的地址
2. 用超级管理员默认用户名admin,密码admin登录系统点击”管理”,然后点击“FisheyeConfiguration”,然后点击页面下面的”edit”按钮修改fisheye URL,API URL信息
4 Quick Start
4.1 创建Project
JIRA默认的管理员是admin,密码也是admin,使用这个用户登录后来创建Project。没有project的JIRA菜单很少,如下图所示:
1. 点击菜单中的ADMINISTRATION进入管理页面,点击Projects-Add Project来添加Project
2. 如下图填写必填项,key这个选项填完之后就不能修改了,所以想清楚填什么值最好,并且建议填3个字母以内的缩写。Project lead是必填的,但是这个时候只有admin一个用户,只能填admin了,增加用户后可以修改project lead为别人。后面的选项都用默认。最后点击Add则完成了Project的创建
Project创建完成后,我们可以发现JIRA的菜单栏多了三个菜单:BROWSE PROJECT, FIND ISSUES, CREATE NEW ISSUE,功能分别是查看项目汇总统计信息,查询,创建新问题,详细使用在后面描述。
4.2 创建项目版本
1:用管理员登陆JIRA系统,点击管理可以看到下面的界面
2:点击”项目”,然后点击“名称”为sibas说的超级链接进入如下的界面
3:点击Manager可以进入如下的界面进行版本的创建
4.3 查看用户组
点击Group Browser可以看到JIRA默认提供的三个Group,在Quick Start中我们用这个三个用户组就可以了。管理Group也是通过这个界面来进行
4.4 创建用户
1. 如下图通过User Browser-Add User来添加User
2. 下图中的Username是用户的登录名,将不能修改。Full Name是显示名,可以进行修改
3. 点Create后创建成功,如下图
点击Edit Groups可以编辑用户所在的组,用户默认的组是jira-users。
4. 选择jira-developers然后点击如下图中的Join>> ,arthur将被加入jira-developers这个group
5. 改变sibas的project lead。(Admin用户是超级管理员,最好不要在任何项目中担当角色)
从项目进入,如下图点击编辑
在项目负责人栏选择项目负责人(jira 3.13.4版本系统会通过AJAX快速查询到用户进行选择)
一个项目不能只有一个project lead,我们按照上述方法创建两个jira-developers的用户:Carol, Ben 创建两个jira-users用户:Chris, Mike。 Jira-developers组是开发人员,职责是解决问题,jira-users组是测试组,职责是发现问题并创建问题测试问题
4.5 创建问题
用admin这个用户登录JIRA,点击CREATE NEW ISSUE进行问题创建。如下图,这个界面中有两个下拉框可以选择,Project中因为只有一个项目,所以没得选择,问题类型有四个选项
Bug: 软件中的缺陷
New Feature: 需求之外增加的新功能
Task: 计划中的任务
Improvement:针对已经实现的功能的改进
我们选择Task,创建一个任务:Project Lead分配一个任务给lgd,内容是让lgd修改bug。如下填写信息:
Summary中填写概要信息,详细信息填写在Description中,比如错误日志、详细需求等等
Due Date是指何时需要完成
Assignee填写指派人
Components和Version的信息目前都是version1
Environment一般填写Bug发生的环境,Bug往往是因为其环境有特殊性而导致
Priority默认有5个选项:
从图标可以看出其代表不同的优先级
点击Create进行创建,之后可以看到如下图的结果:
JIRA系统自动分配了一个Issue Key :ZHJF-15这个Key是唯一标识issue的编号,其他信息如图所示
4.6 处理问题
lgd登录JIRA后在她的首页可以看到如下信息:
可以看到右边的Assigned To Me列表中有一条记录,这表示是需要处理的Issue,点击ZHJF-15的链接进入如下界面:
可选工作流程中的链接是不同处理问题的步骤,在开始解决问题之前,lgd应该点‘开始进行’,之后ZHJF-15的status变为正在进行状态, 当处理完成后,她就应该点击解决问题,之后进入如下界面:
Resolution有如下选项:
Fixed:已经解决
Cannot Reproduce:问题无法重现
Won’t Fix:无法解决
Incomplete:未完成,未完成还还能叫做Resolved?
Duplicate:重复问题,选择这个的时候最好在Comment中写上重复的Issue KEY
Assignee填确认这个问题是否解决的人,一般填问题创建者
点击解决问题之后Issue状态变成了已经解决
用lgd登陆JIRA,在Quick Search中输入ZHJF-15可以快速找到ZHJF-15这个问题,经过严格测试之后可以确认问题已经解决,则可以选择关闭问题。
在可选工作流程中点击关闭问题,在下一个界面填写Comment,之后Issue status变成了Closed,到此问题处理结束。
当然如果这个问题经过测试再次发生问题,可以选择Reopen Issue(恢复开启), Reopened的问题后续处理同open状态的问题是一致的。
5 定制你的JIRA(For Users)
5.1 JIRA操作界面介绍
1. 下图是首页界面介绍(点击菜单栏中的HOME进入)
注:快速搜索是一个非常有用的框框:
1) 输入issue Key可以迅速打开这个issue,比如输入PR-10,则可以转入到PR-10的明细页面
2) 当你已经工作在某个Project时,你只要在快速搜索框中输入issue Key的序号,即可完成1)中的功能,即输入10然后按回车既有PR-10的效果
3) 输入非issue Key或非数字的字符等同于Filter中在Text Search中输入了特定的字符进行搜索
2. BROWSE PROJECT界面
3. FIND ISSUES界面
4. Issue Detail界面
通过点击issue Key进入,或者其他链接进入
5. ADMINISTRATION界面介绍
最多菜单链接的一个界面,在后面章节中会有针对大多配置对应链接的说明。
5.2 修改个人信息
JIRA中的个人信息包括:密码、姓名、Email、Filter、preference、Dashboard、Column Navigator等。
通过JIRA主面板上的‘管理’连接,然后点击User Browser连接,进入后的界面如下图所示:
然后再用户名列点击lgd用户名进入lgd用户的详细信息设置,进入下图界面来进行用户的设置信息
其中View Public Profile可以查看用户的信息,Set Password可以设置用户的密码,Delete User可以删除用户。
5.3 定制Portal(Dashboard)
JIRA将它的首页定义为Portal,定制Portal即定制自己的JIRA首页。通过Manage Portal进入定制界面,如下图所示的链接:(通过个人信息中的Dashboard Config链接也可以进入)
进入的配置界面如下图所示:
其中Full configure可以修改当前的配置,Add New Portal Page可以增加一个portal 页面,我们通过Add New Portal Page来举例,Name中输入My Page, Start From选择Dashboard,然后点击Add按钮,之后可以得到如下图所示的效果:
点击其中的Full configure可以进行My Page的配置,如下图所示:
定制的界面分为左右两边,点击Add按钮增加内容,Edit、Copy、Delete、上下左右箭头按钮顾名思义。
我们点击Add按钮,准备在My Page上增加一个Project statistics,如下图来操作:
Project Statistics还有下一个屏幕来提供选项,如下图所示:
我们选择需要添加的项目,统计类型我们关注的是状态,选择Status,第三个选项是已经解决的问题是不是要统计出来,之后点击Save,则将Project Statistics这个portlet加入到了left column,我们要让它显示在右边,选中它点击向右箭头按钮即可。
然后回到首页,我们可以看到如下的效果:
Portlet有很多选项,我认为最有用的应该是Show Saved Filter,你可以首先定制好自己的Filter,然后把它加入到首页中,这样自己关注的issues就可以一目了然的看到了。
注:
JIRA管理员通过同样的方法来设置Default Dashboard,操作入口是:ADMINISTRATION-Default Dashboard