jira 入门

转自: http://blog.youkuaiyun.com/shutingwang/article/details/6943867

在用, 一直不了解jira, 看到这样一篇介绍详细的美文, 一定要记下,呵呵

·  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-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&amp;useUnicode=true&amp;characterEncoding=UTF8"  

·             maxActive="20" />  

·  7. 将JIRA安装为NT服务。在CMD窗口运行bin/service.bat install即可安装,service.bat remove进行卸载。安装好打开服务如下图所示,点击“启动”按钮即可启动JIRA  

·   

·  8. 配置语言及通用选项。JIRA第一次启动会提示你选择语言项,最好选择英语,因为中文汉化不很完善,有些链接不会显示会导致功能缺陷。Index, attachment, backup等目录可以如下图所示来建立  

·   

·  到此JIRA就已经全部安装好了。  

·  3 Quick Start  

·  3.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,功能分别是查看项目汇总统计信息,查询,创建新问题,详细使用在后面描述。  

·  3.2 查看用户组  

·  点击Group Browser可以看到JIRA默认提供的三个Group,在Quick Start中我们用这个三个用户组就可以了。管理Group也是通过这个界面来进行  

·   

·  3.3 创建用户  

·  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. 改变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。 Jira-developers组是开发人员,职责是解决问题,jira-users组是测试组,职责是发现问题并创建问题测试问题  

·  3.4 创建Issue  

·  用arthur这个用户登录JIRA,点击CREATE NEW ISSUE进行问题创建。如下图,这个界面中有两个下拉框可以选择,Project中因为只有一个项目,所以没得选择,Issue Type有四个选项  

·  Bug: 软件中的缺陷  

·  New Feature: 需求之外增加的新功能  

·  Task: 计划中的任务  

·  Improvement:针对已经实现的功能的改进  

·    

·  我们选择Task,创建一个任务:Project Lead分配一个任务给Carol,内容是让Carol来做8月14日的早餐。如下填写信息:  

·  Summary中填写概要信息,详细信息填写在 Description中,比如错误日志、详细需求等等  

·  Due Date是指何时需要完成  

·  Assignee填写指派人  

·  Components 和Version的信息目前都是Unknown,因为针对Test Project我们没有配置这两个信息  

·  Environment一般填写 Bug发生的环境,Bug往往是因为其环境有特殊性而导致  

·  Priority默认有5个选项:  

·   

·  从图标可以看出其代表不同的优先级  

·   

·  点击Create进行创建,之后可以看到如下图的结果:  

·  JIRA系统自动分配了一个Issue Key :TST-1,这个Key是唯一标识issue的编号,其他信息如图所示  

·    

·  3.5 处理Issue  

·  Carol登录JIRA后在她的首页可以看到如下信息:  

·    

·  可以看到右边的Assigned To Me列表中有一条记录,这表示是需要处理的Issue,点击TST-1的链接进入如下界面:  

·    

·  Available Workflow Actions中的链接是不同处理Issue的步骤,在开始做早餐之前,Carol应该点击Start Progress,之后TST-1的status变为 In progress, 半小时后Carol做完了早餐,她就应该点击Resolve Issue,之后进入如下界面:  

·    

·  Resolution有如下选项:  

·  Fixed:已经解决  

·  Cannot Reproduce:问题无法重现  

·  Won’t Fix:无法解决  

·  Incomplete:未完成,未完成还还能叫做Resolved?  

·  Duplicate:重复问题,选择这个的时候最好在Comment中写上重复的Issue KEY  

·  Assignee填确认这个问题是否解决的人,一般填问题创建者  

·  点击Resolve之后Issue状态变成了Resolved  

·  用arthur登陆JIRA,在 Quick Search中输入TST-1可以快速找到TST-1这个Issue,经过严格测试之后可以确认问题已经解决,则可以选择Close Issue。  

·  在Available Workflow Actions点击Close Issue,在下一个界面填写Comment,之后Issue status变成了Closed,到此Issue处理结束。  

·  当然如果这个 Issue经过测试再次发生问题,可以选择Reopen Issue, Reopened的Issue后续处理同open状态的issue是一致的。  

·  4 定制你的JIRA(For Users)  

· 4.1 JIRA操作界面介绍  

·  1. 下图是首页界面介绍(点击菜单栏中的HOME进入)  

·    

·  注:QUICK SEARCH是一个非常有用的框框:  

·  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界面介绍  

·  最多菜单链接的一个界面,在后面章节中会有针对大多配置对应链接的说明。  

·    

·  4.2 修改个人信息  

·  JIRA中的个人信息包括:密码、姓名、Email、 Filter、preference、Dashboard、Column Navigator等。  

·  通过JIRA右上部的Profile链接进入设置,进入后的界面如下图所示:  

·    

·    

·  其中Preferences可定制的选项包括浏览时每页最大issues数目,语言选项,Email格式。如果系统默认的语言是英文,你想把自己的界面改成中文,则可以通过这个地方将Locale改为中文即可  

·  4.3 定制Filter  

·  Filter可以理解为过滤器、定制查询,即将一组查询条件保存起来。通过菜单栏中的FIND ISSUES进入  

·  我们以建立“最近一周解决或者关闭的问题”为例来建立一个filter:  

·  1. 在Project中选择目标项目,选择项目之后会得到一个如下的提示  

·    

·  改变了所选的Project,其对应的versions, components, custom fields都是可能不一致的,所以需要点击Click here这个链接来更新这些信息  

·  2. 在Issue Attributes中的Status选择Resolved和Closed(选择第二个值按住Ctrl再点击)  

·  3. 在Dates and Times中的updated: From中填上-1w (-1w表示一周以来,类似的符号有d天,h小时,m分钟,2h 30m表示2小时30分,注意两个时间之间有个空格)  

·  4. 点击View即可查询出满足以上条件的Issues,我们希望按照Update time来倒序排列这些issues,点击Updated那列的标题即可倒序排列,再点击一次会变成顺序排列,想按照其他字段来排序也是类似的操作。  

·  5. 如果确认查询出的issues已经是所想要的,剩下一步就是将这些条件保存为一个filter,点击Save it as a filter,如下图所示  

·   

·  填上filter名字,点击Save之后可以通过下图中的Summary看到刚才填写的条件概况  

·   

·  6. 通过Share链接还可以将这个Filter共享给其他人或者其他用户组  

·  4.4 定制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  

·  4.5 定制Navigator Columns  

·  点 击某个Filter进行issue查询,查询列表中的显示字段可以进行定制,可供的选项有:增加字段、减少字段、编排字段先后顺序。JIRA默认的字段包 括: T,Key,Summary,Assignee,Reporter,Pr,Status,Res,Created,Updated,Due ,其中 T是issue type, Pr是Priority, Due是Due date。默认的排序是按照Key倒序排列。  

·  通过列表上方的 Configure链接来进行定制,如下图:  

·  进入后的界面如下图:  

·    

·  注:  

·  JIRA管理员通过同样的方法来设置 Navigator Columns,操作入口是:ADMINISTRATION-Navigator Columns  

·    

·  4.6 导出、打印Issues  

·  JIRA在列表和明细界面提供了导出Word、导出Excel、打印页面的功能  

·  1. 列表操作  

·   

·  在查询列表页面中如上图提供了一系列的操作,其中  

·  Printable链接提供一个便于打印的简洁HTML页面,如下图  

·    

·  Full Content链接提供了一个便于打印的所有issues明细的HTML页面,如下图  

·    

·  Word链接可以将所有issues明细导出成 word文档  

·  Excel后面的两个链接:All fields导出所有字段为Excel,Current Fields导出当前字段为Excel  

·  2. Issue明细操作  

·  操作链接在Issue Detail中,功能与明细中的Word和Printable链接是一样的,如下图:  

·    

·    

·  4.7 制作报表  

·  报表制作通过 BROWSE PROJECT界面中的Report下的Single Level Group By Report链接进入,如下图:  

·   

·  进入制作报表界面后,可以选择不同的Filter和不同的统计类型进行报表显示,如下图:  

·   

·  制作完的报表如下图所示:  

·    

·  5 让你的JIRA更专业(For Administrator)  

·  5.1 常用配置  

·  5.1.1 Users, Groups & Roles  

·  用 户和用户组已经在Quick Start中描述过。Project Role Browser中可以定制项目角色,JIRA提供的三种用户角色略显不够,一般的项目包括project managers, team leaders, developers, testers,不妨按照这个思路来添加项目角色。项目角色添加好之后可以通过Permission Scheme来对角色分配不同的权限  

·  5.1.2 Global Settings  

·  ? General Configuration  

·  这个配置界面有很多项目可以配置,每个项目JIRA都有说明,需要解释的有:  

·  1. Base URL,这个选项很有必要设置正确,JIRA会对描述、comments中的Issue KEY自动加上链接,如果Base URL不正确,所有的链接都将是错误的  

·  2. Indexing language,这个选项默认是English,在Character encoding是UTF-8的情况下,indexing language是English也没有影响,即使你在创建issue时使用了中文,也能建立索引  

· 3. Default language,安装好JIRA后第一次进入JIRA选择语言后可以通过这个地方来修改,正如之前说的,最好选择成英文。  

· 4. Options里面的选项没有特别要求使用默认设置即可  

·  ? Global Permissions  

·  这里的权限和项目中的权限是不同的,项目中的权限指的是创建issue、编辑issue等等,这里的权限是一些管理权限、创建filter的权限等与项目无关的权限  

·  ? Look and Feel  

·  这个地方可以打造你的JIRA的外观,包括配色、Logo、日期格式  

·  ? Mail Servers  

·  配置邮件服务器,可以配置SMTP或者JNDI  

·  5.1.3 Issue Settings  

·  可以在ADMINISTRATION- Issue Settings中进行以下项目的配置:  

·  Issue Types  

·  Priority  

·  Resolutions  

·  Statuses  

·  JIRA提供两种配置:翻译和编辑这些resolution。翻译可以适应多语言环境。编辑可以改变字段属性、排序位置、默认值、增删字段值等。这四个字段的配置都是类似的方法,参见JIRA提供界面应该不存在难度,以下列出配置中需要注意之处  

·  ? 配置Issue Types  

·  系 统自带的Issue Type包括:Bug, Task, Improvement, New Feature, sub-task .如果需要增加自己的问题类型,下面的Issue Types中进行配置。按照界面进行添加、编辑Issue Type,没什么特别。  

·  但如果想删除已经添加好的Issue Type可能会碰到一些麻烦,当该Issue Type下存在issue的时候是不能删除这个Issue Type的。有两种办法来删除这个Issue Type  

·  1. 编辑相应的Issue,将Issue Type改成其他不删除的Issue Type。当Issue被close之后将不能被编辑,所以这种方法存在限制。  

·  2. 改变相应Project的Issue Type Scheme,这个scheme必须不包含待删除的Issue Type,在改变scheme的时候可能会报错,如下图所示:  

·    

·  这是因为操作用户没有权限,应该在Project Permission中增加move issue的权限给操作用户。之后按照向导进行操作即可。  

·  ? 配置Resolutions  

·  通过ADMINISTRATION-Issue Settings中的Resolutions进行设置。  

·  JIRA 默认的Resolutions包括:  

·  1. Fixed  

·  2. Won't Fix  

·  3. Duplicate  

·  4. Incomplete  

·  5. Cannot Reproduce  

·  基本上这五种解决办法已经足够了。  

·  注意:  

·  Resolution 这 个字段被JIRA默认的几个filter做了引用,所以千万不要自定义一个字段也叫Resolution,同时又把系统自带的Resolutions字段 屏蔽!这些filter包括open issues, OUTSTANDING, filter中的条件都是Resolution为 UNRESOLVED,这个UNRESOLVED的含义是Resolution字段没有设置任何值或者 Issue Status为非Resolved和 非Closed,所以当一个Issue状态为Resolved,即使它的Resolution为Won’t Fix,它也不会出现在 open issues里面,即无法解决也是一种解决办法…  

·  ? 配置Priority  

·  Priority的颜色、图标都是可以修改的,最常用的Major级别的颜色是绿色,不妨修改为警告色黄色可以引起更多的重视  

·  ? 配置Statuses  

·  这个字段是供workflow使用的一个字段,当在做工作流配置时如果觉得状态不够,那在这里添加即可。状态可以关联Icon可以让查看issue时更直观,JIRA提供了17个图标,足够来挑选了。  

·  5.1.4 Options & Settings  

·  1. Send E-mail  

·  可以通过这个功能给某个用户组或者某个项目的特定项目角色发送Email  

·  2. Announcement Banner  

·  这个地方可以设置一个横幅在JIRA菜单栏下面,可以写上重要的使用说明、通知等等,支持HTML  

·  5.2 自定义工作流  

·  配置工作流之前请先定好Issue有哪些状态,状态的配置见常用配置--Issue Settings部分。  

·  工作流配置从 ADMINISTRATION-General Settings-Workflows进入,系统默认有一个叫做jira的工作流,这个工作 流是只读的不能修改。但是可以以此为蓝本来建立工作流,通过 Operations中Copy链接即复制了一个一样的工作流。点击 Operations--steps进入步骤的设置,进入的界面如下图所示:  

·    

·  从图中看Open step,Linked Status表示执行完这个step后,issue的状态会变成Open,Transitions表示对于Open状态的issue可以执行的操作,Operations是设置时用到的链接。  

·  下面以几个例子来说明如何配置工作流:  

·  1. 我们认为Open状态的issue不能有Resolve Issue这个Transition,所以准备把它删除,点击Delete Transitions,之后在多选框中选择Resolve Issue,删除即可。  

·  2. 对 于Open状态的issues,Start Progress这个操作我们想控制它的权限,只有开发人员才能执行这个操作。通过点击 Start Progress这个链接进入设置,我们看到在Conditions这个Tab中已经存在一个条件,含义是“只有assignee才能执行这个操作”,这个condition是合理的,保留。  

·    

·  我 们通过点击Add链接来增加另外一个condition,之后会得到一个列表来选择 condition的类型,开发人员才能执行同 Project role比较接近,选择User is in Project Role。其实选择User is in group 然后配置一个开发 人员组也是可以达到同样的效果。  

·    

·  在下一屏中选择 Developers这个Project Role,添加完我们可以看到如下图所示的Conditions  

·    

·  JIRA默认将增加的 condition用AND来连接,如果需要也可以将条件用OR来连接。  

·  熟悉以上操作后,通过Add New Step,调整每个step关联的status就可以实现复杂的自定义工作流。  

·  工 作流定义好之后,还需要定义workflow scheme,这个工作流才能被项目引用。通过ADMINISTRATION-Schemes-Workflow Schemes进入配置界面,先增加一个scheme,然后在Operations中的Workflows链接中关联 workflow。JIRA在 workflow之外再包装一层scheme的意义在于可以针对不同的issue type使用不同的工作流,如下图。  

·    

·  为了简洁起见,我们一般选择All unassigned Issue Types对应一个工作流。  

·  定义好workflow scheme之后才能被特定的Project所使用,通过ADMINISTRATION—Projects,选择需要配置的Project进行配置,如下图:  

·    

·  在Workflow Scheme中点击Select进行scheme的选择。在Associate的时候会得到一个警告:  

·   

·  针对已经存在issues的project,修改工作流可能会引起状态等信息的丢失,所以最好先做好JIRA数据的备份以免发生意外。(我修改过1000个 issues的project的工作流,JIRA可以很好的处理,不用因为有警告而太紧张,不过事先备份是必须的操作)  

·  另外Project配置界面有很多scheme可配置,方法是类似的,后面不再详细描述。可以配置的scheme包括:  

·  Issue Type Scheme  

·  Notification Scheme  

·  Permission Scheme  

·  Issue Security Scheme  

·  Field Configuration Scheme  

· Issue Type Screen Scheme  

·  Workflow Scheme  

·  5.3 自定义权限  

·  JIRA中的权限包括两部分:Global Permission和Project Permission,前者已经描述,配置也相对简单。本节描述的是后者。  

·  通 过ADMINISTRATION—Schemes— Permission Schemes进入配置。系统定义了一个 Default Permission Scheme,并且这个scheme中的权限是可以直接进行修改的,点击Operations— permissions进行修改。JIRA将权限分细项列表在配置界面中,通过Operations中Add链接或者页面上方的 Grant Permission进行权限增加,通过Delete链接删除赋予给特定对象的权限。  

·  5.4 自定义字段  

·  通 过 ADMINISTRATION—Issue Fields—Custom Fields进行配置,点击Add Custom Field进行字段添 加,再下一步是选择字段的类型,常见的字符型、数字型、日期型、下拉框、双重下拉框、多选框、单选按钮等等JIRA都支持。  

·  我们选择Text Field (< 255 characters)做个测试,之后天上字段名称、字段描述。Search Template表示该字段使用的搜索类型,如果选择None,这个字段将不会出现在 Find Issues里面的查询条件中,即对该字段将不能进行查询。后面还有两个选项:issue types,projects,目的是让这个自定义 的字段出现在特定的issue type和特定的项目中。点击Finish之后会得到如下屏幕:  

·   

·  这个设置屏幕是将添加好的自定义字段加入到特定的界面中,选择需要显示该字段的界面点击update即可完成设置。设置完得到如下界面:  

·    

·  Configure 链接可以进行issue types, projects设置,Edit可以进行字段名称和search template修改,Screens可以对字段出现的界面进行配置。  

·  注意:  

·  1. 定义好的字段是不能修改字段类型的!  

·  2. Text Field类型存在一个Bug,如果对该字段填值都是数字,比如输入300,之后通过Filter来搜索issue将会失败,但是如果输入L300, 然后通过L300来搜索是可以搜索到相应issue。  

·  5.5 自定义界面(Screen)  

·  通过ADMINISTRATION— Issue Fields—Screens进行配置,系统自带有三个Screen,通过Operations中的Configure可以进入配置界面,在这个界面中可以进行字段的增删、字段顺序的排列。  

·  5.6 自定义事件通知  

·  通过ADMINISTRATION—Schemes— Notification Schemes进行配置,系统默认的通知策略是当任意事件发生时都会通知Reporter、Assignee和Watchers。  

·  5.7 和代码库(SVN,CVS)关联  

·  在 测试过程中tester提交了一个bug,developer解决了这个bug,同时提交了几个java类,如果你想看到针对这个bug项目里面的代码做 了哪些修改,jira-subversion plugin就发挥作用了。安装好subversion plugin之后,只需要developer在做 svn commit的时候在comments里面写上jira id,在jira的subversion tab里面就会显示这个comments和这 次提交的文件。  

·    

·  注:  

·  目前最新的 atlassian-jira-subversion-plugin-0.10.3 不支持svn 1.5,不过通过升级svnkit到1.1.8以上版本就能解决这个问题  

·  5.8 和Fisheye关联  

·  而jira fisheye plugin则是将fisheye的功能集成到jira中,同时也是随jira id来显示版本的变更记录:  

·    

·  Fisheye plugin配置时,记得在fisheye管理界面中把Remote API设置成ON,要不然plugin连不上fisheye的!  

·  5.9 Sub-tasks  

·  通过Global Settings—Sub-tasks来开通这个功能  

·  5.10 Time tracking  

·  通过Global Settings—Sub-tasks来开通这个功能,其中对一周几天,一天几个小时需要先定义好。  

·    

·  JIRA的网站也有一个描述:Project Management Tool,用JIRA实现项目管理最重要的是开通Time tracking功能。  

·  Activate Time tracking功能之后在创建issue时多了一个字段:  

·    

·  这个字段的含义是预估完成这个任务所需要的时间。  

·  同时在处理issue时,多了一个操作:Worklog,如下图所示  

·    

·  点击其中的Log work done进行工作日志的记录:  

·    

·  记录之后在issue detail界面的work log Tab可以看到记录:  

·    

·  开通Time Tracking之后,JIRA还提供了一个Time Tracking Report  

·    

·  报表如下图所示:  

·   

·  JIRA完全以时间来确定工作的进度,这种算法还得好好适应一下。  

·  5.11 备份、导入导出  

·  备份通过Import & Export-- Backup Data to XML来操作,导出路径写服务器上的绝对路径,Backup As Zip这个复选框选上则会将XML文件压缩成一个zip包。  

·  导入则通过Restore Data from XML来操作,导入的文件可以是XML,也可以是zip。  

·  JIRA的导入导出都是基于XML格式,与数据库平台无关,这也十分方便系统迁移。  

·  同时JIRA还提供了定时的备份机制,通过ADMINISTRATION—System—Services可以看到这个后台的服务:  

·   

·  JIRA 默认会在每12个小时进行系统备份一次,其数据安全还是很有保障的。  

·  5.12 系统优化  

· 1. NT 服务修改JVM内存大小  

·  修改%JIRA_HOME%/bin/service.bat文件中的:  

· "%EXECUTABLE%" //US//%SERVICE_NAME% ++JvmOptions "-Djava.io.tmpdir=%CATALINA_BASE%\temp" --JvmMs 256 --JvmMx 512 --Startup auto  

·  其中-JvmMs是最小内存数,-JvmMx是最大内存数,一般最小256,最大512足够了。修改完后执行  

· service.bat remove 将原有的NT 服务删除(如果JIRA服务处于启动状态先停止服务)  

·  service.bat  install 安装新的NT服务  

·  启动新的服务即生效了  

·  2. 非NT服务修改JVM内存大小  

·  修改%JIRA_HOME%/bin下面的 setenv.bat文件,修改JAVA_OPTS这个环境变量  

·  set JAVA_OPTS=%JAVA_OPTS% -Xms256m -Xmx512m -Datlassian.standalone=JIRA -Dorg.apache.jasper.runtime.BodyContentImpl.LIMIT_BUFFER=true  

·  其中 -Xms256m表示最小内存,-Xmx512m表示最大内存  

·  3. 让JVM进行garbage collection  

·  如果在使用 JIRA时感到打开页面明显变慢,可能的原因是JVM内存吃紧,可以考虑进行手动garbage collection,操作如下  

·  进入 Administration-System Info,在Java VM Memory Statistics这栏可以看到如下图所示信息:  

·    

·  如果Memory Graph中显示20% Free,甚至更低,点击右边的Force garbage collection后你会得到更到free的内存,一般来说之后打开页面会变快一些。  

·  6 JIRA需要改进的地方  

·  1. 上传附件时可以填一个comment,但是这个comment和普通的comment是没有任何区别的,它并不会和你上传的这个附件进行关联。当你想对这个附件加一些描述的时候,你只能在comment里面指明附件名称,这样才能手工关联附件和comment。  

·  2. Redmine的Calendar是一个非常不错的设计,将每一天的工作可以一目了然的区分开来,虽然在JIRA中也可以通过filter来实现,但还是不够直观,redmine的calendar样子见图:  

·    

·  当然这个calendar结合到JIRA中可以好好改善改善,比如加上My Calendar只显示自己的活动,特定Group的Calendar,特定Project的Calendar等等。  

·  3. 关于comments在Redmine中有一个reply的功能,这个功能也是个不错的设计,JIRA中的comments是没有关联的,只能通过自己通过其中的含义来关联,不过一般来说这也足够了。  

·  4. 在work log中可以加上一个如TodoList中% complete字段,当问题的% complete达到100%时才算完成,而不是时间达到estimate的时间才算完成,其实JIRA的time tracking计算任务的进度算法真是太没道理了,需要大大的改进。


JIRA入门到精通》,doc 格式,大小 2.9MB。图文并茂,手把手教你学习 JIRA。 内容预览: JIRA入门到精通 ——hjjlearning,2008.06.27 第一章、 JIRA介绍 跟踪并管理在项目开发和维护过程中出现的问题(如:缺陷,新特性,任务,改进等)是项目管理很重要的任务,但是很少有团队能做的很好。JIRA作为一个专业的问题跟踪系统可以帮助您把缺陷管理起来,让跟踪和管理在项目中发现的问题变得简单,而且充分利用JIRA的灵活配置和扩展性,可以将JIRA作为一个项目管理系统或者IT支持系统。 JIRA特性 1、 管理缺陷,新特性,任务,改进或者其他任何问题 2、 人性化使用的用户界面 3、 灵活的工作流定制 4、 全文搜索和强大的过滤器 5、 企业级的权限和安全控制 6、 非常灵活的邮件通知配置 7、 可以创建子任务 8、 方便的扩展及与其他系统集成:包括email、LDAP和源码控制工具等 9、 丰富的插件库 10、 项目类别和组件/模块管理 11、 可以在几乎所有硬件,操作系统和数据库平台运行 JIRA角色: JIRA作为一个缺陷跟踪管理系统,可以被企业管理人员,项目管理人员,开发人员,分析人员,测试人员和其他人员所广泛使用。 1、 管理人员: 根据JIRA系统提供的数据,更加准确地了解项目的开发质量和状态,以及整个团队的工作效率 2、 项目管理者 可以针对登记进JIRA系统中问题,进行评估,分配缺陷;还可以通过JIRA系统的统计报告了解项目进展情况以及团队的工作量,工作效率等信息。 3、 开发人员 在JIRA系统中查看分配给自己的问题,及时进行处理,填写处理情况并提交工作量记录。 4、 测试人员 根据测试情况,在JIRA系统中及时快速的记录问题并对开发人员处理后的问题进行验证和跟踪。 第二章、 JIRA安装 JIRA是一个简单易用的Issue管理和跟踪的工具,运行在JAVA平台上。下载和安装都很容易,按照安装文档,只需要十几分钟就可以搞定,而且还可以为JIRA配置单独的外包数据库(可以使用的数据库有MySQL、MS SQL、Oracle等)。 安装好之后就首先要在服务器上通过http://localhost:8080来对服务进行配置(8080是jira的缺省端口)。具体经过三个配置步骤就完成了: 第一个步骤是配置JIRA系统的属性: 第二步骤是配置JIRA系统管理员的信息: 第三步是配置JIRA系统的邮件通知参数 第三章、 JIRA管理使用 一、 Projects:项目 1、Projects—> Projects点击进入到项目列表,点击ADD Project后输入项目名称(name),关键字(key),选择开发项目负责人(lead Developer),填写描述(Description),通知计划(Notification Scheme),许可计划(Permission Scheme:)和问题安全策略(Issue Security Scheme)如图所示: 2、Project Categories点击进入到项目类别,如下图所示,填入新项目类别名称和描述。 二、 Users&Groups 1、 User Browser:用户管理,在页面中可以看到所有注册的用户,可以根据条件查询特定注册用户。如下图: 单击“Add User”,添加新用户,输入相关用户名,密码,邮箱等,如下图: 点击create后,可以设置注册用户的权限组,修改用户信息,或更新用户密码,删除用户等操作。如图: 单击Edit Groups可以把注册用户加入到其他相关的组中 2、 Group Browser:组管理,管理员可以自己添加相应的组然后进行权限,注册用户配置。 三、 Global Settings 1、 附件设置: Global Settings—>Attachments,点击图中的Edit Configuration进行附件的相关设置。 2、 首页面板设置: Global Settings—>Defalut Dashboard,可以进入系统默认的面板进行设置。 (1) 单击“增加”可以在左侧或右侧面板中增加想要显示的栏目: (2) ⑵选中某个栏目,单击“修改”可以修改其设置; (3) ⑶选中某个栏目,单击“Copy”可以复制一个栏目; (4) ⑷选中某个栏目,单击“删除”可以将面板中的栏目删除; (5) ⑸unselect 是取消对某个栏目的选择。 另外,对于首页面板的设置,也可以通过点击首页右上角的 管理门户页 进行新增面板: 点击“增加”后就建立了一个新的首页显示面板,点击次面板对应操作中的 详细配置 进行 面板内容设置后,点击 返回 dashboard 此面板即可生效。若要恢复系统默认的面板设置, 需要点击首页右上角的 管理门户页,在新的页面中点击 复原缺省,即可恢复。 3、 一般性设置 Global Settings—> General Configuration 进入页面,点击页面底端的 EditConfiguration即可进行设置: 4、 全局性权限 Global Settings—>Global Permissions,这里设置的权限适用于系统内所有的项目,但与某个项目所设定的特殊权限无关,某个项目可以通过 Permission Schemes 设定其特定的权 限。 另外,可以通过下图选择相应的权限并赋予某个组来增加这个组所拥有的权限。 5、 问题链接 Global Settings—> lssue Linking 进入页面后可以点击“Activate”激活此功能,然后 可以新建问题链接类型: 链接类型建立之后显示如下: 此时,在某个问题的详细显示页面就会出现“链接”到其他问题这样的字段,如图: 链接建立后,在此问题页面会显示: 单击图中链接的问题,会跳转到EW-12的问题页面,该页面内同样会有链接问题的显示: 6、 外观与样式: Global Settings—>Look and Feel,设置系统的Logo,Colours以及Date/Time Formats. 7、 邮件服务设置: Global Settings—>Mail Servers,进入邮件服务设置页面,如图: 点击图中的“编辑”可以更改邮件服务器地址、端口以及默认发送邮件地址等信息。点击 Send a Test Email 可以测试邮件服务是否可以正常。 8、 子任务设置: Global Settings—>Sub-Tasks,进入设置页面,如图: 此时,在某个问题的详细显示页面就会出现“创建”子任务这样的字段,如图: 单击图中的“创建子任务”即可新建一个issue。 注:此功能在 bug 管理流程中一般不使用,因为提交 bug 不存在嵌套,应该本着“单个问题 单个提交”的原则。 9、 事件跟踪设置 Global Settings—>Time Tracking,可以设置时间跟踪机制,如图: 点击图中的“Activate”是该功能生效。此时,在新建问题的时候,在页面最下端就会出现如下内容 这样新建问题后,在该问题的页面内就会增加了估算时间这一项,如图: 通过此功能,可以评估工作量。(建议:此项由项目经理填写。) 10、 用户默认设置 Global Settings—>User Defaults ,可以设置用户收到通知邮件的格式(text/html),查询 问题时页面显示的最多问题数以及用户自身发生改变时是否能收到通知邮件,如图: 点击页面中的 Edit default values 进行设置, 设置完成,点击更新,进入新的页面: 11、 工作流 Global Settings—>Workflows,点击Workflows进入到页面,如下图 上面图中已经存在一个默认的jira工作流和一个创建好的develop flows工作流,默认jira工作流是不可以删除的。下面创建一个新的工作流步骤: 注:制作工作流最重要的是根据自己公司的测试规范制定,有的可能比较复杂,有点可能比较简单,适合的才是最好的。 工作流图画出以后,下面就是根据图进行增加工作流了: 1、入工作流name和description,如下图: 2、点击add后,,如下图页面,点击workflows工作流那行的steps链接 3、点击steps链接后,进入下面页面,然后根据 新建打开 打开指派 打开推迟 打开已解决 打开不是问题 推迟指派 指派已解决 已解决重开 上面的状态都是Issue Settings—>Statuses中进行定义状态的。 4、到workflows进行页面设置: 5、 在上图先按照工作流图进行添加完成: 6、 添加完成后,进行状态转变设置,在下图中,点击Add Transition按钮 进入下页面 其他的按照上面进行操作。 7、 Transition view: 这里总共有四个选项 NO VIEW FOR transition 事务触发后不会有任何页面跳出 Default Screen 跳出一个和创建BUG差不多的页面 Resolve Issue Screen 跳出一个解决问题的页面 Workflow Screen 跳出一个问题分配的页面 8、 工作流设置完成后,还要在项目中应用到该工作流才算完成。 新建一个项目:在Projects—>Projects页面中,点击Add Project 填写完成后。 点击图中选择的”select scheme” 选择刚刚创建的scheme,点击Associate按钮,进入第二步骤 在次点击Associate按钮,OK,工作流已经配置到”测试”项目中去了 注:不同版本的JIRA可能有些操作步骤不同,但大致情况是这样一个流程。 四、 Schemes 1、 安全策略: Schemes—>Issue Security Schemes—>Add Issue Security Scheme ,输入具体的安全设置名称(name)及详细描述(description)即可,其中详细描述为可选项。 新增后可点击Security Levels(或安全设置的名称),设置不同的安全级别,如图所示: 单击右侧的增加可以设置处于某个安全级别的人员或组,如图所示: 单击 Default 可以将 jira 默认的安全级别改成当前设置的级别,单击之后可以在安全级别 设置的上方看到 Change default security level to "None" 的字样。 另外此处设置了安全级别要应用到项目中,在新建项目的时候或者建好项目之后可以更改。 2、 权限设置 Schemes—>Permission Schemes(很重要的一步)(在此之前可能需要新建相关的组,比如:开发组,测试组,市场组等,这样方便赋予权限) 点击Add Permission Scheme,新增一权限设置,或直接点击已有的项目权限进行copy,但记得要修改名称。新增后,点击旁边的Permissions进行编辑,具体设置如下: 3、 通知设置 Schemes—>Notification Schemes,单击Add Notification Scheme进行新增权限,也可以直接点击copy复制系统默认的通知设置,然后在里面进行更改。(建议不要更改系统默认的设置),添加完通知设置之后,点击通知设置的名称或点击右侧的Notifications即可进行通知的具体设置。 4、 工作流计划 Schemes—>Workflow Schemes,单击Add workflow scheme 来增加工作流设置以便与项目进行关联,如图: 点击增加即可创建一个工作流的设置,下面需要为这个设置指派一个工作流: 单击图中的assign a workflow,选择问题类型,选择相应的工作流,单击“增加”: 这样就建立了一个新的工作流设置,这样在新建项目的时候就可以通过这个设置将我们自己定义的工作流与项目联系到一起了。 如果想要讲图中的inactive 状态变成active,必须将设置与项目关联起来就可以。 五、 Issue Fields: 1、 自定义字段 Issue Fields—>Custom Fields,自定义页面内显示的字段。 单击页面内的Add Custom Field 可以进行自定义字段的添加,选择图中某一类型的字段。单击“Next”,如图: 在下图中字段名称对应文本框内填写需要添加字段的名称,并给予描述: 在此处选择添加字段所使用的模板: 选择此字段所要应用到的问题类型: 选择将此字段设置作为全局设置或是只针对某个项目: 单击“Finish”完成设置。在如下页面选择字段所显示的页面: 单击“更新”完成设置。设置前后页面比较: 2、 字段设置: Issue Fields—>Field Configurations,可以自己增加,也可以复制原有的进行修改,如图: 新增字段后如下: 注:此设置需与“Field Configuration Schemes”中的策略关联才可以生效。 3、 字段设置策略 Issue Fields—>Field Configuration Schemes,通过此处可以自定义添加或复制原有策略来增加新的策略,从而可以将所设置的字段与项目关联起来,如图: 4、 问题导航栏 Issue Fields—>Navigator Columns,通过此处可以增加或隐藏现有导航栏内的显示内容,也可调整前后顺序,如图: 六、 Issue Settings 1、 Issue Types:问题类型 Issue Settings—> Issue Types,通过配置可以设置出不同的问题类型,默认的问题类型有4种如下图: 在Add New Issue Type下面输入name和描述,就可以添加新的问题类型了,这个可以根据自己的需要进行增加。 2、 Priorities:优先级 Issue Settings—> Priorities,这个是设置问题的优先级,可以更加自己的需要进行修改,删除或添加。如下图是我修改了的优先级,把优先级该为问题的严重程度,方便自己使用,这里可以每个公司进行修改: 3、 Resolutions:操作决策 Issue Settings—> Resolutions,主要是配置开发人员对问题的解决方法状态选择,比如选择这个问题关闭,或者是已经存在,下个版本解决等。这些都是在这里进行配置,如下图,如果你不爽英文的话完全可以全部修改为中文。:-)o(∩_∩)o… 4、 Statuses:问题状态 Issue Settings—> Statuses,可以设置问题的状态,包含问题创建,关闭,重开等,可以根据工作流进行配置,如下图: 右边的workflows是工作流,点击下面链接就可以跳到工作流设置页面。 七、 Import & Export 1、 数据备份为xml文件: Import & Export—>Backuo Data to XML,通过此处可以将数据库中的数据备份成XML文件,这种备份既可以用于使用JIRA自带的数据库,也可以用于连接了外部数据库的数据备份,使用外部数据库的数据备份也可以直接备份该数据库。 单击图中的”Backup”之后会将数据备份,之后会提示填写备份路径,如图: 注:使 用这 种方法 备份 数据库 只是 一次性 备份 ,如果 想要 实现周 期性 备份需 要在 SystemServices 中进行设置。 设置如下:如果在安装 jira 的过程中指定了备份路径的话,jira 的备份服务会自动启动; 如果没有进行设置,可以进入 SystemServices 中,设置其保存路径,文件名格式,文件 保存为 zip 格式或 xml 格式以及备份时间间隔。如图: 2、 从XML文件恢复数据: Import & Export—>Restore Data from XML,通过此处可以将已经备份的数据重新恢复到系统中,与Backuo Data to XML相对应。 数据导入的时间视文件大小而定,导入成功之后显示如下页面,并且需要重新登录系统: 3、 外部导入数据 Import & Export—> External System Import、通过此处可以将外部的数据导入进来: 八、 Options & Settings 1、 Options&Settings—>Send E-mail,管理员可以通过这个功能通知相关用户信息。 九、 System 这个模块都是一些基本配置显示信息,一般安装JIRA都不用在这里面进行配置。可以不去管他。 第四章、 JIRA用户使用 1、登陆与注册 在成功安装配置完成的界面上点击“登陆到JIRA”,就会看到JIRA的登陆界面了; 如果已注册,就输入用户名和密码进入。 没有注册,点击“注册”链接 注册成功后进行登陆。 2、 创建问题 一般用户注册后,要通过管理员对你的权限进行配置。 项目一般又管理员进行创建,设置,这里只写普通帐户的使用。 登陆成功后,进入下面页面 点击“创建问题”链接,进入下面页面,选择项目,问题类型: 选择完,点下一步,然后详细填写问题的情况: 填写完成后,点“创建”。一个问题就创建完成,然后邮件就会发送到相关人员邮箱中。 注:上图中的填写,可能每个公司的配置一样,需要根据具体情况进行设置。 3、 浏览项目 在浏览项目的界面可以看到项目的基本信息资料,模块和版本信息及问题分布情况。 4、 查找问题 在查找问题界面上,您可以在界面左侧进行查询条件的设置,JIRA提供了强大的查询功能,在你设定好查询条件后,还可以将查询条件保存起来,定义为过滤器,供以后的重复使用,也可以将保存的过滤器给团队的其他成员。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值