1 JIRA简介1.1 概要介绍JIRA的生产者把JIRA定义为Professional Issue Tracker,即它是一个专业的问题跟踪管理的软件。
这里的”问题”对应的英文单词是Issue,所以含义比较广,包括Bug,Task,Enhancement,Improvement等等跟软件开发相关的名词。
跟踪管理即对问题的整个生命周期进行记录和管理。
一个问题从创建到解决到关闭涉及到很多相关信息,包括是什么问题,谁发现的问题,谁处理了这个问题,如何处理的,相应的代码有什么改变等等,JIRA 可以方便的记录这些信息,并且在问题的不同状态呈现在相应的责任人面前。
相似的软件有Bugzilla,Trac,Mantis,Clear Quest, Streber, 等。
进行问题跟踪管理的好处是: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-closed5. 强大的自定义工作流功能,针对不同的流程节点可以定义不同的权限、字段、后续可供选择的处理方式。
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,但是状态时unsupported3. 专业性也带来了配置的复杂,建立一套完善的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" 改为mysql6. 将%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进行卸载。
安装好打开服务如下图所示,点击“启动”按钮即可启动JIRA8. 配置语言及通用选项。
JIRA第一次启动会提示你选择语言项,最好选择英语,因为中文汉化不很完善,有些链接不会显示会导致功能缺陷。
Index, attachment, backup等目录可以如下图所示来建立到此JIRA就已经全部安装好了。
3 Quick Start3.1 创建ProjectJIRA默认的管理员是admin,密码也是admin,使用这个用户登录后来创建Project。
没有project的JIRA菜单很少,如下图所示:1. 点击菜单中的ADMINISTRATION进入管理页面,点击Projects-Add Project来添加Project2. 如下图填写必填项,key这个选项填完之后就不能修改了,所以想清楚填什么值最好,并且建议填3个字母以内的缩写。
Project lead是必填的,但是这个时候只有admin一个用户,只能填admin了,增加用户后可以修改project lead为别人。
后面的选项都用默认。
最后点击Add则完成了Project的创建Project创建完成后,我们可以发现JIRA的菜单栏多了三个菜单:BROWSE PROJECT, FIND ISSUES, CREATE NEW ISSUE,功能分别是查看项目汇总统计信息,查询,创建新问题,详细使用在后面描述。
3.2 查看用户组点击Group Browser可以看到JIRA默认提供的三个Group,在Quick Start中我们用这个三个用户组就可以了。
管理Group也是通过这个界面来进行3.3 创建用户1. 如下图通过User Browser-Add User来添加User2. 下图中的Username是用户的登录名,将不能修改。
Full Name是显示名,可以进行修改3. 点Create后创建成功,如下图点击Edit Groups可以编辑用户所在的组,用户默认的组是jira-users。
4. 选择jira-developers然后点击如下图中的Join>> ,arthur将被加入jira-developers这个group5. 改变TST Project的project lead。
(Admin用户是超级管理员,最好不要在任何项目中担当角色)从ADMINISTRATION-Project进入,如下图点击Edit在Project Lead 栏输入arthur(jira 3.12.3版本系统会通过AJAX快速查询到用户进行选择)一个项目不能只有一个project lead,我们按照上述方法创建两个jira-developers的用户:Carol, Ben 创建两个jira-users用户:Chris, Mike。