JIRA8-精要第六版-全-
JIRA8 精要第六版(全)
原文:
annas-archive.org/md5/8e4fa4f6e7e4daf3539f18ab8ce30c81译者:飞龙
序言
多年来,Jira 已经从最初为工程师设计的简单故障跟踪系统发展为通用问题跟踪解决方案。现在,Jira 这个术语指的是一套产品,包括 Jira 软件、Jira 服务管理、Jira 核心等。随着这一变化,每个产品更专注于其功能和提供的价值。现在,客户更容易选择最适合其需求的产品,无论是运行敏捷软件开发项目、客户支持门户还是通用任务管理系统。
借助最新的数据中心产品,Jira 现在是任何希望通过性能、可靠性、可扩展性和安全性未来验证其团队的企业的首选解决方案。
在这本书中,我们将涵盖 Jira 的所有基础知识及其核心功能,以及数据中心提供的高级功能。我们还将探讨第三方应用程序,这些应用程序为 Jira 平台添加了额外的功能。本书充满了现实生活中的例子和逐步说明,将帮助您成为 Jira 专家。
本书适合谁
这本书将对项目经理特别有用,但也适用于其他 Jira 用户,包括开发人员,以及除软件开发外的任何其他行业,他们希望利用 Jira 强大的任务管理和工作流功能来更好地管理业务流程。
本书内容包括
第一章,开始使用 Jira 数据中心,作为 Jira 的整体介绍,涵盖其高级架构。我们将讨论新部署以及如何从现有部署升级。我们还将介绍 Atlassian 的 Jira 数据中心产品。这也将作为读者将要进行的项目的起点。
第二章,使用 Jira 进行业务项目,介绍了在不基于软件开发的项目中使用 Jira,例如通用任务管理解决方案。本章重点介绍 Jira 核心产品提供的基本功能的使用。
第三章,使用 Jira 进行敏捷项目,介绍了特定于 Jira 软件的功能。本章重点介绍使用 Jira 进行软件开发项目,特别是使用 Scrum 和 Kanban 等敏捷方法。
第四章,处理问题,介绍了问题,这是使用 Jira 的基石。重点是确保用户了解问题及其功能。您还将学习如何使每个功能可用并将其自定义超出开箱即用设置。
第五章,字段管理,介绍了字段,特别是如何使用自定义字段来定制 Jira,以便更有效地收集数据。你将学习如何创建新的自定义字段,以及如何控制字段配置,如可见性和渲染选项。
第六章,屏幕管理,介绍了屏幕。你将学习如何从零开始创建新的屏幕,并指定哪些字段(系统字段和自定义字段)将被显示。我们还将讲解复杂的方案映射,以便将新的屏幕应用到项目中。
第七章,工作流与业务流程,探索了 Jira 提供的最强大功能——工作流。介绍了问题生命周期的概念,并解释了工作流的各个方面。本章还探讨了工作流与之前介绍过的其他 Jira 方面(如屏幕)之间的关系。在示例项目中,我们还简要提到了 Jira 应用的概念,并使用了一些流行的应用。
第八章,电子邮件与通知,讲述了电子邮件以及 Jira 如何使用它们向最终用户发送通知。我们将首先解释 Jira 如何向用户发送通知,然后介绍 Jira 如何处理传入的电子邮件,创建、评论以及更新问题。
第九章,Jira 安全性,解释了 Jira 的安全模型,从如何管理用户、组和角色开始。读者将学习 Jira 的权限管理安全层次结构。最后,我们将介绍如何使用 SAML 设置单点登录,这是大多数企业组织的常见需求。
第十章,搜索、报告与分析,专注于如何使用 Jira 收集的数据做更多的事情,包括搜索、报告和使用仪表板。你还将学习如何将这些数据和报告提供给 Jira 之外的用户,无论是通过电子邮件,还是通过其他应用展示。
第十一章,Jira 服务管理,介绍了 Jira 服务管理,它允许你将 Jira 用作客户支持门户。读者将学习如何使用 Jira 服务管理在内部运行和管理支持队列,同时与客户进行有效沟通。
第十二章,Jira 与第三方应用,讲解了如何使用第三方应用扩展 Jira 的功能。你将学习如何查找、安装、更新和管理 Jira 的应用。我们还将介绍一些流行的第三方应用,以及它们如何帮助 Jira 提升到一个新水平。
要充分利用本书
本书使用的安装包是 Windows 安装程序独立发行版,你可以直接从 Atlassian 获取,Jira 软件可通过 www.atlassian.com/software/jira/download 下载,Jira 服务管理可通过 www.atlassian.com/software/jira/service-desk/download 下载。
你还需要其他软件,包括 Java SDK,你可以从 www.oracle.com/technetwork/java/javase/downloads/index.html 获取,MySQL 可以从 dev.mysql.com/downloads 获取。
| 书中涵盖的软件/硬件 | 操作系统要求 |
|---|---|
| Jira 软件 | Windows、macOS 或 Linux |
| Jira 服务管理 | |
| Java | |
| MySQL |
如果你正在使用本书的数字版本,我们建议你自己输入代码。这样做有助于避免与复制和粘贴代码相关的潜在错误。
有 XML、Java 或 Groovy 编程语言经验将有助于更好地理解书中的代码片段。
与本书相关的任何勘误信息可以在以下链接找到:github.com/packt-pradeeps/Jira-8-Essentials。
下载彩色图片
我们还提供了一个 PDF 文件,其中包含本书中使用的截图和图表的彩色图片。你可以在此下载:packt.link/9C0B9。
使用的约定
本书中使用了许多文本约定。
文本中的代码:表示文本中的代码字、数据库表名、文件夹名、文件名、文件扩展名、路径名、虚拟网址、用户输入和 Twitter 账号。举个例子:“你应该能看到 New Employee 和 Termination 问题类型。”
代码块设置如下:
<Resource name="mail/JiraMailServer"
auth="Container"
type="javax.mail.Session"
当我们希望引起你对代码块中特定部分的注意时,相关的行或项会以粗体显示:
<security-constraint>
<web-resource-collection>
<web-resource-name>all-except-attachments</web-resource-name>
<url-pattern>*.js</url-pattern>
<url-pattern>*.jsp</url-pattern>
任何命令行输入或输出如下所示:
create database jiradb character set utf8;
粗体:表示一个新术语、重要词汇或你在屏幕上看到的词语。例如,菜单或对话框中的词语会以粗体显示。举个例子:“在创建按钮旁边有一个创建另一个选项。”
提示或重要说明
看起来是这样的。
联系我们
我们始终欢迎读者的反馈。
一般反馈:如果你对本书的任何内容有疑问,请发送邮件至 customercare@packtpub.com,并在邮件主题中注明书名。
勘误:尽管我们已经尽一切努力确保内容的准确性,但错误难免会发生。如果你发现本书中有错误,我们将感激你向我们报告。请访问www.packtpub.com/support/errata并填写表单。
盗版:如果你在互联网上遇到任何我们作品的非法复制品,请提供该位置地址或网站名称,我们将不胜感激。请通过电子邮件联系 copyright@packt.com,并附上该材料的链接。
如果你有兴趣成为作者:如果你在某个领域有专长,并且有兴趣写作或参与书籍编写,请访问authors.packtpub.com。
分享你的想法
阅读完Jira 8 Essentials后,我们很想听听你的想法!请点击这里直接进入亚马逊评论页面并分享你的反馈。
你的评价对我们以及技术社区非常重要,将帮助我们确保提供优质内容。
下载本书的免费 PDF 版本
感谢购买本书!
你喜欢在旅途中阅读,但又无法随时携带纸质书籍吗?
你的电子书购买与所选设备不兼容吗?
不用担心,现在每本 Packt 书籍都可以免费获得该书的无 DRM PDF 版本。
在任何地方、任何设备上阅读。搜索、复制并将你最喜欢的技术书籍中的代码直接粘贴到你的应用程序中。
好处不仅仅是这些,你还可以每天在邮箱中独享折扣、新闻通讯和精彩的免费内容。
按照这些简单的步骤获取福利:
- 扫描二维码或访问以下链接

packt.link/free-ebook/978-1-80323-265-2
-
提交你的购买凭证
-
就这样!我们会直接将你的免费 PDF 和其他福利发送到你的邮箱。
第一部分:Jira 简介
本节中,你将学习如何从零开始设置 Jira 实例,并了解如何将 Jira 用于你的业务和敏捷项目。
本节包括以下章节:
-
第一章,开始使用 Jira 数据中心
-
第二章,将 Jira 用于业务项目
第一章:开始使用 Jira 数据中心
在本章中,我们将首先提供对 Jira 的高层概述,介绍在该平台上运行的各种产品,然后介绍 Jira 数据中心。接下来,我们将讨论部署选项和托管 Jira 数据中心所需的系统要求。最后,我们将动手从头开始安装自己的 Jira 数据中心,包括独立部署和集群部署。
本章内容包括:
-
理解 Jira 平台
-
介绍 Jira 数据中心
-
系统要求
-
安装包选项
-
安装和配置 Jira
-
安装后配置
-
集群
-
零停机升级
在本章结束时,你将了解 Jira 平台和新的数据中心产品。你还将学习安装 Jira 所需的系统要求,以及 Jira 集群的工作原理。最后,你将自己启动并运行一个 Jira 实例。
理解 Jira 平台
Jira 最初是作为一个流行的工具,用于软件开发团队跟踪和管理他们的项目。随着 IT 行业多年的变化,Jira 也在不断发展,以应对用户面临的需求和挑战。如今,Jira 已经从一个单一应用转变为一个平台,能够运行多个应用和解决方案,并提供超越问题跟踪的额外功能和能力。
Jira 背后的公司 Atlassian 还有其他几款产品,组成了 Jira 家族。这些包括以下产品:
-
Jira 软件:这是一个专注于软件开发的产品。它允许项目团队使用传统的瀑布式方法和敏捷方法(如 Scrum 和看板)来运行软件开发项目。
-
Jira 工作管理:这是一个为非软件开发团队设计的产品,如市场营销、运营和法律团队。它非常适合通用任务管理。
-
Jira 服务管理:这是一个为服务台团队设计的产品。它旨在将 Jira 用作支持工单系统,为终端用户提供简化的用户界面,重点关注客户满意度和 服务水平协议 (SLA) 目标。
Jira 平台的核心提供了多种常见功能,供不同产品使用,例如用户界面定制、工作流和电子邮件通知,而 Jira 软件和 Jira 服务台在此基础上添加了专门的功能。
当然,作为一个平台,Jira 还允许其他第三方开发者为其开发解决方案。Atlassian 拥有一个庞大的生态系统,其中包括由合作伙伴开发的产品和解决方案,这些都为 Jira 增添了更多功能。在本书的后续部分,我们将介绍其中的一些解决方案。
本书主要聚焦于 Jira 软件,但我们也会涵盖所有应用程序共享的常见功能,以及它们如何在各自的使用场景中使用这些功能。因此,术语 Jira 将主要用于指代 Jira 软件,除非需要做出特定区分。
现在我们已经了解了 Jira 平台及其各种产品,是时候来看看 Jira 家族的新成员了。
介绍 Jira 数据中心
用户在使用 Jira Server 时常遇到的最大挑战之一是 可扩展性。当一个组织的 Jira 部署扩展到成千上万的并发用户和数十万个问题时,他们往往会开始遇到性能问题,例如响应时间变慢。尽管每个新版本都会包含性能改进,但客户通常不得不将旧项目归档并导出到另一个 Jira 实例,或者将一个大实例拆分成多个小实例。
一些组织可以通过迁移到 Jira 云服务来解决这个问题。然而,由于安全性、法规以及其他原因,并非每个人都可以迁移到公共云,或者他们更倾向于在自己的私有云中运行 Jira。这就是 Jira 数据中心 的作用所在。
Jira 数据中心是 Atlassian 推出的新产品,取代了旧版的 Jira Server,旨在解决那些需要确保 Jira 部署具有高性能、可扩展性、高可用性和安全性的组织常面临的挑战。
使用 Jira 数据中心,您可以继续自行托管 Jira,同时享受上述附加好处。增加了许多附加功能,例如支持 安全声明标记语言 (SAML)、用于规划的高级路线图以及改进的管理功能。
额外信息
您可以在confluence.atlassian.com/enterprise/jira-server-and-data-center-feature-comparison-953651628.html找到旧版 Jira Server 和 Jira 数据中心之间的差异完整列表。
那么,Jira 数据中心是如何实现所有这些好处和改进的呢?与 Jira Server 只有一个运行实例不同,Jira 数据中心允许您将多个 Jira 实例作为一个单一的部署运行,称为 集群。下图展示了典型的 Jira 数据中心部署:

图 1.1 – Jira 数据中心部署
您将有一个或多个 Jira 实例,称为 节点,它们在一个集群中运行。所有 Jira 节点将连接到同一个数据库和文件服务器,并通过负载均衡器将流量分配到所有节点。这样,集群中的计算能力得以共享,您可以随时向集群中添加一个节点来增加额外的容量。
Jira Data Center 的另一个优点是,如果您还未准备好,您不需要运行集群。您可以像使用旧版 Jira Server 一样,以单节点的形式运行独立部署。然后,等到需要时,您可以随时将部署转换为集群。这样做为您提供了灵活性,以及 Jira Data Center 引入的所有额外功能。了解了 Jira Data Center 后,我们来看看部署所需的资源。
系统要求
在我们部署 Jira Data Center 之前,我们需要看看 Jira 所需的硬件和软件,以及您希望如何进行部署。
您可以通过两种方式部署 Jira:
-
独立:这就是经典的 Jira Server 部署方式,您只有一个 Jira 实例为用户提供服务。这是更简单的选项,不需要那么多系统资源。如果您刚刚开始使用,这个选项适合您。
-
集群:这就是图 1.1中所展示的部署方式,您可以在集群中运行多个 Jira 实例(节点),它们共同为您的用户提供服务。如果您需要可扩展性、高可用性以及其他集群特性,这就是适合您的选项。
如果您不确定从哪个选项开始,您可以始终从独立部署选项开始,当您需要所有集群部署的功能和优势时,再切换到集群部署。
现在我们已经了解了 Jira 的部署选项,接下来让我们看看您需要的硬件和软件。
硬件要求
对于评估目的,仅有少量用户的情况下,Jira 可以在任何拥有 1.5 GHz 处理器和 1 GB 到 2 GB 内存的服务器上顺利运行。随着 Jira 使用量的增加,典型服务器将配备 2 GHz+ 四核 CPU 和 4 GB 内存专门为 Jira 应用程序分配,并且至少 10 GB 的硬盘空间用于数据库。
对于生产环境部署,像大多数应用程序一样,建议您将 Jira 安装在专用服务器上。当决定分配给 Jira 的资源时,您需要考虑很多因素,特别是 Jira 将如何扩展和增长。确定硬件需求时,您应考虑以下几点:
-
系统中活跃(并发)用户的数量,尤其是在高峰时段
-
系统中的项目、问题和评论数量
-
配置项的数量,如自定义字段和工作流
有时,估算这些数字可能会很困难。作为参考,配备 2.0 四核 CPU 和 4 GB RAM 的服务器足以支持大多数拥有约 200 名活跃用户的实例。如果用户数量达到几千人,你将需要至少为 Jira(JVM)分配 8 GB 的 RAM。一旦超越一百万个问题和几千名活跃用户的单一 Jira 实例,单纯增加系统资源(垂直扩展)将开始带来递减效益。在这种情况下,通常更好考虑使用 Jira 的数据中心版,它通过允许多个实例进行集群(横向扩展)提供更好的可扩展性,并且具有高可用性的优势。
官方上,Jira 仅支持 x86 硬件及其 64 位衍生版本。当在 64 位系统上运行 Jira 时,你可以为 Jira 分配超过 4 GB 的内存,而 32 位系统的限制就是 4 GB。如果你计划部署一个大型实例,建议使用 64 位系统。
软件要求
Jira 在软件方面有三个主要要求:需要一个支持的操作系统、一个 Java 环境和一个用于存储所有数据的数据库。在接下来的部分中,我们将讨论这些要求以及你可以选择的安装和运行 Jira 的选项。
其他信息
你可以在线查看最新的软件要求信息,网址:confluence.atlassian.com/adminjiraserver/supported-platforms-938846830.html。
操作系统
Jira 支持大多数主流操作系统,因此选择在哪个操作系统上运行 Jira,更多的是关于专业技能、舒适度,并且在大多数情况下,还要考虑现有组织的基础设施和需求。
Atlassian 支持的操作系统包括 Windows 和 Linux。虽然有一个适用于 macOS 的 Jira 版本,但这主要用于评估目的。亚马逊 Web 服务(AWS)和微软 Azure 也通过快速启动模板得到支持。
在 Windows 和 Linux 上,Atlassian 提供了一个可执行的安装向导包,捆绑了所有必要的组件,简化了安装过程。在安装、配置和维护 Jira 时,不同操作系统之间几乎没有差异。如果你没有特别的偏好,并希望降低初始成本,CentOS Linux 是一个不错的选择。
Java 平台
Jira 是一个基于 Java 的 Web 应用程序,因此需要安装 Java 环境。这可以是Java 开发工具包(JDK)或Java 运行环境(JRE)。随 Windows 或 Linux 一起提供的可执行安装程序包括 JRE。但是,如果你打算使用归档分发版本,必须确保已安装并配置好所需的 Java 环境。
Jira 需要最低版本的 Java 8。如果你在不支持的 Java 版本或不支持的供应商环境中运行 Jira,可能会遇到意外错误。下表显示了 Jira 支持的 Java 版本:

表 1.1 – Java 平台
你还应该保持 Java 版本的最新,通过运行最新的 Java 8 或 11 的修补版本。这将确保你获得最新的错误修复和安全补丁,保障环境的安全。
数据库
Jira 将所有数据存储在关系型数据库中。虽然你可以使用H2 数据库(Jira 自带的内存数据库)来运行 Jira,但它容易导致数据损坏。你应该仅将其用于快速设置新实例进行评估,且不会存储重要数据。出于这个原因,你必须使用像 MySQL 这样的企业级数据库来进行生产系统。
市面上大多数关系型数据库都被 Jira 支持,并且在安装和配置 Jira 时没有差异。就像操作系统一样,你选择的数据库将取决于你组织的基础设施/DevOps 团队的专业知识、经验以及既定的公司 IT 标准。如果你使用 Windows 作为操作系统,那么你可能会选择 Microsoft SQL Server。另一方面,如果你使用 Linux,那么你可能会选择 PostgreSQL 或 MySQL。
下表总结了写作时 Jira 支持的数据库。值得一提的是,MySQL 和 PostgreSQL 都是开源产品,因此它们是减少初期成本的优秀选择:
| 数据库 | 支持状态 |
|---|---|
| MySQL | MySQL 5.7, 8.0注意,MariaDB 和 PerconaDB 不受支持 |
| PostgreSQL | PostgreSQL 10, 11, 12 |
| Microsoft SQL Server | SQL Server 2016, 2017, 2019 |
| Oracle | Oracle 12c R2, 18c, 19c这需要 JDBC 19.3 (ojdbc8) 驱动程序 |
| Azure SQL | |
| Amazon Aurora | PostgreSQL 10, 11, 12 |
| H2 | 仅与独立分发包捆绑,仅用于评估目的 |
表 1.2 – 数据库
特别注意每个数据库的驱动程序要求。Jira 捆绑了一些数据库的驱动程序,但有些数据库,比如 Oracle,要求你单独获取驱动程序。你需要确保获取正确版本的驱动程序,以避免出现意外错误。
在系统和数据库要求已涵盖的情况下,接下来我们就进入 Jira 本身。
安装包选项
Jira Data Center 提供了多种部署选项。你需要做的第一个选择是你希望在哪里部署 Jira。如果你想将 Jira 部署到 AWS 或 Azure,Atlassian 提供了快速启动模板,以帮助你快速启动和运行。
如果你想将 Jira 部署到你的硬件或其他云服务商,或者仅仅希望管理你想要的部署方式,你可以使用可用的安装包。Jira 安装包有两种形式:
-
可执行安装程序:可执行安装程序提供了一个向导界面,带你完成整个安装过程。它甚至附带了一个 Java 安装程序,帮你节省时间。
-
TAR.GZ 或 ZIP 压缩包:该压缩包类似于可执行安装程序,区别在于它没有安装向导,不包含 Java,也不会配置 Jira 作为服务运行。
你还需要手动执行一些安装后的步骤,例如将 Jira 配置为服务。但你可以获得学习背后运作机制的好处。
在我们的练习中,我们将使用安装包,但也会涵盖安装后的步骤,以便你对各种配置选项有一个全面的了解。我们将从安装 Java 开始。
安装 Java
由于我们将使用捆绑了 Java 的安装包,你可以跳过本节。如果你使用的是压缩包选项,你需要确保系统上已经安装了 Java。
Jira 8 至少需要 JRE 版本 8 才能运行。你可以通过在 命令提示符 中运行以下命令来验证你安装的 Java 版本:
java -version
上述命令会告诉你系统上运行的是哪个版本的 Java,如下图所示:

图 1.2 – Java 版本
如果你没有看到类似的输出,那么很可能是你没有安装 Java。你需要执行以下步骤来设置 Java 环境。首先,安装 Java 到你的系统:
- 从
www.java.com/en/download/manual.jsp下载最新的 Java 8 或 11。
注意
截至撰写本文时,Java 8 的最新版本是 JDK 8 更新 321。
-
双击下载的安装文件,启动安装向导。
-
选择你希望安装 Java 的位置。或者,你也可以直接接受默认值。你安装 JDK 的位置将在本书的后续部分被称为
JAVA_HOME。 -
创建一个新的环境变量,名为
JAVA_HOME,并将其值设置为你安装 Java 的完整路径。你可以按如下方式操作:-
通过从 Windows 开始菜单进入 关于你的电脑,打开 系统属性 窗口。
-
选择 高级系统设置 选项。
-
点击新弹出窗口中的 环境变量 按钮:
-

图 1.3 – JAVA_HOME 环境变量
- 添加一个新的变量(可以是用户变量或系统变量),命名为
JAVA_HOME,并将其值设置为你安装 Java 的路径。
现在你已经对 Jira 数据中心、基本系统要求和各种安装选项有了充分了解,我们准备部署我们自己的 Jira 实例。
安装并配置 Jira
我们将首先以独立部署的方式安装 Jira。我们将在 Windows 平台上执行安装,并使用 PostgreSQL 作为数据库。如果你打算使用不同的平台或数据库,请参考厂商文档以了解如何为你的平台安装所需的软件。
在本节中,你将进行以下操作:
-
安装一个全新的 Jira 软件实例
-
将 Jira 连接到 PostgreSQL 数据库
-
配置 Jira 实例以便在集群环境中工作
我们将在后续章节和练习中继续使用这个 Jira 部署,构建我们的帮助台实现。
对于我们的部署,我们将使用以下配置:
-
Jira 软件 8.21.0
-
PostgreSQL 12.9
-
Apache Web 服务器
-
微软 Windows
让我们开始安装 Jira!
安装 Jira
在安装 Jira 之前,有两个重要的目录需要说明:
-
JIRA_INSTALL:这是 Jira 应用程序将安装到的目录 -
JIRA_HOME:这是 Jira 用来存储一些重要配置和数据文件的目录
我们将在本书中一直提到这两个目录。现在,进入安装部分。通常有两个步骤:
-
下载并安装 Jira 应用程序
-
运行 Jira 设置向导
让我们开始吧。
获取并安装 Jira
第一步是下载 Jira 的最新稳定版本。你可以从 www.atlassian.com/software/jira/update 下载 Atlassian Jira。
Atlassian 网站会检测你使用的操作系统,并自动为你推荐一个安装包。如果你打算在不同的操作系统上安装 Jira,请确保选择正确的操作系统安装包。
正如我们之前提到的,Windows 提供了 Windows 安装包和自解压归档包。对于本次练习,我们将使用安装包(Windows 64-bit Installer):
- 双击下载的安装文件以启动安装向导,然后点击 下一步 按钮继续:

图 1.4 – Jira 安装步骤 1
- 选择 自定义安装(推荐高级用户使用) 选项,并点击 下一步 按钮继续。使用自定义安装可以让我们决定安装 Jira 的位置,并提供多个配置选项,如下图所示:

图 1.5 – Jira 安装步骤 2
- 选择安装 Jira 的目录。这将成为
JIRA_INSTALL目录。点击 下一步 按钮继续:

图 1.6 – Jira 安装步骤 3
- 选择 Jira 将存储数据文件的位置,例如附件和日志文件。这将成为
JIRA_HOME目录。点击下一步按钮继续:

图 1.7 – Jira 安装步骤 4
-
选择您希望在开始菜单中创建快捷方式的位置,然后点击下一步按钮继续。
-
在
8080端口。如果8080已经被其他应用程序占用,或者您希望 Jira 在不同的端口上运行,例如端口80,请选择为 HTTP 和控制端口设置自定义值选项,并指定您希望使用的端口号。点击下一步按钮继续:

图 1.8 – Jira 安装步骤 6
- 选择是否希望 Jira 作为服务运行。如果启用此选项,Jira 将作为系统服务安装,并可以配置为与服务器一起自动启动;有关更多详细信息,请参考启动和停止 Jira部分:

图 1.9 – Jira 安装步骤 7
- 在最后一步,检查所有安装选项,并点击安装按钮以开始安装:

图 1.10 – Jira 安装步骤 8
- 安装完成后,勾选在浏览器中启动 Jira 软件选项,并点击完成。这将关闭安装向导并打开您的网页浏览器,以便您访问 Jira。由于 Jira 是第一次启动,这可能需要几分钟时间:

图 1.11 – Jira 安装步骤 9
就是这样!恭喜,您的 Jira 已安装并运行。现在,让我们学习如何配置它。
Jira 设置向导
如果您在浏览器中选择了http://localhost:<端口号>,其中<端口号>是您在安装过程中第 6 步中为 Jira 分配的端口号。
Jira 附带的易用设置向导将指导您完成完成 Jira 设置的过程。在此过程中,您将能够配置数据库连接、默认语言等设置。
这些步骤如下:
- 在向导的第一步中,我们需要选择如何设置 Jira。由于我们是为生产环境安装 Jira,因此我们将选择我自己设置选项,如下图所示:

图 1.12 – Jira 配置步骤 1
- 第二步,我们需要选择要使用的数据库。在此步骤中,我们配置 Jira 使用 PostgreSQL 作为数据库。如果选择内置选项,Jira 将使用其捆绑的内存 H2 数据库,这对于评估用途非常有用。如果您希望使用正式的数据库,例如在我们这种情况下,应该选择我的数据库选项:

图 1.13 – Jira 配置步骤 2
注意
内置选项非常适合快速启动 Jira 进行评估使用。
选择我的数据库选项后,向导将扩展,要求您提供数据库连接详细信息。如果没有安装必要的数据库驱动程序,Jira 会提示您安装。
填写数据库详细信息后,建议点击测试连接按钮,验证 Jira 是否可以连接到数据库。如果一切设置正确,Jira 会显示成功消息。您应该能够通过点击下一步按钮继续进行下一步操作。这可能需要几分钟时间,因为 Jira 现在将创建所有必要的数据库对象。完成后,您将进入向导的下一步骤。
- 在第三步中,您需要提供有关此 Jira 实例的一些基本信息。填写完必填字段后,点击下一步继续向导的下一个步骤:

图 1.14 – Jira 配置步骤 3
- 在此步骤中,我们需要为 Jira 提供许可证密钥。如果您已经从 Atlassian 获得许可证,可以将其粘贴到您的许可证密钥文本框中。如果没有许可证,您可以通过点击生成 Jira 试用许可证链接来生成评估许可证。评估许可证将允许您在 1 个月内访问 Jira 的完整功能。评估期结束后,您将失去创建新问题的能力,但仍然可以访问您的数据:

图 1.15 – Jira 配置步骤 4
- 现在,您必须为 Jira 设置管理员帐户。确保将帐户详细信息保存在安全的地方,并且不要丢失密码。由于 Jira 只存储密码的哈希值,而不是实际的密码,您将无法恢复它。填写管理员帐户的详细信息并点击下一步:

图 1.16 – Jira 配置步骤 5
重要说明
这个帐户非常重要,它可以帮助您排除故障并解决问题。千万不要丢失它!
- 接下来,你需要设置电子邮件服务器的详细信息。Jira 将使用这里配置的信息发送通知邮件。通知是 Jira 中一个非常强大的功能,也是 Jira 与用户沟通的主要方式之一。如果你没有准备好电子邮件服务器的信息,你可以通过选择稍后选项并点击完成来跳过此步骤。你可以稍后再配置电子邮件服务器设置,正如你将在第八章中看到的,电子邮件和通知:

图 1.17 – Jira 配置步骤 6
恭喜!你已经完成了 Jira 的设置。此时你应该能看到欢迎页面,并且已经自动以你在第 5 步中创建的管理员用户身份登录。在欢迎页面上,你需要设置一些用户偏好,例如默认语言和头像。按照屏幕上的提示设置账户。完成后,你将看到创建示例项目、从头开始创建新项目或从其他来源导入项目数据的选项,如下图所示:

图 1.18 – Jira 欢迎页面
至此,Jira 已完全配置好。我们将在本书的后续章节中介绍你可以使用的各种功能,但现在,我们将先看一下 Jira 的一些额外管理和配置选项,从如何作为服务启动和停止 Jira 开始。
启动和停止 Jira
由于我们使用了 Windows 安装程序,Jira 被安装为 Windows 服务。因此,你可以通过 Windows 服务控制台来启动、停止和重启 Jira。在服务控制台中,寻找Atlassian Jira。在这里,你将能够停止和启动该应用程序,如下图所示:

图 1.19 – Windows 服务
如果你通过归档选项安装了 Jira,你可以使用JIRA_INSTALL\bin目录中的脚本来启动和停止 Jira,Linux 系统上是start-jira.sh和stop-jira.sh,Windows 系统上是start-jira.bat和stop-jira.bat。
现在我们知道了如何启动和停止 Jira,接下来让我们来看一些额外的配置选项,比如分配内存。
安装后配置
安装后的配置步骤是可选的,取决于你的需求和环境。如果你是为了评估目的而设置 Jira,那么你可能不需要执行以下任何步骤,但作为参考,熟悉这些步骤总是一个好的实践。
在下一节中讨论的更改完成后,你需要重启 Jira。
增加 Jira 的内存
Jira 的默认内存设置通常足以支持小型到中型部署。当 Jira 的使用率增加时,你会发现默认分配的内存已不再足够。如果 Jira 作为 Windows 服务运行,如本章所述,你可以按如下方式增加内存:
-
查找 Jira 的服务名称。你可以通过访问 Windows 的
JIRA150215215627来找到它。 -
打开一个新的命令提示符窗口,将当前工作目录更改为
JIRA_INSTALL\bin目录。 -
运行以下命令,替换为实际的 Jira 服务名称:
tomcat8w //ES//<JIRA Windows service name> -
选择 Java 选项卡,更新 初始内存池 和 最大内存池 的大小,然后点击 确定:

图 1.20 – Jira 内存设置
- 重启 Jira 以应用更改。
如果你没有将 Jira 作为 Windows 服务运行,则需要打开 JIRA_INSTALL\bin 目录下的 setenv.bat 文件(适用于 Windows)或 setenv.sh 文件(适用于 Linux)。然后,定位到以下几行:
set JVM_MINIMUM_MEMORY="384m"
set JVM_MAXIMUM_MEMORY="768m"
更改这两个参数的值并重启 Jira。通常,4 GB(4,096 MB)的内存足以支持一个由数百名用户使用的较大 Jira 实例。
初始内存池或 JVM_MINIMUM_MEMORY 参数决定了 Jira 启动时的内存量。通常,内存越少,Jira 启动越快。最大内存池或 JVM_MAXIMUM_MEMORY 参数决定了 Jira 可以使用的最大内存量。如果这两个值不相同,Jira 将以最小内存启动,并随着用户的增加而逐渐增长至最大内存。
重要提示
在分配实例给 Jira 之前,请确保你有足够的物理内存可用。
更改 Jira 的端口号和上下文路径
在安装过程中,安装向导会提示我们选择 Jira 用于接收连接的端口。如果你接受了默认值,那么该端口将是 8080。如果你改变主意,想要稍后更改该设置,你可以通过在文本编辑器中打开 JIRA_INSTALL/conf 目录下的 server.xml 文件来实现。我们来看一下该文件的相关内容:
<Server port="8005" shutdown="SHUTDOWN">
上述行指定了用于关闭 Jira 的端口。默认情况下是端口 8005。如果该端口已被其他应用(例如另一个 Jira 实例)占用,你需要将其更改为其他端口。以下行指定了 Jira 将运行的端口:
<Connector port="8080" protocol="HTTP/1.1">
默认情况下,Jira 将在端口 8080 上运行。如果该端口已经被其他应用占用,或者由于某种原因该端口不可用,你需要将其更改为另一个可用端口。以下行允许你指定 Jira 将运行的上下文路径:
<Context path="/jira" docBase="${catalina.home}/atlassian-jira" reloadable="false" useHttpOnly="true">
默认情况下,值为空,这意味着 Jira 将通过 http://hostname:portnumber 访问。如果你决定指定一个上下文,URL 将是 http://hostname:portnumber/context。在我们的示例中,Jira 将通过 http://localhost:8080/jira 访问。
配置 HTTPS
默认情况下,Jira 使用标准的、未加密的 HTTP 协议运行。如果你在一个安全的环境中运行 Jira,例如内部网络,那么这样是可以接受的。然而,如果你打算通过互联网开放 Jira 的访问,你需要通过启用 HTTPS(基于 SSL 的 HTTP)来加密敏感数据,如正在传输的用户名和密码,从而增强安全性。
对于独立安装,你需要按以下顺序进行操作:
-
获取并安装证书
-
在你的应用服务器(Tomcat)上启用 HTTPS
-
将流量重定向到 HTTPS
首先,你需要获取一个数字证书。这个证书可以从认证机构获取,比如 VeriSign(CA 证书),或者是你自己生成的自签名证书。CA 证书不仅会为你加密数据,还会将你的 Jira 副本识别给用户。自签名证书适用于你没有有效的 CA 证书,并且只关心为加密设置 HTTPS 的情况。由于自签名证书没有经过认证机构的签署,它无法向公众识别你的站点,因此用户首次访问时会收到站点不受信任的警告。然而,出于评估目的,自签名证书足以在你获得合适的 CA 证书之前使用。
在本练习中,我们将创建一个自签名证书,以说明完整的过程。如果你有一个 CA 证书,可以跳过以下步骤:
-
Java 提供了一个便捷的证书管理工具,叫做
keytool,如果你使用的是安装包,可以在JIRA_INSTALL\jre\bin目录中找到它。如果你使用的是自定义的 Java 安装,则可以在JAVA_INSTALL\bin中找到它。 -
要生成自签名证书,请从命令提示符运行以下命令:
keytool -genkey -alias tomcat -keyalg RSA keytool -export -alias tomcat -file file.cer -
这将创建一个 KeyStore(如果尚未存在),并导出自签名证书(
file.cer)。当你运行第一个命令时,会要求你为 KeyStore 和 Tomcat 设置密码。你需要为两者使用相同的密码。默认密码是changeit。你可以指定一个不同的密码,但随后你需要让 Jira/Tomcat 知道这个密码,稍后我们会看到如何操作。
现在你已经准备好证书,接下来需要将它导入到你的信任库中,供 Tomcat 使用。同样,你将使用 Java 中的 keytool 工具:
keytool -import -alias tomcat -file file.cer
JIRA_INSTALL\jre\lib\security\cacerts
这将把证书导入到你的信任库中,JIRA/Tomcat 可以使用该证书来设置 HTTPS。
要在 Tomcat 上启用 HTTPS,请在文本编辑器中打开 JIRA_INSTALL/conf 目录下的 server.xml 文件。找到以下配置片段:
<Connector port="8443" maxHttpHeaderSize="8192" SSLEnabled="true"
maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
enableLookups="false" disableUploadTimeout="true"
acceptCount="100" scheme="https" secure="true"
clientAuth="false" sslProtocol="TLS" useBodyEncodingForURI="true"/>
这为 Jira 启用了 8443 端口的 HTTPS。如果你为 KeyStore 选择了不同的密码,你需要在关闭标签之前,将以下行添加到前面代码片段的末尾:
keystorePass="<password value>"
最后一步是设置 Jira,使其从非 HTTPS 请求自动重定向到 HTTPS 请求。找到并打开 JIRA_INSTALL/atlassian-jira/WEB-INF 目录中的 web.xml 文件。然后,在文件末尾的 </web-app> 标签之前,添加以下代码片段:
<security-constraint> <web-resource-collection> <web-resource-name>all-except-attachments</web-resource-name> <url-pattern>*.js</url-pattern> <url-pattern>*.jsp</url-pattern>
<url-pattern>*.jspa</url-pattern>
<url-pattern>*.css</url-pattern>
<url-pattern>/browse/*</url-pattern>
</web-resource-collection>
<user-data-constraint>
<transport-guarantee>CONFIDENTIAL</transport-guarantee>
</user-data-constraint>
</security-constraint>
现在,当你通过正常的 HTTP URL 访问 Jira,如 http://localhost:8080/jira,你将自动被重定向到其 HTTPS 对应地址 —— 即 https://localhost:8443/jira。
集群化
到目前为止,我们的 Jira 实例运行在独立模式下,这意味着它独自处理所有请求,尚未启用集群模式。运行 Jira 集群的主要好处如下:
-
在规模化时的性能提升:通过运行一个包含多个节点的集群,Jira 同时处理多个用户请求的能力大大提高,从而提升响应时间和整体用户满意度。
-
高可用性和故障转移:通过在集群中运行多个节点,如果任何一个节点因故障而不可用,集群中的其他节点仍然可以继续为用户提供服务,从而避免停机时间。
-
零停机升级:通常,在你需要升级 Jira 时,过程会涉及停机。但在运行 Jira 集群时,你可以逐个节点地升级,以便集群中的其他节点继续为用户提供服务。
配置 Jira 以在集群中运行,你必须执行以下操作:
-
为两个节点创建一个共享的文件主目录,以便它们都可以访问。
-
将集群配置添加到当前的 Jira 实例中。
-
添加另一个 Jira 实例,作为集群中的第二个节点。从技术上讲,你可以拥有一个单节点集群,但为了这个练习,我们将添加另一个节点,以便你能看到集群的实际运行情况。
-
添加并配置负载均衡器,将传入流量分配到两个节点。
现在我们知道了运行 Jira 集群所需的条件,让我们开始准备吧!
准备集群化
启用集群化的第一步是准备所需的硬件。对于一个 Jira 集群,你将需要以下组件:
-
负载均衡器:这可以是任何支持会话亲和性(粘性会话)的负载均衡器,例如 Apache 和 nginx。
-
Jira 实例节点:这将包含作为集群一部分的独立 Jira 实例。
-
数据库:这是你为独立部署使用的相同数据库。需要注意的是,由于所有 Jira 节点将共享相同的数据库,因此内存中的 H2 数据库在集群中无法使用。
-
共享文件驱动器:Jira 集群需要一个共享的主目录,所有 Jira 节点都能读取和写入。
理想情况下,每个前面列出的组件应该运行在独立的服务器上,因此,对于一个两节点集群,你至少需要三台服务器和一个共享的网络驱动器。你可以在同一台服务器上运行多个 Jira 节点,但仅应将其用于评估目的,因为这样会降低集群的优势。
在为 Jira 节点准备服务器时,需要确保以下事项:
-
所有节点服务器位于相同的数据中心或地区(对于 AWS 和 Azure 等云服务商)
-
你需要确保软件和硬件规格相同,包括内存、操作系统和 Java 版本。
-
所有节点都运行相同版本的 Jira
-
节点已配置为处于相同的时区
创建 JIRA_SHARED_HOME
第一步是创建一个新目录,集群可以在其中存储其数据文件。我们将此目录称为 JIRA_SHARED_HOME。这可以是一个网络驱动器,允许所有 Jira 节点进行读写操作。将以下目录从你的独立 Jira 实例的 JIRA_HOME 目录复制到新的共享目录:
-
data -
plugins -
logos -
import -
export -
caches
启用集群
第二步是为你的第一个 Jira 节点启用集群。这通过在其本地 JIRA_HOME 目录中添加一个新的 cluster.properties 文件来完成。
-
关闭你的 Jira 独立实例。
-
创建一个新的
cluster.properties文件。 -
将以下行添加到文件中:
# This ID must be unique across the cluster jira.node.id = node1 # The location of the shared home directory for all Jira nodes jira.shared.home = /location/to/the/shared/jira_cluster_home # The following lines are needed if you want to run multiple nodes on the same server ehcache.listener.hostName=localhost ehcache.listener.port=40001 ehcache.object.port = 40021 -
启动 Jira。
将节点添加到负载均衡器
在第一个集群节点启动并运行后,我们可以添加另一个节点。我们需要将此节点添加到负载均衡器中,以便它可以开始路由流量。具体配置将根据你使用的负载均衡器有所不同。以下是使用 Apache 的示例:
<Proxy balancer://jiracluster>
# Jira node 1
BalancerMember http://jira1.internal.atlassian.com:8080 route=node1
# Jira node 2, add this when we have the 2nd node up and running
# BalancerMember http://jira2.internal.atlassian.com:8080 route=node2
# Load Balancer Settings
ProxySet lbmethod=byrequests
ProxySet stickysession=JSESSIONID
</Proxy>
请注意,对于 Apache,你需要启用 proxy_balancer_module 模块。
将新节点添加到集群
要将新节点添加到集群,请按照以下步骤操作:
-
将现有 Jira 实例的
JIRA_HOME目录复制到新节点服务器上。 -
在新服务器上安装一个新的 Jira 实例。
-
编辑
cluster.properties文件,并更改jira.node.id的值。 -
将新节点添加到负载均衡器。
-
启动新的 Jira 节点。
如果你在同一台服务器上运行第二个节点,还需要在 cluster.properties 文件中更改 ehcache.listener.port 和 ehcache.object.port 的端口号,以及在 server.xml 文件中更改端口号,正如 更改 Jira 的端口号和上下文路径 部分所述。
至此,你应该有一个运行中的两节点 Jira 集群。如果你登录 Jira 并进入 Administration | System | Clustering,你应该会看到两个节点,并且当前为你服务的节点会以粗体突出显示,如下所示:

图 1.21 – Jira 中的集群节点
在此页面上,你可以查看集群中所有节点及其状态。这对于帮助你排查集群问题非常有用,尤其是当某个节点变得无响应或负载过重时。
零停机升级
如前所述,当你在集群中运行 Jira 时,可以进行零停机升级,也称为滚动升级。通过零停机升级,你可以逐个升级集群中的节点。当某个节点正在升级时,集群中的其他节点将继续为用户提供服务,因此用户不会遇到停机问题。
执行滚动升级的步骤如下:
-
将 Jira 置于升级模式。这将允许 Jira 集群同时运行不同版本的节点。
-
逐个升级集群中的每个节点。
-
在所有节点升级完成后,最终完成升级。
我们将首先将 Jira 置于升级模式:
-
以管理员身份登录 Jira。
-
浏览至管理 | 应用程序 | Jira 升级。
-
点击将 Jira 置于升级模式:

图 1.22 – 零停机升级
一旦 Jira 进入升级模式,你可以关闭集群中的一个节点并对其进行升级。升级完成后,你可以重新启动该节点,并对集群中的其他节点重复此过程。
升级完集群中的所有节点后,你需要通过以下步骤完成升级:
-
浏览至管理 | 应用程序 | Jira 升级。
-
点击完成升级。
点击完成升级后,这将完成集群的升级过程。通过这种滚动升级,你可以在不打扰用户的情况下升级整个集群,避免停机。
总结
Jira 是一个功能强大而简单的应用程序,其简便的安装流程也体现了这一点。你有各种选择,可以根据需要选择安装和配置你的版本。你可以将操作系统和数据库等不同方面组合搭配,以最适合你的需求。你可以先运行一个独立部署,然后在 Jira 在组织中的使用量增长时,将其转变为集群。
在下一章,我们将开始探索 Jira 的各个方面,从项目开始,并讨论如何使用 Jira 来管理业务团队的项目。
第二章:使用 Jira 进行商业项目
Jira 最初是作为一个缺陷跟踪系统开始的,帮助软件开发团队跟踪和管理他们项目中的问题/缺陷。随着产品的发展,人们开始将 Jira 用于其他用途。有些人将其作为通用任务管理解决方案,而另一些人则用它作为客户支持门户。Jira 还有其他创造性的用法,例如跟踪金融投资组合的表现。
在本章中,我们将了解项目和项目类型,重点关注最基本的 Jira 项目类型——商业项目。然后,我们将介绍 Jira 为管理员和日常用户提供的各种项目操作界面。我们还将介绍项目权限,在本书后续内容中将进一步扩展。由于商业项目是最基础的项目类型,因此本章中涉及的大部分概念也适用于更专业的项目类型。
在本章中,我们将涵盖以下主题:
-
理解项目和项目类型
-
Jira 权限
-
创建项目
-
项目用户界面
-
将数据导入 Jira
-
HR 项目
理解项目和项目类型
项目是使用 Jira 时最重要的概念之一。一个项目可以代表从组织中的部门或团队,到实际的软件项目或 IT 帮助台等任何东西。描述一个项目的一种方式是,它是一个由工作项组成的集合,这些工作项被称为问题。它有助于在用户创建和处理问题时提供上下文。例如,软件开发团队会在为他们正在开发的产品创建的项目中处理问题,而支持团队则会在帮助台项目中工作。
项目类型有助于定义项目的目的,并为用户提供量身定制的体验和一系列功能。例如,服务管理项目会具有服务级别协议(SLA)等功能,而软件开发项目则支持 Scrum 或 Kanban。
每种项目类型还会配备一个或多个模板,模板包含一组预定义的配置,帮助你快速入门。以下截图显示了从开箱即用的 Jira 安装中提取的项目类型及其模板:

图 2.1 – 创建项目
项目类型和模板的列表会有所不同,具体取决于你在 Jira 部署中安装并启用的功能。稍后我们将在本书中介绍如何添加额外的项目类型。目前,我们将重点关注商业项目类型,因为它是最基本的,而且它的大部分功能在其他项目类型中也有共享。
商业项目
如我们已经看到的,Jira 提供了多种项目类型,这取决于你拥有的功能。业务项目类型是开箱即用的,其模板主要集中在帮助用户轻松创建任务并跟踪和报告其进展。
前三种模板——项目管理、任务管理和流程管理——都带有预定义的配置,如工作流和字段。你可以直接使用这些模板,或根据你的需要进一步自定义它们。还有其他类型的项目,如服务管理和软件开发,我们将在本书后续部分进行讲解。
Jira 权限
在我们深入探讨项目之前,我们需要了解一些关于权限的内容。权限是一个大话题,我们将在第九章,保护 Jira中详细讲解。现在,我们简要讨论与创建、浏览和管理项目相关的权限。
在 Jira 中,有多个权限级别:
-
全局权限:创建和删除项目以及管理 Jira 配置
-
项目权限:浏览和管理单个项目
-
问题权限:浏览单个问题
拥有 Jira 管理员全局权限的用户将能够创建和删除项目。默认情况下,Jira 管理员组中的用户拥有此权限,因此我们在安装过程中创建的管理员用户将在第一章,Jira 数据中心入门中,能够创建新项目。我们将称这些用户及任何其他拥有此权限的用户为Jira 管理员。
对于任何给定的项目,拥有该项目的管理项目权限的用户将能够管理项目的配置设置,正如我们将在本章后面看到的那样。这意味着拥有此权限的用户将能够访问给定项目的项目设置界面,从而更新项目的详细信息和配置。默认情况下,Jira 管理员将拥有此权限。
如果用户需要浏览某个项目的内容,则必须拥有该项目的浏览项目权限。这意味着用户将可以访问该项目的项目浏览器界面。默认情况下,Jira 管理员将拥有此权限。现在我们已经讲解了 Jira 权限的基础内容,接下来让我们看看如何在 Jira 中创建新项目。
创建项目
创建新项目的最简单方法是从顶部导航栏的项目下拉菜单中选择创建项目菜单选项。这将弹出创建项目对话框。请注意,如前所述,您需要是 Jira 管理员(例如,我们在安装过程中创建的用户)才能创建项目。仅在拥有此权限时,此选项才可用。
从创建项目对话框中,选择你想要使用的模板,在业务标题下并点击下一步。在下一页,Jira 会显示你所选模板的预定义配置。在我们的例子中,我们选择了项目管理模板,所以 Jira 会为我们提供两种问题类型以及一个包含三个步骤的非常简单的工作流。点击选择按钮继续,如下图所示:

图 2.2 – 项目管理 – 步骤 1
注意
创建项目后,你可以更改这些配置。
在第三步也是最后一步,我们需要为新项目提供详细信息。Jira 会帮助你验证这些信息,确保项目关键字唯一且符合要求的格式。填写完项目信息后,点击提交按钮创建新项目,如下图所示:

图 2.3 – 项目管理 – 步骤 2
以下表格列出了创建新项目时需要提供的信息:
| 字段 | 描述 |
|---|---|
| 名称 | 这是项目的唯一名称。 |
| 关键字 | 这是项目的唯一身份标识符。当你输入项目名称时,Jira 会根据名称自动填写关键字,不过你也可以用自己的关键字替换自动生成的关键字。你以后可以更改关键字。项目关键字也将成为项目中创建的问题的关键字的第一部分。 |
| 项目负责人 | 项目的负责人可以用于自动分配问题。每个项目只能有一个负责人。只有在 Jira 中有多个用户时,这个选项才会可用。 |
表 2.1 – 创建项目对话框信息
一旦创建了新项目,你将进入项目浏览器界面,我们将在后续章节中讨论这一部分内容。
你可能注意到,在创建项目对话框中,底部有三个额外的选项:
-
导入项目:这允许你从其他来源(如 CSV 文件)导入数据到新的或现有的 Jira 项目中。
-
使用共享配置创建:这允许你基于现有项目的配置创建一个新项目。这是一个快速创建基于标准配置集的项目的好方法,同时通过减少不同配置的数量来减少管理开销。
-
创建示例数据:这允许你创建一个新项目,并用一些示例问题填充它,以便你可以开始探索不同项目模板提供的各种功能。
我们将在将数据导入 Jira章节中介绍如何将数据导入项目。使用示例数据创建项目是测试新项目模板的好方法。
项目用户界面
Jira 中有两种不同的项目界面。第一种界面是为日常用户设计的,提供有关项目如何使用报告、统计和敏捷看板的有用信息。我们将这种界面称为项目浏览器界面。
第二种界面是为项目管理员设计的,用于控制项目配置设置,如权限和工作流;我们将这种界面称为项目设置界面。
创建项目后,首先看到的界面将是项目浏览器。我们将从查看该界面开始,然后再查看项目设置界面。
项目浏览器
项目浏览器会根据你创建的项目类型有所不同。对于业务项目,它相对简单。左侧面板有几个标签可供选择:
| 浏览器视图 | 描述 |
|---|---|
| 总结 | 该标签显示项目的快速概述。它有两种视图:活动视图和统计视图。 |
| 问题 | 这是你将主要使用的标签。它包含项目中的问题列表。你可以配置问题如何被包含在列表中,以及你希望显示哪些数据。 |
| 报告 | 该标签包含若干内置和自定义报告,你可以根据项目中的问题生成报告。可用的报告类型会根据项目类型的不同而有所变化。 |
| 版本 | 该标签显示项目版本的概述。仅在已配置版本时才可用此标签。 |
| 组件 | 该标签显示组件及其相关问题的概述。仅在项目已配置组件时,才可用此标签。 |
| 添加链接 | 在这里,你可以将其他链接添加到左侧面板中,例如与项目相关的重要文档或其他有用资源的链接。 |
表 2.2 – 项目浏览器标签
让我们更详细地看看这些标签。
总结标签
总结标签为你提供了你正在处理的项目的单页面视图。对于业务项目,它提供了活动视图,显示项目中正在发生的最新活动,以及统计视图,提供项目中问题的若干有用细分。例如,未解决:按指派人可以让你了解每个用户被指派的未解决问题数量,从而帮助项目团队进行资源分配计划,如下图所示:

图 2.4 – 总结标签
问题标签
默认情况下,问题标签会列出项目中所有未解决的问题。它还包含若干预定义的过滤器,供你用来查找问题。在这里,你可以选择单个问题并获取更多信息,如下图所示:

图 2.5 – 问题标签
版本和组件标签
版本和组件标签分别列出了为该项目配置的所有可用版本和组件。如果项目包含版本和/或组件,这两个视图才会可见。稍后我们将了解如何使用它们。
项目设置
项目设置界面是项目管理员可以管理项目设置和配置的地方。例如,您可以更改项目的名称和关键字,选择可用于项目的问题类型,以及管理项目中的组件列表。只有具有指定项目的管理项目权限的用户才能访问此界面。
要访问项目设置界面,请按照以下步骤操作:
-
转到要管理的项目的项目浏览器界面。
-
在左下角选择项目设置选项。如果您没有看到此选项,则说明您没有必要的权限。
在项目设置界面中,您将能够执行以下关键操作:
-
更新项目详情,例如项目名称、描述、头像和类型
-
管理用户在项目中工作时所看到的内容,如问题类型、字段和屏幕
-
配置项目使用的工作流
-
控制权限设置和通知
-
管理可用组件和版本的列表
上述关键操作可以在以下截图中看到:

图 2.6 – 项目设置
作为项目管理员,您将在此应用项目的自定义设置;您可以在左侧面板中找到所有选项。当您创建项目时,Jira 将根据您选择的模板自动为您创建这些配置。让我们来看看每个选项。
项目详细信息标签
第一组选项包括总结、详细信息、审计日志、重新索引项目和删除项目。让我们更详细地了解这些选项:
-
总结:显示项目当前所有配置设置的单页视图。
-
详细信息:允许您更改项目的一般信息,包括项目关键字、类型、头像、描述和类别。
-
审计日志:这是 Jira 数据中心中的一项新功能,它会显示对项目所做的配置更改列表(请注意,这不包括对问题所做的更改)。它会显示更改的内容、更改发生的时间以及谁进行了更改。
-
重新索引项目:此功能重新索引项目,以更新该项目中问题的搜索索引。每当项目配置发生更改时,例如添加新字段时,您应该执行此操作。
-
删除项目:此功能会删除项目及其所有问题。此操作无法撤销。
组件标签
组件 标签是项目管理员可以管理其项目组件的地方。组件可以看作是构成完整项目的子部分。在一个业务项目中,组件可以是需要完成的各种业务功能或操作。如以下截图所示,当前项目中已配置了三个组件:

图 2.7 – 组件
组件在 Jira 中是项目特定的。这意味着一个项目中的组件不能在另一个项目中使用。这也允许每个项目维护自己的一套组件。一个组件有四个信息项,如下表所示:
| 字段 | 描述 |
|---|---|
| 名称 | 这是组件的唯一名称。 |
| 描述 | 描述是可选的,但可以解释该组件的用途。 |
| 负责人 | 这是一个可选字段,你可以选择一个用户作为该组件的负责人。例如,在一个软件项目中,这可以是该组件的主要开发人员。 |
| 默认受派人 | 该字段告诉 Jira,当创建一个没有选择受派人的问题时,如果该问题有一个组件,Jira 将自动将问题分配给选定的默认受派人。 |
表 2.3 – 组件字段
组件的一个有用功能是能够为每个组件分配一个默认受派人。这意味着,当用户创建一个带有组件的问题并将受派人设置为自动时,Jira 将能够根据所选组件自动分配该问题。这对于成员之间彼此不太了解的组织来说是一个非常有用的功能。因此,在创建时分配问题时,他们通常发现很难决定将其分配给谁。此功能可以设置为组件的负责人成为默认受派人。这意味着已经提出的问题可以委派给团队中的其他成员。
注
如果问题有多个组件并且每个组件都有默认的受派人,则将使用按字母顺序排列的第一个组件的受派人。
版本标签
与组件标签一样,版本标签允许项目管理员管理其项目的版本。版本作为项目的里程碑。在项目管理中,版本代表时间节点。尽管对于非产品导向的项目来说,版本可能看起来不太相关,但在管理和跟踪问题与工作进度时,版本仍然可以发挥重要作用。
与组件一样,版本也有几个属性,如下表所示:
| 字段 | 描述 |
|---|---|
| 名称 | 这是版本的唯一名称。 |
| 描述 | 描述是可选的,但可以解释该版本的用途。 |
| 开始日期 | 这是一个日期指示,表示预计开始处理该版本的时间。 |
| 发布日期 | 这是一个可选日期,标记为版本发布的计划日期。如果版本没有按照发布日期发布,其日期将以红色突出显示。 |
表 2.4 – 版本字段
版本主要用于软件开发项目,其中软件产品有一个发布版本。它对业务项目的适用性较低,但如果需要跟踪版本,例如文件,您可以使用此标签来跟踪与特定版本相关的任务。
其他标签
在项目设置界面中还有几个其他标签。我们不会在本章中探讨这些标签,因为它们将在单独的章节中讨论。然而,我们将简要了解每个标签的作用,如下表所示:
| 标签 | 描述 |
|---|---|
| 问题类型 | 该标签控制用户可以为项目创建的问题类型。例如,这可能包括错误、改进和任务。问题类型将在第四章中讨论,处理问题。 |
| 工作流 | 该标签控制我们将要处理的工作流问题。工作流由一系列步骤组成,通常模拟组织中现有的流程。工作流将在第七章中讨论,工作流和业务流程。 |
| 屏幕 | 屏幕是用户在 Jira 中查看、创建和编辑问题时看到的界面。屏幕将在第六章中讨论,屏幕管理。 |
| 字段 | 这些是 Jira 在用户创建问题时用来捕获数据的字段。Jira 提供了一组默认字段,Jira 管理员可以根据需要添加额外的字段。字段将在第五章中讨论,字段管理。 |
| 用户和角色 | 项目管理员可以在项目中定义角色并将用户分配给这些角色。这些角色可以用于控制权限和通知。角色将在第九章中讨论,保护 Jira。 |
| 权限 | 正如我们已经看到的,权限定义了谁可以执行某些任务或访问 Jira。权限将在第九章中讨论,保护 Jira。 |
| 问题安全 | Jira 允许用户通过选择问题安全级别来控制谁可以查看他们创建的问题。问题安全将在第九章中讨论,保护 Jira。 |
| 通知 | Jira 可以在某些事件发生时发送电子邮件通知。例如,当问题被更新时,Jira 可以向所有参与的用户发送邮件通知。通知将会在第八章,“电子邮件和通知”中进行详细讲解。 |
表 2.5 – 项目设置选项卡
现在我们已经了解了 Jira 的两种用户界面,让我们学习如何将数据导入 Jira。
导入数据到 Jira
Jira 允许你从其他来源导入数据,例如其他问题跟踪系统,并告诉你数据是否可以导出为支持的格式,如 CSV 或 JSON。所有导入工具都有向导驱动的界面,帮助你完成一系列步骤。这些步骤大致相同,但也有一些不同。一般来说,导入数据到 Jira 需要四个步骤,如下所示:
-
选择你的源数据——例如,CSV 文件。
-
选择一个目标项目,导入的问题将被放入该项目中。这个项目可以是一个现有的项目,也可以是一个即时创建的新项目。
-
将源字段(例如,CSV)映射到 Jira 字段。
-
将源字段的值映射到 Jira 字段值。这通常需要针对基于选择的字段进行操作,例如优先级字段或选择列表字段。对于文本和数字字段,这不是必需的。
现在,让我们看看如何使用 CSV 文件导入数据。
通过 CSV 导入数据
Jira 提供了一个 CSV 导入工具,可以让你以逗号分隔值(CSV)格式导入数据。这是一个非常实用的工具,因为大多数系统都可以以这种格式导出数据。你也可以使用这个工具将 Excel 表格转换成 CSV 文件。
在将 CSV 文件导入 Jira 之前,你需要确保正确格式化数据。以下是导入数据之前必须验证的项目清单:
-
每一行必须作为一个单独的问题导入,因此请确保每一行都包含问题的所有值。
-
每一列应该对应到一个 Jira 字段。这个字段可以是系统字段,也可以是自定义字段。
-
至少,你需要为必填字段提供值,例如问题摘要。
-
所有日期或日期时间值需要采用一致的格式。
-
如果某一列需要映射到用户字段(例如,指派人),请确保使用正确的用户名值。
-
如果某一列需要映射到基于选择的字段(例如选择列表或复选框),请确保检查值的拼写。
一旦你格式化好了 CSV 文件,按照以下步骤将其导入 Jira:
-
从项目下拉菜单中选择导入外部项目选项。
-
点击CSV选项。这将启动导入向导。
-
现在,你需要通过点击选择文件按钮,选择包含你要导入数据的 CSV 文件。
-
选择源文件后,你可以展开高级部分,选择 CSV 文件使用的文件编码和分隔符。还有使用现有配置文件选项,稍后我们会在本节中讲解。
-
点击下一步按钮继续,如下图所示:

图 2.8 – CSV 文件导入
-
接下来,你需要选择要将数据导入的项目。你也可以选择创建新项目选项,在此创建一个新的项目。
-
如果你的 CSV 文件包含日期相关的数据,确保在日期格式字段中输入所使用的格式。
-
点击下一步按钮继续,如下图所示:

图 2.9 – 映射项目
-
接下来,你需要将 CSV 字段(列)映射到 Jira 中的字段。并非所有字段都需要映射。如果你不想导入某一列的数据,只需不将该 CSV 字段映射到 Jira 字段即可。
-
对于包含需要手动映射的数据的字段,例如选择列表字段,你需要勾选映射字段值复选框。这将允许你将 CSV 字段值映射到 Jira 字段值,以便正确导入。如果你没有手动映射这些值,它们将被原样复制。对于像选择列表这样的字段,将会自动创建新的选项。
-
点击下一步按钮继续,如下图所示:

图 2.10 – 映射字段
-
最后,你需要将 CSV 字段值映射到 Jira 字段值。只有在步骤 10中勾选了映射字段值复选框的字段,才需要执行此步骤:
-
输入每个 CSV 字段值对应的 Jira 字段值。
-
当你完成字段值映射后,点击开始导入按钮开始实际的导入过程,如下图所示。根据你的数据大小,完成这个过程可能需要一些时间:
-

图 2.11 – 映射值
- 一旦导入过程完成,你会收到一个确认信息,告知你已经导入的问题数量,如下图所示。这个数字应该与你在 CSV 文件中的记录数量匹配:

图 2.12 – 完成的导入过程
在最后的确认页面上,你可以点击下载详细日志链接,下载包含所有导入过程信息的完整日志文件。如果导入没有成功,这个功能特别有用。
您还可以点击保存配置链接,这将生成一个包含您为此次导入所做所有映射的文本文件。如果您将来需要进行类似的导入,您可以使用此导入文件,从而不必重新进行所有的手动映射。要使用此配置文件,请选中使用现有配置文件选项,该选项会出现在第 4 步中。
正如我们所看到的,Jira 的项目导入器使得从其他系统导入数据变得非常简便。在接下来的部分,我们将学习如何存档旧项目,以帮助提高 Jira 的性能。
存档项目和问题
随着您继续使用 Jira,用户将会注意到 Jira 的性能会随着时间的推移而逐渐下降。比较明显的例子包括加载 Jira 仪表盘和搜索问题。数据量确实是影响 Jira 性能的一个重要因素——项目、问题和相关配置(如自定义字段)越多,Jira 需要处理的数据就越多,最终用户的使用速度就会越慢。存档旧的和未使用的项目通常是解决此问题的有效方法。
在 Jira 数据中心之前,存档一个项目需要您导出并完全删除项目,或者通过移除用户权限来隐藏该项目及其问题。两种方法都很复杂且容易出错。
在 Jira 数据中心,现在有一个内置的存档功能,使得存档过程简单且可靠。要存档一个项目,请按照以下步骤操作:
-
使用管理员账户登录 Jira。
-
浏览到管理 | 项目。
-
选择您希望存档的项目的存档选项,如下所示:

图 2.13 – 存档一个项目
- 在提示时确认您要存档该项目:

图 2.14 – 存档项目 – 确认
一旦项目被存档,它将不再出现在最终用户的列表中。存档项目中的问题将不会出现在任何搜索结果中。然而,如果您有该问题的直接链接,仍然可以访问它,尽管无法进行任何更改。通过存档一个项目,与该项目相关的所有数据(如问题)将从 Jira 的搜索索引中移除。这将保持索引大小较小,并提高整体性能。
如果您需要恢复一个已存档的项目,请按照以下步骤操作:
-
浏览到管理 | 项目 | 存档项目。
-
选择您希望恢复的项目的恢复选项。
-
进入恢复的项目并点击开始项目重新索引按钮。
由于存档后的项目将其数据从 Jira 的搜索索引中移除,因此在项目的问题显示在搜索结果中之前,您需要重新索引该项目。
值得注意的是,归档项目与删除项目之间的一个区别是,归档项目时,与项目相关的任何配置仍被视为在使用中,因此不能删除它们。这是因为 Jira 需要确保在取消归档项目时,所有配置仍然可用。
人力资源项目
现在我们已经了解了构成项目的所有关键方面,让我们回顾一下迄今为止学到的内容,并付诸实践。在本练习中,我们将为人力资源(HR)团队设置一个项目,帮助他们跟踪和管理员工的入职与离职,以及与招聘过程相关的任务。
创建新项目
首先,我们将为 HR 团队创建一个新项目。按照以下步骤创建项目:
-
通过从项目下拉菜单中选择创建项目选项,打开创建项目对话框。
-
选择任务管理项目模板。我们可以在业务项目类型中使用其他模板,但任务管理模板是最简单的选项,并且将使未来的自定义更加容易。
-
将我们的新项目命名为
Human Resource,并接受关键字和项目负责人的其他默认值。 -
点击提交按钮以创建新项目。
此时,您将进入新项目的项目浏览器界面。
创建新组件
现在我们的新项目已经就绪,我们需要创建几个组件。这些组件将作为我们任务的分组。我们需要执行以下步骤来创建新组件:
-
点击左下角的项目设置选项。
-
从项目设置界面,选择组件标签。
-
为新组件输入
Employee Onboarding作为名称。 -
为新组件提供简短的描述。
-
选择一个用户作为组件负责人。
-
点击添加以创建新组件。
-
添加更多组件。
使用业务项目类型创建的项目,默认情况下不显示组件,因此我们需要手动将组件字段添加到相应的屏幕中。我们将在第三章、字段管理以及第六章、屏幕管理中分别讨论字段和屏幕。现在,按照以下步骤,在创建、编辑和查看任务时显示我们的组件:
- 从项目管理界面,选择屏幕标签。应显示三个屏幕,如下图所示:

图 2.15 – 项目屏幕
-
点击HR: 任务管理创建问题屏幕。这将打开配置屏幕页面,列出当前在所选屏幕上的字段。
-
在页面底部的选择框中输入并选择组件;这将把组件字段添加到屏幕中。
-
重复步骤 2和步骤 3以进行HR:任务管理编辑/查看问题屏幕。
将一切整合起来
现在您已经完全准备好您的项目,让我们通过创建一个问题来看一切是如何整合的,如下所示:
-
点击顶部导航栏中的创建按钮。这将弹出创建问题对话框。
-
选择人力资源作为项目,选择任务作为问题类型。
-
用一些虚拟数据填写字段。请注意,组件字段应该显示我们刚才创建的组件。
-
点击创建按钮以创建问题。
如果一切操作正确,您应该看到类似下面的对话框,您可以选择您的新项目以创建问题,并选择可以选择的新组件:

图 2.16 – 创建问题
您可以通过将受让人字段设置为自动并选择一个组件来测试默认受让人功能;Jira 会自动将问题分配给该组件定义的默认受让人。如果一切顺利,问题将在新项目中创建。
总结
在本章中,我们探讨了 Jira 中最重要的概念之一——项目,以及如何创建和管理它们。我们介绍了权限,并查看了与创建、浏览和管理项目相关的三种权限。我们还了解了 Jira 数据中心中引入的非常有用的项目归档功能,以及如何利用它通过归档未使用的项目来帮助提高 Jira 性能。
我们还介绍了 Jira 为项目管理员和日常用户提供的两个界面——项目设置界面和项目浏览器界面。在下一章中,我们将学习如何使用软件项目类型创建项目,以便启用 Scrum 和 Kanban 来进行敏捷项目管理。
第二部分:Jira 实战
在本节中,您将学习如何使用 Jira。您将熟悉处理不同问题的技巧,探索字段、创建新屏幕、管理工作流以及设置进出邮件服务器。
本节包括以下章节:
-
第三章,使用 Jira 进行敏捷项目管理
-
第四章,处理问题
-
第五章,领域管理
-
第六章,屏幕管理
第三章:使用 Jira 进行敏捷项目管理
在上一章中,我们了解了 Jira 项目的基础知识,并使用 Jira 进行常规的任务管理。在本章中,我们将重点介绍如何使用 Jira 来进行敏捷软件开发项目,包括Scrum、Kanban 和 Kanplan。我们将简要概述每种敏捷方法,并看看如何在 Jira 中使用它们。
在本章中,我们将涵盖以下主题:
-
获取 Scrum 和 Kanban 的概述
-
在 Jira 中运行 Scrum 项目
-
在 Jira 中运行 Kanban 项目
-
配置敏捷看板
-
管理待办事项
-
为你的项目创建新的敏捷看板
-
在你的看板上包含多个项目
获取 Scrum 和 Kanban 的概述
Scrum 和 Kanban 是 Jira 支持的两种敏捷软件开发方法。如果你已经熟悉 Scrum 和 Kanban,可以跳过这一部分。不过,如果你来自传统的瀑布模型并且是敏捷方法的新手,下面是它们的快速概述。我强烈建议你获取更多的资源来深入了解每种方法。一个很好的起点是 Atlassian 敏捷教练,可以在 www.atlassian.com/agile/about 找到。我们将在本节中快速回顾 Scrum 和 Kanban。
Scrum
Scrum 不同于瀑布模型,它强调迭代的概念。使用 Scrum,项目被分为多个迭代,称为sprint,每个 sprint 持续 2 到 4 周,目标是在每个 sprint 结束时,交付一个经过充分测试并且可能可交付的产品。
在每个 sprint 开始时,产品负责人和团队会聚在一起,进行所谓的sprint 规划会议。在会议中,会决定下一个 sprint 的范围。通常包括待办事项列表中的优先级最高的任务,待办事项列表中包含所有未完成的工作。
在每个 sprint 中,团队每天都会开会,回顾进展,标记任何潜在的问题或障碍,并计划如何解决这些问题。这些会议通常很简短,目标是确保团队中的每个人都在同一页上。
在 sprint 结束时,团队会聚集在一起,回顾 sprint 的结果,看看哪些做得好,哪些没有做好。目标是找出改进的地方,这些反馈将被用来优化未来的 sprint。这个过程会持续,直到项目完成。
Kanban
Kanban 与 Scrum 不同,后者按迭代进行,而 Kanban 更加注重实际交付的执行。它强调从开始到结束可视化交付工作流程,限制每个工作流程阶段的工作项数量,并衡量交付的提前时间。
使用看板时,重要的是能够直观地看到工作项如何通过工作流,识别效率低下和瓶颈的地方,并进行改进。这是一个持续的过程,工作从一端进入,从另一端流出,确保事情尽可能高效地进行。
在 Jira 中运行 Scrum 项目
Scrum 是我们将要介绍的第一个敏捷方法。使用 Jira 时,Scrum 项目主要由两个部分组成——待办事项,您和团队将在这里进行大部分的规划,和活跃冲刺的敏捷看板,团队将使用它来跟踪当前冲刺的进度。让我们从在 Jira 中创建一个新的 Scrum 项目开始。
创建 Scrum 项目
在 Jira 中使用 Scrum 的第一步是使用 Scrum 模板创建一个项目。按照以下步骤操作:
-
从 项目 下拉菜单中选择 创建项目 选项。
-
选择 Scrum 软件开发 模板并点击 下一步:

图 3.1 – 创建 Scrum 项目
-
接受设置并点击 下一步。
-
输入新项目的名称和关键字,并点击 提交。
创建新 Scrum 项目后,您将进入 Scrum 界面,如下图所示:

图 3.2 – Scrum 界面
Scrum 界面有以下几个主要部分:
-
待办事项:这是存放所有未计划问题的地方。你可以将它看作是一个待办清单。产品负责人和开发团队将共同确定待办事项中问题的优先级,然后将这些问题安排到冲刺中进行交付。
-
活跃冲刺:此视图显示当前进行中的冲刺以及属于这些冲刺的问题。这是开发团队每天使用的工具,用于跟踪他们的进展。
-
报告:此视图包含几个报告,您可以生成这些报告来查看项目的表现。这些报告帮助您和团队可视化项目的进展,并提供有价值的反馈,供未来的冲刺规划会议中改进使用。
让我们仔细看一下这些部分,从待办事项开始。
使用待办事项
待办事项是您项目的待办清单,存放着所有未完成的功能(通常以故事的形式表示)和任务。当您刚开始时,待办事项可能是空的,因此第一步是产品负责人和团队共同合作,将需要完成的故事和任务添加进去。在此过程中,更多的是像一个头脑风暴会议,团队合作将客户和其他利益相关者的需求转化为可操作的故事和任务。
优先级排序和工作估算
一旦你填充了待办事项,下一步就是评估和优先排序问题,以便你能够规划并制定一个如何完成这些问题的时间表。在 Jira 中,优先排序待办事项意味着通过拖动问题上下调整其位置。要提高问题的优先级,你可以简单地将它拖到待办列表的更高位置。虽然通常是产品负责人负责优先排序哪些功能先交付,但团队也应参与此过程,以确保大家在项目方向上保持一致。
估算工作量是 Scrum 中至关重要的一部分,冲刺的成功很大程度上取决于你和你的团队如何进行估算。人们经常混淆的一点是,他们倾向于将估算看作时间的衡量——例如,故事 A 需要 5 小时完成,故事 B 需要 10 小时。虽然这乍看起来是正确的,但通常发生的情况是,人们会更加努力地工作以使估算看起来准确,或者因为对任务不确定而给出较大的估算。这可能会导致项目进展中的问题,因为没有人愿意被认为是那个无法提供可靠估算的人,或者是因为估算超出范围而低效的人。
避免这个陷阱的一种方法是使用一种不同的估算方法,叫做故事点,这是 Jira 中的默认估算方法。这背后的想法是根据问题的复杂度来衡量和估算,而不是仅仅根据完成它们所需的时间。因此,如果你以 10 个故事点的总量开始冲刺,并且在冲刺结束时未能完成所有任务,这可能意味着你的预期过于激进,可能需要降低期望。由于估算不是基于所用时间,它只是表明问题可能太复杂,你需要将其拆分成更易处理的部分。这有助于防止人们感觉自己一直在与时间赛跑,并帮助你更好地定义和拆分任务,使其更易于管理。
然而,有时候你可能会发现很难估算故事的复杂度。这通常意味着你对故事没有足够的信息,或者故事的范围太大,需要进行拆分。团队应意识到这一点,并且不要回避重新提问,确保在提供估算之前,完全理解故事的目的。
现在我们已经确定了估算问题的方法,可以继续进行。输入估算值的操作非常简单,像这样进行:
-
从待办事项中选择一个问题进行评估。
-
在估算字段中输入故事点的数量,如下截图所示:

图 3.3 – 故事点
一旦问题被添加到活跃的冲刺中,你不应该更改估算。冲刺中期更改估算可能导致冲刺规划阶段的估算不准确,进而影响未来的改进。
创建新的冲刺
在积压列表已填充并且问题已估算完毕后,下一步是为团队创建一个冲刺开始工作。请注意,你需要拥有管理冲刺权限才能创建新的冲刺。权限将在第九章中讲解,Jira 安全性。
创建新冲刺的步骤如下:
-
转到项目的积压列表。
-
点击创建冲刺按钮。
-
输入冲刺的名称。
-
选择冲刺的持续时间并点击创建按钮。通常来说,你希望保持冲刺时间较短,1 到 2 周是一个不错的长度。
-
通过拖放已由团队优先排序的问题到冲刺框中,将问题添加到冲刺中,如下图所示:

图 3.4 – 创建冲刺
一旦团队决定了冲刺的范围,就该开始冲刺了:
-
点击开始冲刺按钮。
-
更新冲刺的持续时间是必要的。点击开始按钮以启动你的冲刺,如下截图所示:

图 3.5 – 启动新的冲刺
如果你希望自行指定冲刺的结束日期,而不是使用自动计算的日期,可以选择自定义选项来设置冲刺的持续时间。
一旦冲刺开始,你可以进入活跃冲刺视图,团队可以开始进行交付工作。
如果开始冲刺按钮是灰色的,意味着你已经有一个正在进行的活跃冲刺,并且没有启用并行冲刺选项,或者你没有管理冲刺的权限。权限将在第九章中讲解,Jira 安全性。
通常情况下,每次只有一个团队在项目上工作,但如果你的团队很大,并且不同的人可以同时处理项目的不同部分,你需要启用并行冲刺选项:
-
以管理员身份登录 Jira。
-
浏览 Jira 管理控制台。
-
选择应用程序选项卡,然后选择Jira 软件配置。
-
勾选并行冲刺选项以启用它。
启用并行冲刺选项后,你可以同时启动多个冲刺。在运行多个冲刺时,最好将它们分开,以免相互干扰。一个好的例子是同时进行两个专注于项目不同领域的冲刺,比如交付和文档。
当你有并行冲刺时,由于活跃冲刺视图(见下一节)一次只会显示一个冲刺,你需要在冲刺之间切换,如下所示的截图:

图 3.6 – Scrum 冲刺
创建了冲刺后,让我们看看冲刺期间会发生什么。
运行冲刺
一旦团队在冲刺计划会议中优先排序了问题并启动了冲刺,敏捷板将切换到活跃冲刺视图。对于普通团队,在任何给定的时间,你将有一个活跃冲刺,且你的活跃冲刺板将如下所示:

图 3.7 – 活跃冲刺板
在 Scrum 板上,每个问题都表示为一张卡片,板本身由垂直列组成,代表问题可能处于的各种状态,并与项目所使用的工作流相匹配。因此,在我们的示例中,我们有默认的工作流,包含三个状态——待办、进行中和已完成。正如稍后所见,项目管理员将能够自定义这些状态。团队成员在工作和完成任务时,将问题卡片移动到相应的列中。
该看板还可以被分为几个水平行,称为泳道。这些泳道帮助你将类似问题进行分组,使你的看板更易于理解。在我们的示例中,我们根据故事将问题分组到泳道中。与列一样,项目管理员可以自定义如何定义泳道。
当冲刺进行时,避免通过添加更多问题到冲刺中来引入范围蔓延是很重要的,Scrum Master 和产品负责人有责任确保团队不被干扰或阻塞。然而,偶尔会出现紧急情况,要求加入某些功能或修复,这时可以从待办事项视图中将新问题添加到活跃冲刺中。
然而,请记住,这不应该成为一种常见习惯,因为它会分散注意力,通常是冲刺计划不当或与利益相关者沟通不良的标志。因此,每当你尝试将更多问题添加到活跃冲刺时,Jira 会提示你,如下所示的截图:

图 3.8 – 冲刺范围蔓延
在冲刺结束时,你需要通过以下步骤来完成冲刺:
-
进入 Scrum 板并点击活跃冲刺。
-
点击完成冲刺链接,如下所示的截图所示:

图 3.9 – 完成冲刺
- 点击完成按钮以结束冲刺。
一旦你在 Jira 中完成了一个冲刺,任何未完成的问题将被放回待办事项列表。有时,你可能会有一些计划但尚未激活的冲刺;在这种情况下,当前激活冲刺中未完成的问题可以自动添加到下一个可用的冲刺中。
当你只剩下一个问题要完成时,可能会想把冲刺延长几天。虽然这不是硬性规定,但你应该尽量避免这样做,只需将未完成的问题返回到待办事项列表,并在下次冲刺会议中重新安排优先级。因为 Scrum 是一个迭代过程,目标不是让每个人拼命工作,而是能够回顾团队在上一个冲刺中做对了什么和/或做错了什么,并在下一个冲刺中改进。也许这样做的原因是由于估算不准确或在需求收集过程中做了不正确的假设。关键是,团队应该把这看作是一次改进的机会,而不是急于完成的失败。简单地延长当前冲刺以容纳未完成的事项,可能会变成一个恶性循环,冲刺延长成为常态,而根本问题却被掩盖。
在 Jira 中使用看板管理项目
现在我们已经了解了如何通过 Scrum 运行项目,是时候看看 Jira 支持的另一种敏捷方法论——看板了。与 Scrum 相比,看板对于刚接触敏捷的团队来说可能是一个更简单的入门方法。与有待办事项列表并要求团队在冲刺中进行优先级排序和交付计划的 Scrum 不同,看板完全专注于执行和衡量工作流量。
在 Jira 中,典型的看板板与 Scrum 板相比有以下不同:
-
默认情况下没有待办事项视图。由于看板没有冲刺规划阶段,因此你的看板本身就充当了待办事项列表。稍后我们会在本章中看到如何为看板启用待办事项。
-
没有活动冲刺。看板的核心思想是有一个持续的工作流。
-
Scrum 和看板有不同类型的报告,分别为每种方法论量身定制。
-
列可以设置最小值和最大值的约束。
-
如果违反了约束条件,列会被突出显示。如以下截图所示,由于违反了约束条件,开发选择和进行中这两列都被突出显示:

图 3.10 – 看板板
现在我们已经了解了在 Jira 中看板项目的样子,让我们学习如何创建一个看板项目。
创建看板项目
在 Jira 中使用看板的第一步是创建一个看板模板的项目。按照以下步骤操作:
-
从项目下拉菜单中选择创建项目选项。
-
选择看板软件开发模板并点击下一步,如下图所示:

图 3.11 – 创建一个看板项目
-
接受设置并点击下一步。
-
输入新项目的名称和关键字,然后点击提交。
创建完看板项目后,你将进入看板视图,这与 Scrum 看板的活跃冲刺视图非常相似。记住,在看板中,就好像你在进行一个永无结束的冲刺,或者直到整个项目完成时才结束。因此,敏捷看板本身的重点是帮助你和你的团队执行交付。
使用看板
如前所述,使用看板时默认情况下没有冲刺计划,因此,一切都直接发生在看板上,而不是在待办事项列表中。操作看板非常简单;新创建的问题会直接添加到看板的第一列,默认名为待办事项,因为它充当着你看板中的待办事项列表。团队成员会从待办事项列中抓取问题,指派给自己,并将其推进工作流。在各个阶段,问题可能需要重新指派给其他用户——例如,当一个问题从开发阶段转到测试阶段时,它可能会被重新指派给测试工程师。随着越来越多的问题完成,你可以配置看板,在一段时间后自动将已完成的问题从看板上移除,或者进行发布,这会将已完成列中的所有问题从看板上移除(仍然存在于系统中)。第一个选项适用于使用看板进行一般任务管理的团队,而使用发布功能更适合软件开发,其中版本可以发布。
让我们看一下看板的一个示例,如下图所示,在其中我们可以看到,在开发中和测试中阶段都存在问题。开发中阶段用红色标出,意味着我们那里有足够的工作量,这是瓶颈的迹象。测试中阶段用黄色标出,意味着我们没有足够的工作量,这是低效的迹象:

图 3.12 – 看板
通过这个功能,看板可以直观地告诉我们在哪些地方遇到问题,从而使我们能够集中注意力解决这些问题区域。在开发中阶段的瓶颈可能意味着我们缺乏足够的开发人员,从而导致测试中阶段的低效,在这一阶段,测试人员可能只是坐着等待工作流过来。
这引出了一个常见问题——我的列的正确限制应该是什么?简短的回答是:在实践中尝试并进行实验。
长期的答案是,没有单一正确的灵丹妙药答案。你需要理解的是,许多因素会影响团队的吞吐量,比如团队的规模、成员的加入或离开、以及手头的任务。在我们的示例中,简单的解决方法是降低两个列的限制,然后就完成了。但通常来说,找到问题的根本原因同样重要,而不是仅仅试图修复看板本身。也许你应该尝试的是增加更多的开发人员,以便能够跟上交付所需的节奏。这里的要点是,看板可以帮助你找出问题的领域,而由你和你的团队去找出原因并找到合适的解决方案。
启用看板的待办事项
对于那些来自 Scrum 的用户来说,缺少一个适当的待办事项可能会让人感到不舒服,或者随着项目的增长,所有新问题都显示在看板的待办事项栏中会变得太臃肿。好消息是,Jira 支持看板和 Scrum 的混合方法,叫做Kanplan,它允许你为看板项目配置待办事项。
要将 Scrum 风格的待办事项添加到你的看板项目中,你只需将适当的状态映射到看板待办事项栏中。请按照以下步骤操作:
-
浏览你项目的敏捷看板。
-
点击看板菜单并选择配置选项。
-
从左侧导航面板中选择列选项。默认情况下,有一个名为待办事项的列。
-
删除待办事项列。
-
将现在未映射的待办事项状态从右侧的未映射状态列拖动并放置到左侧的看板待办事项栏中,如下图所示:

图 3.13 – 配置看板待办事项
在看板待办事项栏中映射了状态后,你现在将拥有一个看起来和运作方式都像 Scrum 项目的待办事项,而且任何新创建的问题都会被添加到待办事项中,因为它们会处于待办事项工作流状态,如下图所示:

图 3.14 – 看板待办事项
你可以将多个状态映射到待办事项栏中,正如我们在第七章《工作流与业务流程》中看到的那样,当我们深入讨论工作流时,你可能会有一个更复杂的流程,且处于不同状态的问题可以出现在待办事项中。为看板配置待办事项的另一个好处是,如果你有成百上千个问题,Jira 这样显示它们比在看板上显示要更快、更高效。
由于您的待办事项中可能有数百个问题,因此待办视图还提供了一个快速搜索栏,允许您快速筛选并查找需要的问题。如果您的问题已分配给史诗和版本,您还可以使用史诗和版本面板来显示与您选择的史诗和版本相关的问题。
现在我们已经了解了如何使用 Jira 运行 Scrum 和 Kanban 项目,让我们看看如何定制我们的敏捷看板。
配置敏捷看板
Jira 的敏捷看板高度可定制,许多定制选项利用了 Jira 的核心功能,如工作流。如果您不熟悉它们,请不用担心——我们将在本书的后续章节中从整体上介绍这些内容,并深入探讨每个细节。在本节中,我们将探索这些定制选项,从看板的列布局开始。
配置列
对于 Scrum 和 Kanban,板块的列映射到项目使用的工作流,默认创建的工作流非常简单。例如,默认的 Scrum 工作流包含三个状态——待办、进行中和已完成。然而,这通常不够,因为项目在其开发周期中可能会有额外的步骤,如测试和审查。要向您的看板添加新列,请按照以下步骤操作:
-
浏览您的项目敏捷看板。
-
点击Board菜单并选择Configure选项。
-
从左侧导航面板选择Columns选项。
-
点击添加列按钮。
-
输入新列的名称并选择其类别。通常,您的新列会归类为进行中,除非您正在替换待办或已完成列:

图 3.15 – 添加列
-
拖动并放置新列,将其放置到开发工作流中的正确位置。
-
如果该列表示问题的完成状态,例如已完成,请勾选设置解决方案复选框。这将自动将问题的解决方案设置为已完成。如果您希望在完成问题时能够选择不同的解决方案值或使用其他值,不用担心——我们将在第七章中介绍,工作流与业务流程。
对于使用与新项目一起创建的工作流(也称为简化工作流)的项目,您只需按以下截图所示定制列即可。如果您有现有的工作流并希望将列适配到该工作流,那么我们将在第七章中介绍如何操作,工作流与业务流程。
添加列约束
在前一节中,我们提到 Kanban 的一个关键方面是控制进入工作流的工作量。
尽管工作约束是 Kanban 中使用的概念,有时人们也会将其与 Scrum 一起采用。这使你可以使用 Scrum 进行规划,使用 Kanban 执行,形成一种混合方法,称为 Scrumban。
要为你的敏捷看板设置列约束,请按照以下步骤操作:
-
浏览你的项目的敏捷看板。
-
点击 看板 菜单并选择 配置 选项。
-
从左侧导航面板中选择 列 选项。
-
在 列约束 选项中选择你希望如何计算约束。默认情况下,看板会使用 问题数量 选项,而 Scrum 看板则没有任何默认约束。
-
为你希望应用约束的每一列输入最小值和最大值。
你不必为约束设置最小值和最大值。例如,在以下截图中,我们为 开发选定 设置了约束,要求至少有两个问题,最多不超过 10 个。而对于 进行中 列,我们仅限制了最多五个问题,但没有设置最小值,这意味着它可以没有问题。我们还为 已完成 列设置了最多 15 个问题的上限,以便在团队达到已完成问题的阈值时提醒我们,需要进行发布:

图 3.16 – 列约束
在为你的看板设置了列约束后,每当约束被违反时,Jira 会立即在你的敏捷看板上提醒你。例如,在以下截图中,我们在 开发选定 列中有两个问题,而该列的最小值是三个问题,因此该列被高亮显示为黄色。在 进行中 列中,我们有六个问题,由于它的最大值是五个问题,所以该列被高亮显示为红色。
请注意,虽然 Jira 会在约束违反时高亮显示列,但这并不会阻止你违反约束。这仅仅是一种提醒团队流程出现问题,需要审核和修正的方式:

图 3.17 – 约束违规
列有助于可视化工作流和状态问题。现在,让我们看看如何在看板上将相似的问题进行分组。
设置泳道
如前所述,Jira 的敏捷看板允许你将相似的问题分组在水平方向上,称为 泳道。与映射到工作流状态的列不同,你可以根据任何标准定义泳道,包括你自己添加的自定义字段。要为你的看板设置泳道,请按照以下步骤操作:
-
浏览你的项目的敏捷看板。
-
点击 看板 菜单并选择 配置 选项。
-
从左侧导航面板中选择 泳道 选项。
-
在 基于 字段中选择你希望如何定义泳道。
-
如果您选择查询选项,您需要为每个要添加到看板的泳道定义查询。
如下所示,有六个选项可以选择,用于定义泳道:
-
查询:泳道将基于您定义的Jira 查询语言(JQL)查询。对于每个泳道,您需要定义 JQL 查询,以返回您希望在该泳道中显示的问题。符合多个查询的问题将仅出现在第一个泳道中。JQL 将在第十章,“搜索、报告与分析”中介绍。
-
故事:泳道将基于用户故事。属于同一故事的子任务将显示在同一泳道中。子任务将在第四章,“处理问题”中介绍。
-
指派人:泳道将基于每个问题的指派人。同一指派人的问题将被分组到同一泳道中。我们在Scrum部分看到的示例 Scrum 看板使用了这个选项。
-
史诗:泳道将基于每个问题所属的史诗。属于同一史诗的问题将被分组到同一泳道中。
-
项目:泳道将基于每个问题所属的项目。如本章后面所示,一个敏捷看板可以包含来自多个项目的问题。
-
无泳道:敏捷看板将不使用泳道,因此所有问题将被分组到一行中。
如下图所示,我们正在使用查询选项,并且定义了两个泳道(以及默认的其他所有泳道)。对于 JQL 查询,我们是根据一个名为Source的自定义字段进行搜索,以确定功能请求是来自客户还是源自内部评审。自定义字段将在第五章,“字段管理”中介绍。
使用查询是配置泳道时最灵活的选项,因为 Jira 的查询语言非常强大,可以为泳道定义任何任意规则:

图 3.18 – 配置泳道
定义快速筛选器
默认情况下,您的敏捷看板将显示所有问题。对于 Scrum,它将显示所有在冲刺中的问题,而对于看板,它将显示所有未发布的问题。当您有很多问题并且只希望关注特定问题时,这可能会非常分散注意力。虽然泳道可以帮助解决这个问题,但看板上有太多问题时,依然会显得非常杂乱。
Jira 的一个有用功能是,您可以为您的看板创建多个预定义的筛选器。通过这些筛选器,您可以快速筛选出不关心的问题,仅显示对您重要的问题。请注意,这意味着其他问题不会从看板中删除——它们只是被隐藏了。
Jira 已经内置了两个快速筛选器,分别叫做仅我的问题和最近更新。你可以按照以下步骤创建你自己的快速筛选器:
-
浏览你项目的敏捷看板。
-
点击看板菜单并选择配置选项。
-
从左侧导航面板中选择快速筛选器选项。
-
输入新筛选器的名称和返回筛选后问题的 JQL 查询。
在以下截图中,我们正在创建一个名为Salesforce 标签的新快速筛选器,并使用 JQL 搜索带有Salesforce标签的问题:

图 3.19 – 快速筛选器
现在,我们已经涵盖了 Scrum 和 Kanban 的敏捷看板的所有主要组件,是时候看看另一个重要组件:你的待办事项了。
修整你的待办事项
如果你使用的是 Scrum 或 Kanplan,那么你的日常工作中很大一部分将是修整你的待办事项。这意味着确保高优先级的事项被推到顶部,而不会被埋没。这是一个持续的过程,尤其重要的是,当你和你的团队接近一个新 Sprint 的开始时(如果是 Scrum)。在 Kanplan 中,同样重要的是优先排序任务,以便你的团队能够保持高效产出,避免因为计划不当而违反任何约束。
Jira 的待办事项包含多个便捷功能,帮助你避免将待办事项修整变成繁琐的工作。要优先排序待办事项,你只需将高优先级的事项移到顶部,低优先级的事项移到底部。虽然这看起来非常简单,但随着待办事项的增多,从一个包含数百个问题的待办列表底部将一个问题拖到顶部可能变得棘手——而且别忘了,新添加的问题默认会排到最底部。在这种情况下,你可以右键单击你想移动的问题,并从“发送到”菜单中选择待办事项顶部选项。这将把该问题移到待办事项顶部。你还可以通过按住键盘上的Shift 或 Ctrl 键来选择多个问题,然后使用“发送到”菜单或直接拖放,如下截图所示:

图 3.20 – 修整你的待办事项
待办事项修整是成功运行 Scrum 或 Kanban 项目的一个非常重要的方面。一个良好修整的待办事项意味着待办事项中的问题已经被审查、定义和优先排序。没有这一点,团队将无法计划他们的 Sprint(对于 Scrum)以及他们应该关注的内容。
那么,如果你有多个团队在同一个项目上工作,他们都需要自己的看板怎么办?如果一个团队使用 Scrum,而另一个团队想使用 Kanban 又该怎么办?我们将在下一节中探讨如何为你的项目设置多个看板。
为你的项目创建一个新的敏捷看板
当你使用本章前面提到的 Scrum 和 Kanban 项目模板创建新项目时,Jira 会自动为你的项目创建一个敏捷看板。除了这个默认的看板,你还可以为你的项目创建额外的看板。
例如,如果你创建了一个 Scrum 项目,并且有两个团队在该项目上工作,你可以为第二个团队创建一个新的 Scrum 看板,这样每个团队就可以使用自己的敏捷看板工作,避免互相干扰。另一个例子是,如果第二个团队需要使用 Kanban 管理他们的部分工作,你可以轻松地在 Scrum 项目中添加一个新的 Kanban 看板,这样每个团队就可以根据自己的需求在同一项目中使用他们想要的敏捷方法。要向你的项目添加新的敏捷看板,请按照以下步骤操作:
-
浏览你项目的敏捷看板。
-
点击左上角当前看板的名称,并选择创建看板选项。
-
选择你想要创建的敏捷看板类型,并按照屏幕上的向导创建新看板,如下图所示:

图 3.21 – 添加新的敏捷看板
通过为项目设置多个看板,你可以灵活地管理多个团队,每个团队都有自己的看板来处理各自的工作。接下来,我们将探讨如何在一个看板上包含来自多个项目的问题。
在你的看板上包含多个项目
默认情况下,当你创建一个新项目时,创建的敏捷看板只会包含当前项目中的问题。如果你的项目是独立的,这通常是可以的;然而,可能会有一些情况,你有多个相互关联或依赖的项目,为了能获得整体视图,你需要在一个单一的敏捷看板上显示所有这些项目中的问题。
好消息是,Jira 允许你这样做。这里需要理解的一点是,Jira 使用所谓的过滤器来定义哪些问题会被包括在看板上。过滤器就像是保存的搜索查询,当一个项目被创建时,Jira 会自动创建一个过滤器,包含当前项目中的所有问题。这就是为什么默认创建的敏捷看板总是会显示项目中的问题。过滤器将在第十章,搜索、报告和分析中讨论。
因此,为了在敏捷看板中包含来自其他项目的问题,你所需要做的就是按照以下步骤更新看板:
-
浏览你项目的敏捷看板。
-
点击看板菜单并选择配置选项。
-
从左侧导航面板中选择常规选项。
-
如果你想更新当前看板正在使用的过滤器,请点击编辑过滤器查询链接,选择保存的过滤器选项,如下图所示。通常,只有过滤器的拥有者可以更改过滤器的查询,但由于与看板一起创建的过滤器默认具有与看板相同的所有者,因此你可以编辑查询。或者,如果你已经有了包含所有你想要的议题的过滤器,可以将鼠标悬停并点击当前过滤器,然后选择使用新的过滤器。过滤器的详细内容将在第十章中讲解,搜索、报告和分析:

图 3.22 – 配置看板过滤器
由于需要与用户共享过滤器才能让他们看到返回的议题,请确保你的过滤器与看板设置的用户组共享。通常,你只需将过滤器与项目共享。
概述
在本章中,我们介绍了 Jira 自带的软件项目模板以及它支持的两种主要敏捷方法论,即 Scrum 和 Kanban。我们讨论了如何使用 Jira 以及它提供的功能在这两种方法论下运行项目。
我们还探讨了作为项目所有者的你可以使用的一些自定义选项,以便你可以根据自己的需求配置敏捷看板。我们了解了如何自定义看板的列,以更好地适应团队的工作流程,以及如何使用泳道将相似的问题分组,以更好地组织看板的布局。我们还了解了如何创建快速过滤器,以便轻松过滤掉无关的问题,从而专注于重要问题,并减少当看板非常繁忙时的噪音。
在下一章,我们将探讨问题,这是你在项目中处理的关键数据,以及你可以对其进行的操作。
第四章:处理问题
在前几章中,我们看到 Jira 如何用于管理不同目的的项目。软件开发组织将使用 Jira 来管理其软件开发生命周期并追踪漏洞,而客户服务组织可能会选择使用 Jira 来跟踪和记录客户的投诉和建议。从根本上说,问题是用户在这些项目中处理的核心内容。问题是 Jira 的基本构件之一——几乎所有的 Jira 功能和概念都围绕问题展开。
在本章中,我们将探索 Jira 提供的不同功能,以便用户处理问题。到本章结束时,您将学习以下内容:
-
问题及其在 Jira 中的使用
-
创建、编辑和删除问题
-
在项目之间移动问题
-
投票和关注问题,以便在问题发生变化时接收通知
-
高级问题操作,包括上传附件和关联问题
-
管理问题类型和问题类型方案
-
管理优先级和优先级方案
理解问题
在 Jira 中,一个问题通常表示用户将要处理的工作单元。根据使用 Jira 的方式,问题也可以代表现实世界中的其他事物和概念。例如,在软件开发项目中,问题可以是一个漏洞或一个故事,而在 IT 服务项目中,问题可以是一个事件或一个支持请求。
尽管问题所代表的内容有所不同,但 Jira 中所有问题都有几个关键的共通方面,列举如下:
-
一个问题必须属于一个项目。
-
它必须有一个类型,也叫做问题类型,表示问题所代表的内容。
-
它必须有一个摘要。摘要就像是对问题的一个简短描述。
-
它必须有一个状态。状态表示问题在特定时间点在工作流中的位置。我们将在第七章,工作流与业务流程中讨论工作流。
总结来说,Jira 中的问题代表一个可以由用户完成的工作单元,比如业务项目中的任务、软件开发项目中的故事或服务台项目中的请求。这些都是不同类型的问题。那么,让我们开始详细了解问题。
Jira 问题摘要
正如我们之前讨论的,一个问题在 Jira 中可以是现实世界中的任何事情,代表一个工作单元或任务。在本节中,我们将查看 Jira 如何在业务和软件项目的用户界面中呈现问题。我们将在第十一章,Jira 服务管理中讨论 Jira Service Desk,因为它有不同的界面。
首先,让我们详细查看一个问题。以下截图展示了一个典型问题的示例,并将其分解成更易于理解的部分,接着会通过表格解释每个突出部分。此视图通常称为问题概述或查看问题页面,如下所示:

图 4.1 – 问题概述视图
其各个部分描述如下:
-
项目/问题键:这显示了问题所属的项目。问题键是当前问题的唯一标识符。本节作为面包屑导航,便于导航。
-
问题概述:这是问题的简要概述。
-
问题导出选项:这些是问题的各种导出选项,包括 XML、Word 和可打印格式。
-
问题操作:这些是用户可以在问题上执行的操作,如编辑、分配和添加评论。这些将在本章后续部分中详细介绍。
-
工作流转换:这是可用的工作流转换。工作流将在第七章中详细介绍,工作流与业务流程。
-
问题详细信息/字段:本节列出了问题字段,如问题类型和优先级。自定义字段也会在本节中显示。字段管理将在第五章中详细介绍,字段管理。
-
用户字段:本节专门用于用户类型字段,如受让人和报告人。字段管理将在第五章中详细介绍,字段管理。
-
日期字段:本节专门用于日期类型的字段,如创建时间和更新时间。字段管理将在第五章中详细介绍,字段管理。
-
附件:列出了问题中的所有附件。
-
子任务列表:问题可以拆分成更小的子任务。如果一个问题有子任务,它们会在本节中列出。
-
评论:列出了当前用户可见的所有评论。
-
工作日志:列出了用户针对问题记录的所有时间跟踪信息。更多详细信息请参见跟踪时间部分。
-
历史记录:跟踪该问题发生的所有更改,包括更改前后的值。
-
活动:这类似于历史记录,但格式更加用户友好。它还可以为内容生成 RSS feed。
当使用 Jira 配合 Scrum 或 Kanban 时,问题会作为卡片显示在敏捷板上,该板上对问题进行了更简洁的总结,如下所示:

图 4.2 – 问题敏捷卡片
然而,当您点击卡片时,Jira 会在详细面板中显示问题的详细信息。现在我们已经看到 Jira 中问题的呈现方式,接下来让我们看看您如何与问题进行交互。
与问题的互动
正如我们已经看到的,问题是 Jira 的核心。在接下来的章节中,我们将讨论您作为用户可以对问题执行哪些操作。请注意,每个操作都需要特定权限,我们将在第九章中讨论,保障 Jira 安全。
创建问题
创建新问题时,您需要填写几个字段。有些字段是必填的,例如问题的摘要和类型,而其他字段是可选的,例如问题的描述。我们将在下一章中详细讨论字段。
在 Jira 中创建新问题有几种方式。您可以选择以下任一选项:
-
点击顶部横幅中的创建按钮
-
按下键盘上的C键
这将弹出创建问题对话框,如下图所示:

图 4.3 – 创建问题对话框
如您所见,存在许多字段,必填字段旁边会有一个红色星号(*****)标记。
管理员配置了哪些字段将包含在创建问题对话框中,但您的用户可以通过以下步骤自定义并创建自己的创建问题界面,方法是隐藏可选字段:
-
点击右上角的配置字段选项。
-
选择自定义字段选项。
-
取消选中您要隐藏的所有字段,并勾选您要显示的字段,如前述截图所示。
确保不要隐藏任何必填字段,否则您将无法创建新问题。您仅是为自己隐藏或显示这些字段。
重要提示
只有 Jira 管理员才能为所有用户全局隐藏和显示字段。
在创建按钮旁边有一个创建另一个选项。勾选此选项后,再点击创建按钮,创建问题对话框将保持在屏幕上,并记住您之前输入的值,如优先级、组件和到期日期。这样,您就无需重新填写整个对话框,只需更新不同的字段,例如摘要。有了这个功能,您可以在更短的时间内快速创建多个问题。
提示
除了以这种方式手动创建问题外,您还可以使用高级工具,如问题导入器、Jira 的 REST API 和电子邮件,来创建问题。
将问题分配给用户
一旦创建了问题,通常被分配给该问题的用户将开始处理该问题。之后,用户可以重新分配该问题,例如,将其分配给 QA 人员进行进一步验证。
在许多情况下,问题需要重新分配给不同的用户,例如,当当前指派人不可用,或者问题创建时没有指定指派人。另一个例子是,问题在工作流的不同阶段会被分配给不同的人。因此,Jira 允许用户在问题创建后重新分配问题。
按照以下步骤分配问题:
-
浏览到你希望分配的问题。
-
点击
分配对话框。 -
为问题选择新的指派人,并可选择添加评论,以提供一些信息给新的指派人。
-
点击分配按钮,如下图所示:

图 4.4 – 分配问题
一旦问题被重新分配,其指派人值将更新为新用户。新指派人也会收到一封通知邮件,提醒他们此项分配。你还可以通过选择未指派选项来取消分配问题。未指派的问题没有指派人,将不会出现在任何人的活动问题列表中。
提示
你可以按键盘上的I键,快速将问题分配给自己。
编辑问题
在 Jira 中,有两种方式可以编辑问题:
-
第一种更传统的方法是点击编辑按钮或按键盘上的E键。这将打开编辑问题对话框,并显示当前问题的所有可编辑字段。这样可以一次性修改多个字段。
-
第二种选项叫做
直接在页面上编辑你想编辑的字段,无需等待编辑对话框加载。要进行内联编辑,你只需将鼠标悬停在要更新的字段值上,点击**编辑**(铅笔) 图标,然后开始编辑,如下截图所示:
**
图 4.5 – 内联编辑
你可以编辑的字段由用于编辑问题操作的屏幕控制。屏幕将在第六章中讨论,屏幕管理。请注意,并非所有字段都可以编辑;有些字段是只读的,有些专用字段可能在查看问题时不会显示。
在项目之间移动问题
一旦问题被创建,它将与创建时所属的项目相关联。然而,你可以将问题从一个项目移动到另一个项目。听起来这可能是一个非常简单的过程,但实际上涉及许多步骤,并且有很多需要考虑的事项:
-
首先,如果当前问题类型在新项目中不存在,你需要为问题决定一个新的问题类型。
-
第二步,如果目标项目或问题类型使用不同的工作流,你需要为问题映射一个状态。
-
第三步,你需要决定新项目中但当前项目中不存在的任何必填字段的值。
听起来很多?幸运的是,Jira 提供了一个向导,旨在帮助你解决所有这些问题。
按照以下步骤开始移动问题:
-
浏览到你希望移动的问题。
-
点击更多菜单中的移动选项。这将打开移动问题向导。
移动问题向导实际上有四个步骤:
- 第一步是选择你希望将问题移动到的项目。你还需要选择新的问题类型,如下图所示。如果新项目中存在相同的问题类型,通常可以继续使用相同的问题类型:

图 4.6 – 移动问题步骤 1
- 第二步允许你将当前问题映射到新项目的工作流,如下图所示。如果目标项目中已存在该问题的状态,向导将跳过此步骤:

图 4.7 – 移动问题步骤 2
- 第三步显示了新项目中但当前项目中不存在的所有字段,以及那些需要设置值的字段,如下图所示。如果没有需要设置值的字段,则此步骤将被跳过:

图 4.8 - 移动问题步骤 3
- 第四步和最后一步会显示通过将问题从源项目移动到目标项目后应用的更改摘要。这是你最后一次确认所有信息是否正确的机会。如果有任何错误,你可以返回第一步并重新开始。如果你对更改满意,可以通过点击移动来确认移动,如下图所示:

图 4.9 – 移动问题步骤 4
一旦问题被移动,它将基于新项目赋予一个新的问题键。如果你通过旧的问题键访问该问题,Jira 会自动重定向你。
移动问题功能的另一个有用用途是当你需要更改问题类型时。有时不同的问题类型有非常不同的配置,如工作流。在这种情况下,Jira 不允许你直接编辑问题的类型字段。你需要做的是使用移动功能,但你会选择相同的项目作为目标,并选择你想要更改的类型。
与其他用户共享问题
如果你想将问题通过电子邮件发送给其他 Jira 用户,而不是手动复制并粘贴问题的 URL 到电子邮件中,你可以使用 Jira 内置的分享功能。你只需进入你想分享的问题并点击分享图标,如下图所示,或者按键盘上的S键。然后,选择你要分享问题的用户并点击分享按钮,如下图所示:

图 4.10 – 分享问题
注意
如果你分享问题的用户没有访问该问题的权限,他们将无法查看该问题的详细信息。
删除问题
你可以从 Jira 中删除问题。你可能需要删除那些误创建的问题,或者如果该问题是多余的,尽管通常最好是关闭并标记该问题为重复。我们将在第七章中讨论如何关闭问题,工作流和业务流程。
在 Jira 中删除问题是永久性的。与一些其他应用程序将已删除记录放入垃圾箱,之后可以恢复不同,Jira 会完全从系统中删除该问题。恢复已删除问题的唯一方法是通过从之前的备份中恢复 Jira。
按照以下步骤删除问题:
-
浏览到你希望删除的问题。
-
从更多菜单中点击删除选项。这将弹出删除问题对话框,如下图所示:

图 4.11 – 删除问题
- 点击删除按钮,以将问题从 Jira 中永久删除。
注意,删除问题会永久性地将其从 Jira 中删除,包括所有数据,如附件和评论。
接收问题通知
Jira 可以发送自动电子邮件通知关于问题更新的情况给用户。通常,通知邮件只会发送给问题的报告者、受指派人以及已将自己添加为该问题观察者的人。通过通知方案可以改变这一行为,我们将在第八章中讨论,电子邮件和通知。
通过观看问题,你将收到关于活动的电子邮件通知,如新评论和问题更新。观看问题的用户也可以选择停止观看,从而停止接收来自 Jira 的电子邮件更新。你还可以通过将其他用户添加到观察者列表中来添加他们为观察者。
要观看一个问题,只需点击开始观看此问题链接。如果你已经在观看该问题,它将变为停止观看此问题。如果你再次点击该链接,你将停止观看该问题。
重要提示
Jira 会自动将你添加为你创建的问题以及你评论和更新过的问题的观察者。
Jira 还会通过在观看图标旁显示总观看人数,向您展示有多少人正在积极关注该问题。您可以点击观看者旁边的数字,查看观看者的完整列表,并将新用户添加为该问题的观看者,如下所示:

图 4.12 – 添加观看者
对问题投票
表达您对 Jira 问题兴趣的最直接方式就是为其投票。对于基于受欢迎程度管理优先级的组织或团队来说,投票是收集此类信息的绝佳机制。
例如,Atlassian 如何使用 Jira(jira.atlassian.com/browse/JRASERVER-9)作为一种方式,让客户根据需求选择并投票选出希望实现的功能或修复的 Bug。这使得产品管理和营销团队能够洞察市场需求,并且知道如何最好地发展他们的产品。
在投票时需要记住的一点是,您每个问题只能投票一次。您可以对许多不同的问题投票多次,但对于任何特定问题,您只有一次投票机会。这有助于防止单个用户持续对同一个问题投票,从而可能影响投票结果。不过,您可以撤回已投的票并在以后再次投票;如果您选择这样做,它仍然只算作一次投票。
要为问题投票,只需点击为此问题投票链接,该链接位于投票旁边。当您为问题投票时,图标会变为彩色;如果您尚未为问题投票,图标则显示为灰色。
注意
请注意,您不能为自己创建的问题投票。
问题链接
Jira 允许您为问题创建自定义超链接。这使您能够提供有关问题的更多信息。您可以创建两种类型的链接:链接到 Jira 中的其他问题,或链接到 Web 上的任意资源,如网页。
将问题与其他问题链接
问题之间往往以某种方式相互关联。例如,问题 A 可能会阻止 问题 B,或 问题 C 可能是 问题 D 的重复项。您可以在问题中添加描述来传达这些信息,或者在重复的情况下删除其中一个问题,但这种方法很难跟踪所有这些关系。幸运的是,Jira 提供了一个优雅的解决方案——标准问题链接功能。
标准问题链接允许您将一个问题与同一 Jira 实例中的一个或多个其他问题关联。这意味着您可以将来自不同项目的两个问题链接在一起(前提是您有权限访问这两个项目)。以这种方式链接问题非常简单;您只需要知道要链接的目标问题。您可以通过以下步骤链接问题:
-
浏览到您希望为其创建链接的查看问题页面。
-
从更多菜单中选择链接。这将弹出链接问题对话框。
-
从左侧面板中选择Jira 问题选项。
-
从此问题下拉菜单中选择问题链接的类型。
-
选择要链接的问题。你可以使用搜索功能帮助你找到需要的问题。
-
点击链接按钮,如下截图所示:

图 4.13 – 链接问题
克隆问题后,它们将在查看问题页面的问题链接部分显示。Jira 将显示目标问题的关键字、描述、优先级和状态。
链接远程内容的问题
标准的 Jira 问题链接允许你将多个问题链接到同一个 Jira 实例。Jira 还允许你将问题链接到资源,例如互联网上的网页。
使用远程问题链接与标准问题链接非常相似;不同之处在于,它不是选择另一个问题,而是指定目标资源的 URL 地址。你可以通过以下步骤进行设置:
-
打开链接问题对话框。
-
从左侧面板中选择Web 链接选项。
-
指定目标资源的 URL 地址。Jira 会自动尝试查找并加载该资源的适当图标。
-
在链接文本字段中提供链接名称。你在这里提供的名称将在查看问题时显示为链接。
-
点击链接按钮,如下截图所示:

图 4.14 – 网络链接
通过使用问题链接,Jira 允许你为问题添加更多的上下文信息。事实上,Atlassian 在将 Jira 与其他产品集成时广泛使用此功能,例如将问题与 Confluence wiki 页面以及 Bamboo 构建计划链接。
克隆问题
当你需要创建一个新问题,并且已经有一个基准问题时,Jira 允许你通过克隆原始问题快速创建它,基于现有问题的数据。克隆问题使你能够快速创建一个新问题,并填充大多数字段。例如,如果你有两个软件产品存在相同的 bug,在一个项目中创建一个 bug 报告后,你可以简单地将它克隆到另一个项目中。
克隆的问题会复制原始问题的所有字段;然而,它是一个独立的实体。对任一问题所做的进一步操作不会影响另一个问题。
当一个问题被克隆时,两个问题之间会自动创建一个克隆链接,建立它们之间的关系。
在 Jira 中克隆一个问题既简单又直接。你需要做的就是为克隆的问题指定一个新的摘要(或接受默认的摘要,在前面加上CLONE文本),具体步骤如下:
-
浏览到你希望克隆的问题。
-
从更多菜单中选择克隆。
-
为新克隆的任务输入新的摘要。
-
如果你还希望复制所有子任务,请勾选克隆子任务复选框。
-
如果你希望复制所有附件,请勾选克隆附件复选框。
-
点击克隆按钮。
一旦任务成功克隆,你将被带到新克隆任务的摘要页面。
时间跟踪
由于任务通常代表可以单独进行的工作单元,因此用户记录他们在任务上花费的时间是合乎逻辑的。你可以指定完成任务所需的估算工作量,Jira 将帮助你跟踪进度。
Jira 在右侧的时间跟踪面板中显示任务的时间跟踪信息,如下图所示:

图 4.15 – 时间跟踪
时间跟踪面板包括以下信息:
-
估算:这代表完成任务所需的原始估算工作量,例如,开发人员修复一个 bug 所需的时间。
-
剩余:这代表任务完成所需的剩余时间。它是由 Jira 根据原始估算和用户已记录的总时间自动计算的。不过,用户在任务上记录工时时(如下文所述)也可以覆盖此值。
-
已记录:这代表目前为止在任务上花费的总时间。
指定原始估算
原始估算代表完成任务所需的预期时间。它将在时间跟踪部分下以蓝色条形显示。
若要指定原始估算值,你需要确保在任务的创建和/或编辑屏幕上添加了时间跟踪字段。我们将在第五章,字段管理,和第六章,屏幕管理中分别讨论字段和屏幕。
若要指定原始估算值,请在创建或编辑任务时提供原始估算字段的值。
记录工时
在 Jira 中记录工时可以让你指定在任务上花费的时间量(工作)。你可以在任何任务上记录工时,只要你有权限这样做。我们将在第十章,搜索、报告与分析中讨论权限。请按照以下步骤在任务上记录工时:
-
浏览到你希望记录工时的任务。
-
从更多菜单中选择记录工时。
-
输入你希望记录的时间量。使用
w、d、h和m分别指定周、天、小时和分钟。 -
选择你希望记录工时的日期。
-
可选地,选择如何调整剩余估算时间。
-
添加你所做工作的描述。
-
可选地,选择谁可以查看该工作日志条目。
-
点击日志按钮。
当你在问题上记录工作时,你可以选择如何影响剩余估算值。默认情况下,这个值将通过从原始估算中减去已记录的工作量来自动计算。然而,你也可以选择其他可用选项,例如将剩余估算设置为特定值,或者按与已记录工作量不同的数值减少它。
提示
你还可以点击时间追踪部分中的+符号来记录时间。
问题和评论
Jira 允许用户在问题上创建评论。正如我们在上一节中看到的,当你将问题分配给其他用户时,你将能够创建评论。这是一个非常有用的功能,它允许多个用户协作,使他们可以在同一问题上工作并共享信息。例如,支持人员(问题受托人)可能会通过向问题添加评论来请求业务用户(问题报告人)提供更多澄清。当结合 Jira 内置的通知系统时,自动电子邮件通知将发送给问题的报告人、受托人和任何观看该问题的其他用户。通知将在第八章中介绍,电子邮件和通知。
默认情况下,所有已登录的用户都可以向他们可以访问的问题添加评论。按照以下步骤向问题添加评论:
-
浏览到你想要添加评论的问题。
-
点击评论按钮或按键盘上的M键。
-
在文本框中输入评论。你可以预览并设置谁可以查看你的评论的限制。
-
点击添加按钮以添加评论,如下图所示:

图 4.16 – 添加评论
一旦添加了评论,该评论将在底部的活动部分中的评论标签下显示。当你创建评论时,你可以选择谁能查看你的评论,这通过评论访问控制来实现。如果你有外部用户查看该问题,并且只希望与你的内部用户共享评论,这非常有用。
附件
正如我们迄今所见,Jira 使用摘要和描述等字段来捕获数据。这适用于大多数情况,但当你有复杂的数据,如应用程序日志文件或屏幕截图时,这就不足够了。这时,附件就派上用场了。Jira 允许你附加来自本地计算机的文件或你拍摄的屏幕截图。
附加文件
将文件附加到 Jira 问题的最简单方式是通过拖放操作。你可以按照以下步骤进行操作:
-
浏览到你想要附加文件的问题。
-
拖动并放置你想附加到浏览器的文件。你会看到一个轮廓,指示你可以将文件放置到位置以将其附加到问题上,如下图所示:

图 4.17 – 添加附件
拖放是附加文件的最简单方法,但如果由于某种原因拖放不工作,你也可以手动选择文件并通过以下步骤将其附加:
-
浏览到你希望附加文件的那个问题。
-
从更多菜单中选择附加文件选项。
-
从文件浏览器中选择并附加你要附加的文件。
根据文件的类型,某些文件(如图片和 PDF)可以直接从 Jira 的用户界面查看,而无需下载它们。
问题类型和子任务
正如我们之前看到的,Jira 中的问题可以代表许多事情,从软件开发任务到项目管理里程碑。问题类型是区分不同问题类型的标准。
每个问题都有一个类型(因此称为问题类型),它由问题类型字段表示。这可以让你知道问题的类型,并帮助你确定许多其他细节,例如此问题将显示哪些字段。
默认的问题类型非常适合软件开发项目,但它们不一定能满足其他需求。由于无法创建一个能够满足所有人需求的系统,Jira 允许你创建自己的问题类型并将其分配给项目。例如,对于帮助台项目,你可能希望创建一个名为ticket的自定义问题类型。你可以创建这个自定义问题类型,并将其分配给Help Desk项目,用户将能够在系统中记录票据,而不是错误。
问题类型通过管理问题类型管理页面进行管理。请执行以下步骤以访问此页面:
-
以 Jira 管理员身份登录 Jira。
-
浏览到Jira 管理控制台。
-
选择问题标签,然后选择问题类型选项。这将带你到问题类型页面。

图 4.18 – 问题类型
上面的截图显示了问题类型的列表,代表了问题可以是的不同内容,包括软件开发中的Bug和Epic,以及 IT 服务中的Incident和Change。接下来,让我们看看如何创建我们自己的问题类型。
创建问题类型
创建自定义问题类型有很多应用场景。最常见的应用场景是当你希望问题代表不同于默认问题类型的内容时。另一个常见的应用场景是为某个特定项目中的问题应用不同的配置方案。由于 Jira 中的大多数配置方案基于项目和问题类型,如果你希望项目中的某些问题有不同的字段集,你可以创建一个新的问题类型,并仅将配置方案应用于该问题类型。创建新问题类型,请按照以下步骤操作:
-
浏览到问题类型页面。
-
点击添加问题类型按钮。
-
输入新问题类型的名称和描述。
-
选择新问题类型是标准问题类型还是子任务问题类型。
-
点击添加以创建新的问题类型。
创建新的问题类型后,它将分配一个默认的图标。如果你想更改图标,你需要点击该问题类型的编辑链接,然后选择一个新的图片作为其图标。
删除问题类型
删除问题类型时,必须牢记该问题类型可能已经在使用中,这意味着已经有问题被创建为该类型。因此,当你删除问题类型时,你需要为这些问题选择一个新的类型。幸运的是,Jira 会为你处理这个问题。如下面的截图所示,当我们删除Bug问题类型时,Jira 会通知我们已有的 10 个Bug类型的问题。你需要为这些问题分配一个新的问题类型,如缺陷:

图 4.19 – 删除问题类型
使用子任务
Jira 允许每次只有一个人(受指派者)处理一个问题。这样的设计确保了每个问题都作为一个工作单元,可以追踪到一个人身上。然而,在现实中,我们经常遇到需要多人处理同一个问题的情况。这可能是因为任务拆解不合理,或者是因为任务本身的性质。无论原因如何,Jira 提供了一种通过子任务解决这个问题的机制。
正如我们在讨论问题类型时所看到的,子任务其实就是另一种问题类型。唯一的区别是,子任务必须始终有一个父问题。
每个问题可以有一个或多个子任务,这些子任务可以单独分配和追踪。子任务不能有其他子任务。Jira 只允许一个层级的子任务。
由于子任务属于一个问题,你需要先浏览到该问题,然后才能通过以下步骤创建新的子任务:
-
浏览到你希望创建子任务的问题。
-
从更多菜单中选择创建子任务。
你将看到一个熟悉的创建问题对话框;然而,你会注意到,与创建问题时不同的是,你不需要选择在哪个项目中创建子任务。这是因为 Jira 能够根据父问题来确定项目的值。你还会注意到,你只能选择子任务类型的问题。
除了这些区别,创建子任务与创建普通问题没有什么不同。你可以自定义在对话框中显示的字段,并通过选择创建另一个选项快速创建多个子任务。
创建子任务后,它将添加到父问题的子任务部分。您将看到属于问题的所有子任务及其状态。如果子任务已完成,将显示绿色的勾号,如以下截图所示:

图 4.20 – 子任务
现在我们已经看到如何管理问题类型,接下来我们将看看如何使用问题类型方案将问题类型分组,以便应用于项目中。
问题类型方案
问题类型方案是可以应用于项目的模板或问题类型集合。正如我们在以下截图中所看到的,Jira 自带一个默认的问题类型方案,适用于所有未应用特定问题类型方案的项目。当您创建新项目时,会为您基于选择的项目模板创建一个新的问题类型方案。新方案还将根据模板预填充问题类型。如下截图所示,我们有几个问题类型方案,并且 Jira 将列出正在使用它们的项目:

图 4.21 – 问题类型方案
正如我们将在后续章节中看到的,Jira 中的大多数配置都是通过方案管理的,例如问题类型方案、字段配置方案和工作流方案。使用方案的主要优势在于方案是可重用的组件。对于问题类型方案而言,您可以将相同的问题类型方案应用于一个或多个项目,它们将拥有相同的问题类型集合。这极大地减少了 Jira 管理员的管理和维护负担,通过重用方案允许您建立配置的标准。当您创建自己的问题类型时,为了使它们可用,您需要将它们添加到您项目使用的问题类型方案中。
向问题类型方案添加问题类型
按照以下步骤创建新的问题类型方案:
-
浏览到管理控制台。
-
选择问题选项卡,然后选择问题类型方案选项。这将带您到问题类型方案页面。
-
点击要添加问题类型的问题类型方案的编辑链接。
-
从可用问题类型列表中拖动并将要成为方案一部分的问题类型放入当前方案的问题类型列表中。

图 4.22 – 配置问题类型方案
-
选择默认问题类型值。请注意,这是可选的,只有在为新方案选择至少一种问题类型后,才能选择默认问题类型。
-
点击保存按钮。
一旦你创建并配置了问题类型方案,你可以通过点击关联按钮,将其与一个或多个项目关联,并选择要应用该方案的项目。
问题优先级
优先级帮助用户设定问题的重要性。用户可以首先为问题分配优先级值,之后使用这些优先级对待办事项列表进行排序,从而帮助团队决定优先处理哪些问题。Jira 默认提供五个优先级级别,如下图所示:

图 4.23 – 优先级
你可以通过创建自己的优先级来定制此列表。创建新优先级的步骤如下:
-
浏览到管理控制台。
-
选择问题标签,然后选择优先级选项。
-
为新优先级输入名称和描述。
-
点击选择图像链接,为优先级选择一个图标。
-
为优先级指定一个颜色。你可以直接输入 HTML 颜色的十六进制代码,或者使用颜色选择器帮助你选择所需的颜色。这里选择的颜色将在无法显示图标图像时使用,例如当你将问题导出到电子表格时。
-
点击添加按钮。
创建优先级方案
优先级方案的工作方式类似于我们之前看到的任务类型方案功能。你可以创建一个方案,使其仅包含你所需要的优先级,然后将该方案应用到项目中。这样,每个项目就可以有自己的优先级选项集。创建和应用新优先级方案的步骤如下:
-
浏览到管理控制台。
-
选择问题标签,然后选择优先级方案选项。
-
点击添加优先级方案按钮。
-
为新优先级方案输入名称。
-
将你希望成为方案一部分的优先级从可用优先级列表拖动到已选择优先级列表中。
-
选择一个默认优先级值。请注意,这是可选的,只有在你选择了至少一个优先级后,才能为新方案选择默认优先级。
-
点击添加按钮,如下图所示:

图 4.24 – 配置优先级方案
一旦你创建了新优先级方案,你可以点击其关联链接,将该方案应用到一个或多个项目。
HR 项目
在本练习中,我们将继续设置上一章节中创建的项目。我们将向项目中添加以下配置:
-
一组专门为我们的 HR 项目创建的新问题类型
-
将新的问题类型添加到问题类型方案中,使其可用
添加新的问题类型
由于我们的项目是为人力资源团队创建的,我们需要创建一些自定义任务类型,以增强 Jira 默认任务类型的功能。在这个练习中,我们将创建两个新的任务类型:新员工和终止。
第一步,即设置任务类型关联,是创建我们需要的两个任务类型:新员工和终止。
-
浏览到任务类型页面。
-
点击添加任务类型按钮。
-
在名称字段中输入
新员工。 -
点击添加按钮以创建新的任务类型。
你现在应该能在表格中看到新的任务类型。现在,让我们添加终止任务类型:
-
再次点击添加任务类型按钮。
-
在名称字段中输入
终止。 -
点击添加以创建新的任务类型。
你应该能看到新员工和终止任务类型。然而,这只会使我们的新任务类型可用——它不会使这些任务类型成为我们项目中新建任务时唯一的选项。如你从前面章节中记得的那样,我们需要将新的任务类型添加到我们项目使用的任务类型方案中。
更新任务类型方案
我们希望将任务类型限制为仅新员工、终止和通用的任务,以适应我们的 HR 项目,但我们不希望影响其他仍然需要Bug和其他默认任务类型的项目。因此,我们需要为我们的项目创建一个新的任务类型方案。我们可以通过以下步骤来实现:
-
浏览到任务类型方案页面。
-
点击编辑链接以修改我们的任务类型方案。Jira 默认创建的方案应命名为
HR: Task Management Issue Type Scheme。 -
将新员工和终止任务类型从可用任务类型面板拖动到当前方案的任务类型面板。
-
点击保存按钮。
将所有内容整合在一起
在一切创建和设置完成后,你可以返回并创建一个新任务,以查看所有内容的效果。如果一切顺利,你应该能看到类似下方截图的内容:

图 4.25 – 示例项目
如你所见,对于 HR 项目,我们现在可以从任务类型方案中选择三种任务类型:任务、新员工和终止。
概要
在本章中,我们了解了 Jira 中的任务是什么,并探讨了创建、编辑和删除任务的基本操作。我们还了解了 Jira 提供的高级操作,用于增强你如何操作和使用任务,比如添加附件、创建子任务和关联多个任务。然后,我们看了如何创建自己的任务类型并将其应用到项目中,以便我们创建的任务能够更好地代表我们所处理的任务类型。
在下一章中,我们将介绍字段,并探讨如何创建我们自己的自定义字段来收集用户的额外信息。
第五章:字段管理
项目是问题的集合,而问题是字段的集合。正如我们在前几章中所看到的,字段用于捕捉数据,这些数据可以展示给用户。Jira 中有许多不同类型的字段,从允许您输入字母数字文本的简单文本字段,到更复杂的字段,带有选择器帮助您选择日期和用户。
一个信息系统的价值取决于其输入的数据。通过理解如何有效使用字段,您可以将 Jira 转变为一个强大的信息系统,用于数据收集、处理和报告。
在本章中,我们将通过探索字段的细节并学习它们与 Jira 其他方面的关系,来扩展我们的 HR 项目,涵盖这些自定义字段和配置。到本章结束时,您将了解以下内容:
-
理解系统字段、自定义字段和搜索器
-
管理和优化自定义字段
-
向字段添加行为与字段配置
-
理解字段配置方案及如何将其应用于项目
理解系统字段
Jira 自带了多个内置字段,assignee 和 description 是可选的。这些系统字段通常直接与 Jira 的不同功能相关联,因此无法删除它们。
以下表格列出了 Jira 中的主要系统字段:
| 系统字段 | 描述 |
|---|---|
| 指派人 | 这指定了当前被指派处理该问题的用户。 |
| 概要 | 这指定了问题的一行摘要。 |
| 描述 | 这提供了问题的详细描述。 |
| 报告人 | 这指定了报告此问题的用户(通常也是创建该问题的用户,但并不总是如此)。 |
| 组件 | 这指定了该问题所属的项目组件。 |
| 影响版本 | 这指定了问题影响的版本。 |
| 修复版本 | 这指定了问题将在其中修复的版本。 |
| 截止日期 | 这指定了该问题的截止日期。 |
| 问题类型 | 这指定了问题的类型(例如,缺陷和故事)。 |
| 优先级 | 这指定了该问题与其他问题相比的重要性。 |
| 解决方案 | 这指定了该问题的当前解决方案值(例如,未解决或已修复)。 |
| 时间跟踪 | 这让用户估算完成该问题所需的时间。 |
表格 5.1 – 系统字段
尽管 Jira 的内置字段足以应对基本的通用用途,但大多数组织很快发现它们有一些特殊需求,仅凭系统字段无法满足。下一节,我们将探讨 Jira 如何通过让您创建自己的字段——称为自定义字段——来解决这一需求。
理解自定义字段
Jira 的一个关键特性是自定义字段,允许你根据需求向系统中添加新字段。你可以添加一个新的用户选择器字段,用来表示项目干系人,或者为不同的关键日期添加一个日期选择器字段。
每个自定义字段都有一定的类型,决定了其行为、外观和功能。因此,当你在 Jira 中添加自定义字段时,你是在添加所选的自定义字段类型。
Jira 提供了超过 20 种自定义字段类型,你可以直接使用。许多自定义字段类型与内置字段相同,例如 日期选择器,它类似于 到期日期 字段。它们为你提供了内置字段所没有的简便性和灵活性。接下来的部分将细分并列出所有标准和高级 Jira 自定义字段类型及其特性。
标准字段
这些字段类型是 Jira 中最基本的字段类型,通常简单且易于使用,例如 文本 字段,允许用户输入任意文本:
| 自定义 字段类型 | 描述 |
|---|---|
| 日期选择器 | 这些是允许输入带日期选择器的输入字段,并强制有效日期。 |
| 日期时间选择器 | 这些是允许输入带日期和时间选择器的输入字段,并强制有效的日期时间戳。 |
| 标签 | 这些是允许向问题添加标签的输入字段。 |
| 数字字段 | 这些是存储并验证数字值的输入字段。 |
| 单选按钮 | 这些是单选按钮,确保只能选择一个值。 |
| 选择列表(级联) | 这些是多个选择列表,其中第二个选择列表的选项会根据第一个列表的值动态更新。 |
| 选择列表(多选) | 这些是多个选择列表,具有可配置的选项列表。 |
| 选择列表(单选) | 这些是单选列表,具有可配置的选项列表。 |
| 文本字段(多行) | 这些是多行文本区域,允许包含大量文本内容。 |
| 文本字段(单行) | 这些是基本的单行输入字段,允许输入少于 255 个字符的简单文本。 |
| URL 字段 | 这些是验证有效 URL 的输入字段。 |
| 用户选择器(单个用户) | 通过弹出用户选择窗口或自动完成从 Jira 用户库中选择一个用户。 |
表 5.2 – 标准自定义字段类型
高级字段
这些字段提供了专门的功能。例如,版本选择器 字段让你从当前项目中选择一个版本。如果你有来自第三方插件的自定义字段(例如本节后面列出的字段),它们也会在此列出:
| 自定义 字段类型 | 描述 |
|---|---|
| 组选择器(多个组) | 通过弹出选择窗口选择一个或多个用户组。 |
| 组选择器(****单个组) | 通过弹出选择窗口选择一个用户组。 |
| 项目选择器(****单个项目) | 选择可在系统中查看的项目列表。 |
| 文本字段(****只读) | 这是一个只读文本字段,用户不能设置数据。只能通过编程方式设置数据。 |
| 用户选择器(****多个用户) | 通过弹出选择窗口,从用户库中选择一个或多个用户。 |
| 版本选择器(****多个版本) | 从当前项目中可用的版本中选择一个或多个版本。 |
| 版本选择器(****单个版本) | 从项目中可用的版本中选择一个版本。 |
表 5.3 – 高级自定义字段类型
如你所见,Jira 为你提供了一个全面的自定义字段类型列表。此外,还有许多由第三方开发的自定义字段类型(作为应用程序可添加到 Jira 中,以增强其功能)。这些自定义字段提供了许多专门的功能,例如自动计算值、直接从数据库检索数据或连接到外部系统。一旦安装了插件,添加来自其他供应商的自定义字段的过程通常与添加 Jira 自带的自定义字段相同。
以下列表展示了一些提供附加有用自定义字段的应用程序。你可以在 Atlassian Marketplace 上找到它们:marketplace.atlassian.com:
-
Enhancer Plugin for Jira:这个插件包括几个自定义字段,当关键事件发生时,它们会自动显示日期;例如,问题最后一次关闭的时间。
-
Toolkit Plugin for Jira:这个插件提供了几个有用的自定义字段,例如显示参与特定问题的用户统计信息和问题最后一次评论的日期。
-
Elements Connect - 外部数据字段:这个插件提供了一套自定义字段,可以让你连接数据库、远程文件和网络服务来检索数据并将其显示在 Jira 中。
-
电子签名 for Jira:这个插件让用户在处理问题时可以在 Jira 中进行电子签名,例如批准关闭一个问题。
-
ScriptRunner for Jira:这个应用程序允许你创建自定义字段,并通过脚本定义它们的功能。
我们将在第十二章,Jira 与第三方应用程序中详细讨论第三方应用程序。所以,现在我们已经了解了自定义字段,接下来是时候介绍搜索器了。
理解字段搜索器
对于任何信息系统而言,捕获数据只是方程式的一半。用户需要能够在后续阶段检索数据,通常通过搜索,而 Jira 也不例外。虽然 Jira 中的字段负责捕获和显示数据,但正是它们对应的搜索器提供了搜索功能。
自定义字段搜索器决定了字段存储的数据将如何被索引,这会影响你如何搜索这些数据。例如,一个文本自定义字段会将其数据作为原始文本进行索引,这样你就可以进行模糊搜索,例如搜索以特定字符开头的文本。相反,一个选择列表自定义字段会以不同的方式索引其数据,因此你可以根据特定选项值或一组选项值进行搜索。如果某个字段没有应用搜索器,那么它的数据将不会被索引,你将无法搜索其数据。
Jira 中的所有字段默认都关联有搜索器,因此你可以根据问题的摘要或指派人搜索问题,而无需任何进一步的配置。来自第三方插件的某些自定义字段可能有多个搜索器可用。你可以通过编辑自定义字段来更改默认的搜索器。
注意
在 Jira 用户界面中,搜索器被称为搜索模板。
自定义字段上下文
系统字段,例如摘要和问题类型,在整个 Jira 中都是全局的。这意味着这些字段适用于所有问题和项目。另一方面,自定义字段可以应用于特定的项目和问题类型,这也叫做上下文。
自定义字段上下文是由项目和问题类型的组合组成的。当你处理一个问题时,Jira 会检查当前问题的项目和问题类型,以确定是否存在与该组合匹配的特定上下文。如果找到了,Jira 会显示该自定义字段以及任何特定设置,如选择选项。然而,如果没有找到上下文,则该自定义字段不会显示。
使用自定义字段上下文的主要原因有两个:自定义和性能。让我们先看看上下文如何帮助自定义字段。
自定义字段类型,如选择列表和单选按钮,提供给最终用户选择的选项。你可以为不同的项目和问题类型(或上下文)自定义选项列表。这使得你可以为多个项目重用相同的自定义字段,从而减少重复。
使用自定义字段上下文的第二个好处是性能。如果你将自定义字段限制为特定项目和问题类型,这意味着当 Jira 显示问题时,它只需要显示与该问题相关的自定义字段。Jira 需要显示的自定义字段越少,响应时间就越快。
在 Jira 中,如果没有找到与项目和问题类型组合匹配的上下文,则该问题没有自定义字段。稍后我们将在添加自定义字段上下文部分详细讲解如何设置自定义字段上下文。现在需要记住的是,在添加自定义字段时,必须确保其具有正确的上下文设置。
现在我们已经简要介绍了自定义字段的上下文,让我们看看如何创建和管理自定义字段。
管理自定义字段
自定义字段在 Jira 中是全局使用的,因此,您需要拥有 Jira 管理员全局权限,才能执行创建和配置等管理操作。
Jira 将所有自定义字段集中管理,方便操作。执行以下步骤以访问管理自定义字段页面:
-
以 Jira 管理员身份登录。
-
浏览到 Jira 管理控制台。
-
选择问题标签,然后选择自定义 字段选项:

图 5.1 – 管理自定义字段
在自定义字段页面上,将列出所有现有的自定义字段。在这里,您可以查看所有自定义字段的名称、类型、所属上下文和显示的界面。请注意,某些自定义字段,例如开发和史诗颜色,如前述截图所示,是 Jira 自带的,并且在它们的名称旁会有锁定标签。这些字段在 Jira 中有特殊用途,因此无法更改它们的配置。用户添加的自定义字段,例如审批人,则没有此限制,可以随时进行更新。让我们从添加一个新自定义字段开始。
添加自定义字段
添加新自定义字段是一个多步骤的过程,Jira 提供了向导帮助您完成。添加新自定义字段时,有两个必选步骤和一个可选步骤。首先,您需要选择自定义字段的类型。选择正确的字段类型非常重要,因为此设置以后无法更改。当您选择字段类型时,需要考虑该字段的使用方式、您希望存储的数据类型以及如何搜索这些数据。
选择了自定义字段类型后,您需要为其命名,并在添加选择列表自定义字段类型时提供选项。最后一步是可选的,即决定将该字段添加到哪些界面。
我们将引导您完成这个过程:
-
浏览到自定义 字段页面。
-
点击添加自定义字段按钮。这将带您进入步骤 1,在这里您可以选择自定义字段类型。
-
搜索并选择您希望添加的自定义字段类型,然后点击下一步。这将带您进入步骤 2,在这里您可以指定自定义字段的名称和选项。请注意,一旦选择了字段类型,创建字段后将无法更改:

图 5.2 – 添加自定义字段 第 1 步
提示
如果你没有看到所需的字段类型,选择左侧的所有选项,然后重新搜索。
- 输入名称和描述字段的值。如果你正在创建一个基于选择的自定义字段,例如选择列表,你还需要添加其选择选项(你可以稍后更新此列表):

图 5.3 – 添加自定义字段 第 2 步
重要说明
即使你可以有多个同名的自定义字段,这通常不是一个好的做法,因为这样会导致后期的混淆,并且使管理变得困难。
- 选择新自定义字段的上下文。你应该将上下文限制在自定义字段将要使用的特定问题类型和项目中。创建自定义字段后,你可以更改该上下文。

图 5.4 – 添加自定义字段 第 3 步
-
点击创建按钮。这将带你进入过程的最后一步,在这里你可以指定要将字段添加到哪个屏幕。此步骤是可选的,因为自定义字段已经在 Jira 中添加。你不必将字段添加到屏幕上。我们将在第六章,“屏幕管理”中讨论字段和屏幕。
-
选择屏幕并点击更新。以下截图显示新创建的字段已添加到两个屏幕:

图 5.5 – 添加自定义字段 第 4 步
一旦自定义字段被创建,你将在创建、编辑或查看问题时看到它出现在选定的屏幕上。
在你开始添加新的自定义字段之前,应该首先查看是否已有其他自定义字段可以重复使用,且它们已经服务于类似的目的。例如,如果你想添加一个部门的选择列表,可能已经有一个部门自定义字段,你只需添加一个新的字段上下文,这样就可以为你的项目提供不同的部门选项列表。因此,在添加新的自定义字段时,始终保持可重用性是一个好习惯。要时刻考虑如何重复使用现有字段,以及如何在未来重用新字段。这将帮助减少自定义字段的数量,使你的 Jira 更易于管理。
编辑/删除自定义字段
一旦创建了自定义字段,你可以随时编辑其详细信息。你可能已经注意到,每个自定义字段都有一个配置选项和一个编辑选项。刚开始时,区分这两者可能会让人感到困惑。配置指定与自定义字段上下文相关的选项,接下来我们将讨论这些内容。编辑指定 Jira 中全局适用的自定义字段选项;这些包括自定义字段的名称、描述和搜索模板:
-
浏览到自定义 字段页面。
-
通过点击自定义字段列表中你希望编辑的自定义字段旁边的齿轮图标,选择编辑选项。
-
更改自定义字段的详细信息,例如其名称或搜索模板。
-
点击更新按钮以应用更改。
在更改自定义字段的搜索模板时,重要的是要注意,尽管更改会立即生效,但你需要执行系统重新索引,以便 Jira 返回正确的搜索结果。这是因为,对于每个搜索模板,其底层搜索数据结构可能不同,而 Jira 需要更新其搜索索引以应用新的搜索模板。
例如,如果你有一个没有搜索器的自定义字段,而你刚刚为其应用了搜索器,那么在重新索引 Jira 之前,将不会返回任何结果。当你更改搜索模板时,Jira 会通过消息提醒你需要进行重新索引,如下截图所示:

图 5.6 – 更改搜索器
当你添加或修改了自定义字段、安装了包含自定义字段模块的第三方应用程序,或进行其他可能影响现有自定义字段的配置更改时,Jira 会通知你需要执行重新索引。由于重新索引可能是一个成本高昂且对于大型 Jira 实例可能需要很长时间才能完成的过程,因此并不要求每次 Jira 提示你执行时都必须进行重新索引。通常,你应在以下情况下执行重新索引:
-
你已更改了自定义字段的搜索模板
-
你已更新一个第三方应用,该应用对你使用的自定义字段进行了更改
-
你已对影响自定义字段的配置进行了更改,例如其上下文。
如果没有及时执行重新索引,可能会导致返回不正确的搜索结果及其他问题。
要执行重新索引,你可以点击提示框中的执行重新索引链接,或前往Jira 管理控制台 | 系统 | 索引。执行重新索引时,你可以选择执行后台重新索引或完全(前台)重新索引。后台重新索引较慢,但在重新索引过程进行时,终端用户可以继续使用 Jira。完全重新索引较快,但在整个过程完成之前,Jira 将无法使用。在大多数情况下,后台重新索引是首选,但如果搜索索引损坏,则需要执行完全重新索引。在这种情况下,你应该计划停机时间,因为在重新索引期间用户将无法使用 Jira。
提示
你应该选择后台重新索引选项,以避免任何停机时间。
我们将在第十章中更详细地讨论搜索和索引,搜索、报告,和分析。
你还可以删除现有的自定义字段,操作步骤如下:
-
浏览到自定义 字段页面。
-
通过点击你希望删除的自定义字段旁边的工具图标,选择删除选项。
-
点击删除按钮删除自定义字段。
删除后,你将无法恢复自定义字段,也无法检索和搜索该字段所持有的数据。如果你尝试创建另一个相同类型和名称的自定义字段,它不会继承之前自定义字段的数据,因为 Jira 为每个字段分配唯一的标识符。强烈建议在删除字段之前备份你的 Jira 项目,除非你完全确定不再需要该字段。
配置自定义字段
现在我们已经了解了如何创建和管理自定义字段,接下来可以开始查看更高级的配置选项。不同的自定义字段类型将有不同的配置选项。例如,所有自定义字段都可以指定一个或多个上下文,而基于选择列表的自定义字段还允许你指定一组选项。我们将在以下部分中逐一查看每个配置选项。
要配置自定义字段,你需要访问配置自定义字段页面,步骤如下:
-
浏览到自定义 字段页面。
-
通过点击自定义字段列表中希望配置的自定义字段旁边的齿轮图标,选择配置选项。这将带你进入配置自定义 字段页面。
以下截图显示了部门自定义字段有两个可用的上下文:默认配置方案,适用于演示项目,以及PMO配置方案,仅适用于开发和产品 管理项目:

图 5.7 – 配置自定义字段
添加自定义字段上下文
随着时间的推移,你可能需要根据问题所在的项目来配置不同的自定义字段。例如,如果我们有一个名为部门的选择列表自定义字段,我们可能希望它根据问题创建的项目具有不同的选项,甚至有不同的默认值。
为了实现这种自定义程度,Jira 允许你为一个自定义字段创建多个自定义字段上下文。正如我们已经看到的,自定义字段上下文是问题类型和项目的组合。因此,在我们前面的例子中,默认上下文和PMO上下文为部门字段提供了不同的选项。
创建一个新的自定义字段上下文非常简单。你只需要决定将定义上下文的问题类型和项目组合:
-
浏览到你希望为其创建新上下文的配置自定义字段页面。
-
点击添加新上下文链接。这将带你进入添加配置方案上下文页面。
-
在新的自定义字段上下文的配置方案****标签字段中输入名称。
-
在选择适用问题类型部分下选择新上下文的问题类型。
-
在选择适用的上下文部分下选择新上下文的项目。
-
点击添加按钮以创建新的自定义字段上下文。
每个项目每个自定义字段只能属于一个自定义字段上下文(全球上下文不计算在内)。一旦你为上下文选择了一个项目,下次创建新上下文时该项目将不可用。例如,如果你为项目 A 创建了新上下文,当你为相同自定义字段创建另一个上下文时,项目 A 将不会作为选项列出。这是为了防止你不小心为同一个项目创建两个上下文。
在创建新自定义字段上下文后,它不会继承任何配置值作为默认上下文,例如来自其他上下文的默认值和选项。你需要重新填写并维护每个新创建的上下文的配置选项。
限制自定义字段上下文还可以帮助减少搜索索引大小,并改善性能,特别是在数据中心版部署时。
配置选择项
对于自定义字段类型,如选择列表、复选框、单选按钮及其多版本,你需要在它们对用户可用之前配置它们的选择项。选择项是在每个自定义字段上下文的基础上配置的。这为自定义字段提供了在不同项目中使用不同选择项的灵活性。
要配置选择项,你需要首先选择自定义字段,然后选择将应用选择项的上下文,如下所示:
-
浏览到自定义 字段页面。
-
点击你希望配置选择项的自定义字段的配置选项。
-
点击自定义字段上下文的编辑选项链接,应用选项。
-
在添加新自定义字段选项部分输入选项值,然后点击添加按钮来添加该值。选项将按输入顺序添加到系统中。你可以手动移动选项值的顺序,或者点击按字母顺序排列选项让 Jira 自动为你排序。
-
配置完选择项后,点击完成按钮:

图 5.8 – 配置字段选项
你可以删除和禁用现有的选项。这两者操作有一个重要的区别。禁用选项时,Jira 只是不会在字段中显示该选项,但有该选项值的问题仍然会保留其值。因此,当你重新启用该选项时,值会恢复。然而,如果你删除该选项,它将完全从 Jira 中删除,包括所有已有该选项值的问题。因此,通常建议先禁用选项,只有在确定不再需要时才删除它。
设置默认值
对于大多数自定义字段,你可以设置默认值,这样用户就不需要填写这些字段,除非他们有特殊需求。对于基于文本的自定义字段,默认值将以文本形式显示,当用户创建或编辑问题时。对于基于选择的自定义字段,默认值将会是预选的选项。
就像设置选择项一样,默认选项也是基于每个自定义字段上下文设置的:
-
浏览到自定义字段页面。
-
点击配置选项,选择你希望配置选择项的自定义字段。
-
点击要应用默认值的自定义字段上下文的编辑默认值链接。
-
设置自定义字段的默认值。
-
点击设置默认值按钮以设置默认值。
设置默认值的方式因自定义字段类型而异。对于基于文本的自定义字段,你可以输入任何文本字符串。对于基于选择的自定义字段,你可以从添加的选项中选择。对于基于选择器的自定义字段,如用户选择器,你可以直接从用户库中选择用户。
在为字段设置默认值时,有一些需要注意的事项。如果一个字段有默认值,所有创建的问题都会将该值作为字段的默认值,除非用户显式地覆盖该值。如果同一个字段还被设置为必填项,这可能会违背设置的初衷,因为它总是会有一个值。这在你想要运行搜索时可能会造成问题,例如查找所有没有该字段值的问题,因此在设置默认值时,必须仔细考虑该默认值是否对你的使用场景有意义。
优化自定义字段
现在我们已经了解了如何创建和管理自定义字段,让我们再次回顾自定义字段上下文。正如我们所见,当你创建一个新的自定义字段时,Jira 会提示你为其设置一个上下文。然而,这是一个相对较新的功能,在旧版本的 Jira 中,自定义字段默认会创建为全局上下文。
随着你在 Jira 中添加越来越多的自定义字段,检查并优化自定义字段配置是一项好习惯,特别是当你自 Jira 的早期版本开始运行时,因为你的大多数自定义字段可能正在使用全局上下文。
为了帮助你,Jira 提供了一个自定义字段优化器。要运行优化器,请按照以下步骤操作:
-
浏览到 自定义 字段 页面。
-
点击右上角的 优化 链接。
-
点击 扫描 按钮以对你的自定义字段进行新的扫描。
扫描完成后,Jira 会提供一份报告,告诉你如何更好地优化自定义字段配置,以帮助提升整体的 Jira 性能。

图 5.9 – 优化自定义字段
例如,在前面的截图中,Jira 已经识别出 10 个使用全局上下文的自定义字段,这可能会影响 Jira 的性能。通过点击 管理这些自定义字段 链接,Jira 会列出这 10 个已识别的自定义字段,你可以为每个字段应用一个上下文。
字段配置
正如你已经看到的,字段用于在 Jira 中捕捉和显示数据。字段也可以有行为,这些行为由字段配置定义。在 Jira 中的每个字段,你都可以配置这里列出的行为:
-
字段描述:这是在编辑问题时,字段下方显示的描述文本。通过字段配置,你可以为不同的项目和问题类型设置不同的描述文本。
-
可见性:这决定了字段是否应该可见或隐藏。
-
必填:这指定了字段在创建/更新问题时是否需要填写值。当应用于选择、复选框或单选按钮自定义字段时,这将从列表中移除 无 选项。
-
渲染:这指定了内容的显示方式,以及在编辑字段时字段的外观。例如,基于文本的字段可以有一个默认的文本编辑器,它将是一个简单的基于文本的编辑器,而富文本编辑器则允许你为文本应用不同的样式。
字段配置允许你控制 Jira 中每个单独的字段,包括系统字段和自定义字段。由于通常建议重用相同的字段集合,而不是为每个项目创建新的字段,Jira 允许你创建多个字段配置,通过这些配置,我们可以在相同字段集上指定不同的配置,并将其应用到不同的项目。
你可以通过 Jira 管理控制台访问字段配置管理页面:
-
浏览到 Jira 管理控制台。
-
选择问题标签页,然后选择字段配置选项。这将把你带到查看字段 配置页面。
我们将在本章的后续部分探讨如何管理和应用多个字段配置。但首先,让我们仔细看看如何创建新的字段配置以及我们可以做什么。
添加字段配置
创建新的字段配置很简单。你只需要指定新配置的名称和简短描述:
-
浏览到查看字段 配置页面。
-
点击添加字段 配置按钮。
-
输入新的字段配置的名称和描述。
-
点击添加按钮以创建字段配置。
采用命名约定来命名你的配置始终是一个好习惯。正如我们稍后将在字段配置方案部分看到的,字段配置是与问题类型相关联的,所以你可以根据它们将要应用的项目和/或问题类型为字段配置命名,例如,示范项目 Bug 字段配置 1.0。我们还添加了版本号,因此当你需要更改字段配置时,可以递增版本号,保留一个可以恢复的更改历史。
创建字段配置后,直到我们将其与字段配置方案关联,它才会生效。我们将在讲解字段配置方案时详细介绍如何操作。现在,让我们来看一下如何在字段配置中管理字段行为。
管理字段配置
现在我们已经了解了如何创建新的字段配置,是时候更详细地了解不同的配置选项了。首先,快速回顾一下——每个字段配置包含了 Jira 中所有可用的字段,其行为由每个字段配置定义。然后,我们将其与字段配置方案关联,这将决定在特定问题中,字段配置何时生效。
执行以下步骤以访问字段配置选项:
-
浏览到查看字段 配置页面。
-
点击你希望配置的字段配置的配置链接。这将带你到查看字段 配置页面。
在此页面上,将列出所有当前为所选字段配置设置的字段及其配置选项:

图 5.10 – 管理字段配置
正如你所看到的,对于每个字段,你可以配置几个选项,且根据字段类型,选项可能会有所不同。虽然我们将查看每个选项,但需要注意的是,某些选项会互相覆盖。这是 Jira 为了防止你不小心创建一个会破坏系统的配置组合而进行的保护。例如,如果一个字段既被设置为隐藏又被设置为必填,那么用户将无法创建或编辑问题,因此,如果你已将字段设置为隐藏,Jira 将不允许你将字段设置为必填。一个常见的错误是将字段设置为必填,但没有将它放在问题的创建或编辑屏幕上。当这种情况发生时,即使字段没有出现在屏幕上,Jira 仍然要求用户输入该字段的值。因此,检查并确保所有必填字段都放置在适当的屏幕上非常重要。
字段描述
虽然为字段命名具有意义可以帮助用户理解字段的用途,但提供简短的描述能提供更多的上下文和意义。字段描述会在你创建或编辑问题时显示在字段下方。要为字段添加描述,请执行以下操作:
-
浏览到查看字段配置页面,以使用你希望使用的字段配置。
-
点击你希望设置描述的字段的编辑链接。
-
为字段添加描述并点击更新。
对于自定义字段,你在这里输入的描述会覆盖你首次创建时提供的描述。
必填字段
你可以为特定问题设置某些字段为必填或强制。这是一个非常有用的功能,因为它确保在用户创建问题时能够捕获到关键信息。例如,在我们的支持系统中,要求用户将出现故障的系统填写在字段中,并使该字段成为强制项,这有助于我们的支持工程师。
你已经看到过必填字段的应用。系统字段,如摘要和问题类型,在 Jira 中是强制性的(且无法更改)。当你没有为必填字段指定值时,Jira 会在字段下方显示一条错误信息,告知你该字段是必填的。
当你在 Jira 中添加新字段时,比如自定义字段,默认情况下它是可选的,这意味着用户无需指定值。你可以修改设置,将这些字段设置为必填:
-
浏览到查看字段配置页面,以使用你希望使用的字段配置。
-
点击你希望设置为必填的字段的必填/可选链接。

图 5.11 – 必填/可选字段
你会注意到一旦字段被设置为必填,该字段旁边会有一个小的红色必填文本标签。当你创建或编辑问题时,字段旁边会有一个红色的(*)字符。这是 Jira 用来表示该字段是强制性的。
字段可见性
Jira 中的大多数字段可以对用户隐藏。当一个字段设置为隐藏时,用户将无法在任何屏幕上看到该字段,包括创建、更新和查看等问题页面。按照以下步骤来显示或隐藏字段:
-
浏览到查看字段配置页面以选择你希望使用的字段配置。
-
点击你希望显示或隐藏的字段旁边的显示/隐藏链接。
一旦字段被设置为隐藏,它将不再显示在屏幕上,你也无法在其中进行搜索。然而,你仍然可以使用脚本等工具为隐藏字段设置值。因此,隐藏字段通常用于存储由自动化流程使用的数据。
并非所有字段都可以隐藏。系统字段,如概要和问题类型,无法被隐藏。当你将字段设置为隐藏时,你会注意到无法再将该字段设置为必填。如前所述,将字段设置为必填将会强制要求在创建或编辑问题时必须输入该字段的值。如果该字段是隐藏的,你就无法为其设置值,这时就会出现问题。因此,Jira 会自动禁用必填选项,特别是当你已经隐藏了字段时。另一方面,如果你将字段标记为必填,当你隐藏同一字段时,你会发现该字段不再是必填的。一般来说,字段可见性会覆盖必填设置。
注意
一个字段不能同时被设置为隐藏和必填。
字段渲染
渲染器控制字段在查看或编辑时的显示方式。某些系统字段和自定义字段有多个渲染器,对于这些字段,你可以选择使用哪一个。例如,对于文本字段,如描述,你可以选择使用简单的文本渲染器或更复杂的 wiki 风格渲染器,后者允许你使用 wiki 标记语言来添加更多样式。
Jira 提供四种不同的渲染器:
-
默认文本渲染器:这是文本字段的默认渲染器。内容会以纯文本方式渲染。如果文本解析为 Jira 问题密钥,渲染器会自动将其转化为 HTML 链接。
-
Wiki 风格渲染器:这是一个增强的渲染器,用于文本字段。它允许你使用 wiki 标记语言来装饰文本内容。
-
选择列表渲染器:这是基于选择的字段的默认渲染器。它会以标准 HTML 选择列表的形式呈现。
-
自动完成渲染器:这是一个增强的渲染器,用于基于选择的字段,并为用户提供自动完成功能,帮助他们在输入字段时获得建议。
下表列出了所有可以配置特殊渲染器的字段及其可用选项:
| 字段 | 可用渲染器 |
|---|---|
| 描述 | 具有维基风格渲染器和默认文本渲染器。 |
| 评论 | 具有维基风格渲染器和默认文本渲染器。 |
| 环境 | 具有维基风格渲染器和默认文本渲染器。 |
| 组件 | 具有自动完成渲染器和选择列表渲染器。 |
| 影响版本 | 具有自动完成渲染器和选择列表渲染器。 |
| 修复版本 | 具有自动完成渲染器和选择列表渲染器。 |
| 自定义字段类型自由文本字段(无限文本)** | 具有维基风格渲染器和默认文本渲染器。 |
| 自定义字段类型 文本字段 | 具有维基风格渲染器和默认文本渲染器。 |
| 自定义字段类型 多选 | 具有自动完成渲染器和选择列表渲染器。 |
| 自定义字段类型 版本选择器 | 具有自动完成渲染器和选择列表渲染器。 |
表 5.4 – 字段渲染器
执行以下步骤为字段设置渲染器:
-
浏览查看字段配置页面,找到你希望使用的字段配置。
-
点击渲染器链接,进入你希望为其设置渲染器的字段页面(如果有可用)。你将被引导到编辑字段渲染器页面。
-
从可用的下拉列表中选择渲染器。
-
点击更新按钮来设置渲染器。
还有由第三方供应商开发的其他自定义渲染器。像自定义字段一样,这些渲染器作为插件进行打包,你可以在 Jira 中安装它们。安装后,这些自定义渲染器将可供选择适当的字段类型。
一个好的例子是JEditor插件,它为所有文本字段提供了一个先进的富文本编辑器,包括描述。
字段配置方案
通过多个字段配置,Jira 确定何时通过字段配置方案应用每个配置。字段配置方案将字段配置映射到问题类型。然后,可以将该方案与一个或多个项目关联。
这使你能够将多个字段配置与问题类型进行映射并一次性应用到一个项目。然后,项目将能够根据问题的性质确定应用哪个字段配置。例如,对于某个项目,你可以为 bug 和任务设置不同的字段配置。
将配置分组为方案还可以让你有机会在不重复工作的情况下重用现有配置,因为每个方案都可以重复使用并与多个项目关联。
管理字段配置方案
你可以从查看字段配置方案页面管理所有字段配置方案:
-
浏览到 Jira 管理控制台。
-
选择问题标签,然后选择字段配置方案选项。这将带你到查看字段配置 方案页面:

图 5.12 – 管理字段配置方案
这是主要页面,在此页面上你可以添加、配置、编辑、删除和复制字段配置方案。接下来我们将先了解如何添加一个新的字段配置方案。
添加字段配置方案
将字段配置分组的第一步是创建一个新的字段配置方案。默认情况下,Jira 没有任何字段配置方案。所有项目将使用系统默认的字段配置。新的字段配置方案将保存我们字段配置与问题类型之间的所有映射关系。
要创建一个新的字段配置方案,你只需要指定方案的名称和可选的描述:
-
浏览到查看字段配置 方案页面。
-
点击添加字段配置 方案按钮。
-
输入新字段配置方案的名称和描述。
-
点击添加按钮来创建方案。
由于字段配置方案是应用于项目的,因此命名时最好根据项目来命名。例如,销售项目的方案可以命名为销售字段配置方案。你可以在名称后添加版本号,以帮助你管理变更。
一旦新的字段配置方案创建完成,它将显示在列出所有现有方案的表格中。此时,该方案尚未生效,因为它不包含任何配置映射,并且还没有与任何项目关联。
配置字段配置方案
一旦你设置好新的字段配置方案,你将能够在字段配置和问题类型之间添加映射。对于每个字段配置方案,一个问题类型只能映射到一个字段配置,而每个字段配置可以映射到多个问题类型。以下截图显示,问题类型子任务、史诗和任务都应用了特定的字段配置,而默认字段配置将应用于所有其他未明确映射的问题类型,例如Bug或Story:

图 5.13 – 配置字段配置方案
注意
一个问题类型只能映射到一个字段配置。
当字段配置方案首次创建时,Jira 会创建一个默认映射,将所有未映射的问题类型映射到默认字段配置。你不能删除这个默认映射,因为它作为一个捕捉条件,用于处理你在方案中未指定的映射。你需要做的是添加更具体的映射,这些映射将优先于这个默认映射:
-
浏览到查看字段配置 方案页面。
-
点击你希望配置的字段配置方案的配置链接。
-
点击将问题类型与字段配置关联按钮。
-
从对话框中选择问题类型和字段配置。
-
点击添加按钮以添加映射。
你可以重复这些步骤,为其他问题类型添加更多映射。所有未映射的问题类型将使用默认映射。
将字段配置方案与项目关联
创建新的字段配置方案并建立映射后,最后一步是将方案与项目关联,以使配置生效。
需要注意的是,一旦你将字段配置方案与项目关联,直到你移除所有关联并使方案再次变为非激活状态之前,无法删除它。
要将字段配置方案与项目关联,请按照以下步骤操作:
-
浏览到目标项目的管理页面。
-
点击左侧面板中的字段选项。
-
从操作菜单中选择使用不同的方案选项。
-
选择一个新的字段配置方案,并点击关联按钮。
如下截图所示,该项目正在使用PMO 字段配置方案,该方案有四个配置。三个配置映射到特定的问题类型,而默认字段配置适用于没有显式映射的问题类型。

图 5.14 – 关联字段配置方案
提示
你可以点击每个字段配置查看其详细信息。
屏幕
为了让字段在查看、创建或编辑问题时显示,它需要被放置到一个屏幕上。当你创建新的自定义字段时,你已经见过这一点。创建过程中的一个步骤是选择要将自定义字段添加到哪些屏幕。屏幕将在第六章《屏幕管理》中进一步讨论,所以我们现在不花太多时间了解它们。
你现在需要知道的是,在字段被添加到屏幕后,你可以将其添加到其他屏幕或完全移除它。如果你只处理一个字段,你可以在字段配置中进行配置。如果你有多个字段需要更新,更好的方法是直接处理屏幕,就像我们在第六章《屏幕管理》中将看到的那样。
在字段配置中隐藏字段与不将字段放置在屏幕上的微妙区别。虽然最终结果相似,在这两种情况下字段都不会显示,但如果你隐藏一个字段,仍然可以通过使用默认值、工作流后功能(见第七章,工作流与业务流程)或自定义脚本设置其值,本质上意味着该字段存在但只是隐藏了。然而,如果字段不在屏幕上,则无法设置其值。另一个区别是,隐藏字段将会在所有添加了该字段的屏幕上隐藏,适用于使用该字段配置的项目。
现在你已经了解了如何在 Jira 中管理字段,是时候扩展我们的 HR 项目了。
HR 项目
我们这次要做的是添加一些新的自定义字段,以帮助捕获一些额外的有用信息。我们还将为我们的 HR 团队创建一个专门设计的自定义字段配置。最后,我们将通过字段配置方案将所有内容关联起来,连接字段、配置和项目。
设置自定义字段
由于你正在为 HR 实施一个项目,并且我们在上一章中创建了两种问题类型,新员工和终止,对于新员工问题类型,我们将添加一个新的自定义字段,名为Direct Manager,这样当一切完成时,经理可以收到通知,知道他们的新团队成员已经准备好开始工作。由于经理已经在组织中,我们将使用用户选择器字段,这样 Jira 就能自动为我们查找用户。
对于我们的终止问题类型,我们还将添加一个新的自定义字段,名为最后工作日,这样我们就能知道员工的最后工作日。对于这个字段,我们将使用日期选择器,以保持日期格式的一致性。
要创建这些自定义字段,执行以下任务:
-
浏览到自定义 字段页面。
-
点击添加自定义 字段按钮。
-
选择用户选择器自定义字段类型。
-
给自定义字段命名为
Direct Manager,然后点击创建。 -
选择所有问题类型,并将 HR 项目作为我们新自定义字段的上下文。
-
从屏幕列表中选择HR: 任务管理 创建问题屏幕和HR: 任务管理 编辑/查看问题屏幕,然后点击更新。
-
重复步骤 2 到 5,但选择
最后工作日。
设置字段配置
现在我们已经准备好自定义字段,下一步是创建一个新的字段配置,以便我们可以指定自定义字段的行为。我们在这里要做的是将两个新自定义字段设置为必填,这样当问题输入到 Jira 时,用户必须为其输入值。但是,Direct Manager字段只应在创建新员工问题时必填,而不是终止。为此,我们需要创建两个字段配置:
-
浏览至查看字段 配置页面。
-
点击添加字段 配置按钮。
-
为新的字段配置命名为
新员工字段配置。 -
点击添加按钮创建一个新的字段配置。现在我们已经有了新的字段配置,可以开始将配置添加到新的自定义字段中。
-
点击直接经理自定义字段旁的必填链接。
-
重复步骤 2 到 5以创建一个新的字段配置,命名为终止字段配置,并将最后工作日字段设置为必填。
设置字段配置方案
我们已经有了自定义字段,并配置了相关选项,创建了新的字段配置,并设置了字段的行为。现在是时候将它们添加到方案中了:
-
浏览至查看字段配置 方案页面。
-
点击添加字段配置 方案按钮。
-
为新的字段配置方案命名为
HR 字段配置方案,因为我们将把它应用到我们的 HR 项目中。 -
点击添加按钮创建一个新的字段配置方案。
创建好字段配置方案后,我们可以将字段配置与相应的问题类型新员工和终止进行关联:
-
点击将问题类型与字段 配置关联按钮。
-
将问题类型设置为新员工,字段配置设置为新员工 字段配置。
-
点击添加按钮以添加关联。
-
重复步骤 1 到 3,针对终止问题类型和终止 字段配置。
整合起来
好的,我们已经完成了所有的繁重工作。我们创建了新的自定义字段、新的字段配置和新的字段配置方案;最后一步是将一切整合起来并查看其实际效果:
-
浏览至我们 HR 项目的项目管理页面。
-
点击左侧的字段链接,并从操作菜单中选择使用不同的方案选项。
-
选择HR 字段配置方案并点击关联按钮。
好了,我们完成了!你可以拍拍自己的背,放松一下,看看你的成果。
在 HR 项目中创建一个新的终止类型问题,你将看到页面底部的新自定义字段。如下图所示,直接经理和最后工作日字段是必填的,如果我们没有为它们提供值,会显示错误消息。

图 5.15 – 创建终止问题
我们在这里看到直接经理自定义字段,因为新员工和终止问题类型使用相同的屏幕集。我们将在第六章中了解如何使用独立的屏幕。然而,我们也可以通过字段配置来隐藏适当问题类型的字段。
继续创建一个新的终止问题,通过填写相关字段。在查看问题页面,你将看到你新增的自定义字段,以及你提供的值:

表 5.16 – 查看终止问题
正如我们所看到的,通过在 Jira 中添加我们自己的自定义字段,我们能够自定义我们的录入表单(创建问题页面),以捕获比默认系统字段更多的额外数据,同时我们还可以设置某些字段为必填,确保用户总是填写这些字段。
总结
在本章中,我们讨论了 Jira 中的字段。我们还了解了 Jira 如何通过自定义字段扩展其捕捉用户数据的能力,以及如何将搜索器应用于这些字段,使它们所捕获的数据可搜索。我们探讨了如何通过使用字段配置和方案,在不同的上下文中为字段指定不同的行为。我们还简要介绍了屏幕,下一章将更深入地讨论它。最后,我们通过向我们的 HR 项目中添加新的自定义字段将这些内容结合起来。
在下一章,我们将通过正式介绍屏幕,扩展我们对字段的了解,并展示如何通过结合字段和屏幕,为用户提供最自然和逻辑的表单,帮助他们创建和记录问题。
第六章:屏幕管理
字段收集用户数据,你已经看到如何从各种字段类型中创建自定义字段,以满足不同的需求。数据收集确实是任何信息系统的核心,但这只是故事的一部分。将字段进行合理组织,同样重要,这样用户才不会感到不知所措,字段的一般流程需要在逻辑上进行结构化,并分组到各个部分。这正是屏幕发挥作用的地方。
在本章中,我们将从上一章的内容继续,探讨字段与屏幕之间的关系。我们将进一步讨论如何使用屏幕自定义你的 Jira,以提供更好的用户体验。到本章结束时,你将学到以下内容:
-
屏幕是什么以及如何创建它们
-
如何将字段添加到屏幕中
-
如何将屏幕拆分成具有选项卡的逻辑部分
-
屏幕与问题操作之间的关系
-
如何将屏幕与项目和问题类型关联
-
作为项目管理员,如何配置项目特定的屏幕
理解 Jira 和屏幕
在你开始使用屏幕之前,首先需要了解它们是什么以及它们在 Jira 中如何使用。与普通的纸质表单相比,Jira 中的字段就像是你需要填写的复选框和空白区域,而屏幕则像是表单本身。当在 Jira 中创建字段时,它们需要添加到屏幕中,才能向用户展示。
在大多数情况下,屏幕与问题操作相关联,如创建、查看和编辑问题。这种关联定义在屏幕方案中。这样,你可以为不同的操作设置不同的屏幕。屏幕方案然后与问题类型屏幕方案相关联,当应用到项目时,它会将屏幕方案映射到问题类型。这让每个项目中的问题类型都有自己的屏幕集。屏幕唯一会被直接使用的情况是它与工作流转换相关联时。在 Jira 中,工作流定义了问题可能经历的各种状态。例如,一个问题可以从“打开”变为“关闭”。转换是将问题从一个状态移到下一个状态的操作,如果你选择,Jira 允许你将屏幕作为操作的一部分进行展示。我们将在第七章,工作流与 业务流程中详细讲解工作流。
为帮助你了解如何在 Jira 中使用屏幕,Atlassian 提供了以下图表,概述了字段、屏幕及其相应方案之间的关系:

图 6.1 – 屏幕与方案
既然我们已经对屏幕有了基本了解,让我们开始看看如何在 Jira 中创建和管理屏幕。
使用屏幕
虽然许多其他软件系统提供的用户屏幕展示控制较为有限,但 Jira 在屏幕自定义方面非常灵活。你可以创建自己的屏幕,并决定将哪些字段放置在屏幕上以及字段的顺序。你还可以决定在进行问题操作时,哪些屏幕需要显示。在 Jira 中,你可以为以下操作创建和设计自定义屏幕:
-
在创建问题对话框中创建问题
-
编辑一个问题时,当问题正在被更新
-
在问题创建后,用户查看问题时的屏幕
-
在工作流中过渡一个问题
屏幕由管理控制台集中管理,这意味着你需要是 Jira 管理员才能创建和配置屏幕。请按照以下步骤访问查看 屏幕页面:
-
以 Jira 管理员用户身份登录。
-
浏览到 Jira 管理控制台。
-
选择问题标签,然后选择屏幕选项。这将打开查看 屏幕页面。
查看屏幕页面列出了当前在你的 Jira 实例中可用的所有屏幕。你可以选择一个屏幕,并配置该屏幕上将显示哪些字段,并决定如何将屏幕分为多个标签。
对于这里列出的每个屏幕,Jira 还会告诉你每个屏幕属于哪个屏幕方案,并且使用了哪些工作流。你可能已经注意到,对于那些属于屏幕方案或工作流的屏幕,没有删除选项,因为你无法删除正在使用的屏幕。你需要先将屏幕与屏幕方案和/或工作流解除关联,才能删除它们,如下图所示:

图 6.2 – 查看屏幕
如前面的截图所示,对于每个屏幕,你可以执行以下操作:
-
配置:此操作配置将显示哪些字段在屏幕上。不要与编辑操作混淆。
-
编辑:此操作更新屏幕的名称和描述。
-
复制:此操作会复制选定的屏幕,包括其标签和字段配置。
-
删除:此操作从 Jira 中删除屏幕。只有当该屏幕未被屏幕方案或工作流使用时,才能执行此操作。
这里列出的屏幕不影响 Jira Service Desk。我们将在第十一章,Jira 服务管理中介绍 Jira Service Desk 的屏幕和字段配置。接下来,让我们来看看 Jira 默认的屏幕,以及如何创建你自己的屏幕。
添加新屏幕
Jira 默认提供了几个屏幕(如下所示),并且每次创建新项目时,都会根据您选择的模板为项目创建一组新的屏幕。这些项目特定的屏幕将以项目的关键字开头,例如HD: 任务管理查看问题屏幕,其中 HD 是项目的关键字:
-
默认屏幕:此屏幕用于创建、编辑和查看问题。
-
解决问题屏幕:此屏幕用于解决和关闭问题。
-
工作流屏幕:此屏幕在通过工作流转换问题时使用(如果配置为有屏幕,如重新打开问题)。
虽然默认屏幕和为您的项目自动创建的屏幕可以覆盖最基本的需求,但您很快就会发现它们无法满足需求,届时需要进行调整。例如,如果您想将某些字段设置为只读,例如优先级,以确保在问题创建后无法更改,您可以通过为创建和编辑问题设置不同的屏幕来实现。另一个例子是为不同的 Issue 类型(如Bug和Task)设置不同的创建和编辑屏幕。在这些情况下,您需要使用以下步骤在 Jira 中创建自己的屏幕:
-
浏览到查看 屏幕页面。
-
点击添加屏幕按钮。这将弹出添加屏幕对话框。
-
为新屏幕输入一个有意义的名称和描述。最好根据屏幕的用途为其命名,例如HD: Bug 创建屏幕,以表明这是为项目 HD 创建新 Bug 问题的屏幕。
-
点击添加按钮以创建屏幕。
此时,您的新屏幕是空白的,没有任何字段。Jira 中的字段按从上到下的单列顺序排列和显示。您可以完全控制可以添加哪些字段以及它们的排列顺序。
唯一的例外是查看屏幕。当您查看问题时,字段会按类型分组。例如,报告人和受理人等用户字段会一起显示在页面的右上方。还需要注意,对于系统字段,如摘要和问题,即使您将其移除屏幕,它们在查看问题时仍然会显示。对于这些字段,您不能更改其在屏幕上的位置。
向屏幕添加字段
当您首次创建屏幕时,它几乎没有任何用处。要使屏幕能向用户展示内容,您必须首先将字段添加到屏幕上:
-
点击您希望添加字段的屏幕旁的配置链接。
-
通过在字段名称下拉列表中输入字段名称来选择你想添加的字段。Jira 会在你输入时自动匹配字段,如下图所示。如果你没有找到想要的字段,请确保它没有已经出现在屏幕上或其他标签上。标签的详细内容将在后续章节中讨论:

图 6.3 – 向屏幕添加字段
字段会被添加到列表的底部。你可以通过简单地上下拖动来重新排序字段列表。
从屏幕删除字段
字段可以从屏幕中删除。当一个字段被移除时,屏幕展示给用户时将不再显示该字段。删除字段和隐藏字段之间有一个微妙的区别(如在第五章中讨论的,字段管理)。虽然两者都会阻止字段显示,但通过移除字段,创建问题时该字段不会获得值。当字段配置为具有默认值时,这一点尤为重要。若字段从屏幕中移除,问题将不会获得该字段的默认值,而如果字段仅仅是隐藏的,则默认值将被应用。
删除屏幕字段时,你也需要特别小心,因为没有确认对话框。确保不要删除必填字段,如摘要,这些字段是在创建新问题时使用的。如在第五章中所述,字段管理,Jira 会防止你隐藏被标记为必填的字段,但 Jira 不会阻止你将必填字段从屏幕上移除。因此,你可能会遇到这样的情况:Jira 要求某个字段的值,但该字段在屏幕上并不存在。这可能会导致终端用户看到非常令人困惑的错误信息。要从屏幕中移除字段,请执行以下操作:
-
点击你希望删除字段的屏幕上的配置链接。
-
将鼠标悬停在你想删除的字段上,然后点击X(删除)按钮。
当你从屏幕中删除字段时,现有问题不会失去该字段的值。只要你重新添加该字段,值会再次显示。
使用屏幕标签
在大多数情况下,你会按顺序将字段添加到屏幕上,用户会从上到下填写这些字段。然而,也有可能因为需要的字段太多,屏幕变得过于复杂和凌乱,或者你可能只是希望以某种方式将几个字段逻辑分组,并将它们与其他字段分开。这时,标签功能就派上用场了。
如果你把屏幕看作是用户必须填写的整个表单,那么标签就是构成整个文档的单独页面或部分。标签从左到右排列,因此设计标签时,最好让它们从左到右合理地流动。例如,第一个标签可以收集一般信息,如摘要和描述。随后的标签将收集更多特定领域的信息,如下所示:

图 6.4 – 屏幕标签
向屏幕添加标签
你可以在 Jira 中的任何屏幕上添加标签。实际上,默认情况下,所有屏幕都有一个名为字段标签的默认标签,用于承载所有字段。你可以向屏幕添加新标签,以便分解和更好地管理屏幕展示,如下所示:
-
浏览到查看 屏幕页面。
-
点击你希望添加新标签的屏幕的配置链接。
-
点击字段列表上方的+按钮,并为标签输入名称。
-
点击添加按钮以创建标签。
标签是水平从左到右排列的。当你向屏幕添加新标签时,它会被附加到列表的末尾。你可以通过拖动标签在列表中左右调整标签的顺序,如下截图所示:

图 6.5 – 添加新的屏幕标签
你还可以通过拖动字段并将其悬停到目标标签上,将字段从一个标签移动到另一个标签。这将节省你手动从标签中删除字段然后将其添加到新标签的时间。
注意
需要记住的一点是,如果标签上没有字段,标签将不会显示。
编辑/删除标签
就像屏幕一样,你可以通过编辑标签名称和/或从屏幕中删除它们来管理现有标签。执行以下步骤以编辑标签名称:
-
浏览到查看 屏幕页面。
-
点击你希望编辑的标签所在屏幕的配置链接。
-
通过点击选择标签。
-
点击编辑图标,并为标签输入一个新名称。
-
点击保存按钮以应用更改。
当你删除标签时,标签上的字段将被移出屏幕。如果你仍然希望这些字段出现在屏幕上,你需要重新添加或将它们移动到其他标签。你不能删除屏幕上的最后一个标签。删除标签的步骤如下:
-
浏览到查看 屏幕页面。
-
点击你希望编辑标签所在屏幕的配置链接。
-
通过点击选择标签。
-
点击删除图标。Jira 会要求你确认是否删除该标签,并列出所有当前存在的字段。
-
点击删除按钮将标签从屏幕中移除。
编辑/删除屏幕
你可以通过更新现有屏幕的详细信息来编辑屏幕,以帮助保持配置的最新和一致。执行以下步骤以编辑屏幕:
-
浏览到查看 屏幕页面。
-
点击你希望更新的屏幕的编辑链接。这将带你到编辑 屏幕页面。
-
更新屏幕的名称和描述。
-
点击更新按钮以应用你的更改。
要删除一个现有的屏幕,它不能被任何屏幕方案或工作流使用。如果它与屏幕方案或工作流关联,你将无法删除它。你需要先取消关联。按照以下步骤删除屏幕:
-
浏览到查看 屏幕页面。
-
点击删除链接以删除你希望移除的屏幕。这将带你到删除屏幕页面进行确认。
-
点击删除按钮以移除该屏幕。
删除屏幕时,并不会从系统中删除屏幕上的字段。
复制屏幕
屏幕有时可能很复杂,因此,如果已有类似的屏幕,创建一个全新的屏幕可能不是最高效的方法。就像 Jira 中的许多其他实体一样,你可以复制一个现有的屏幕,从而减少重新添加所有字段所需的时间:
-
浏览到查看 屏幕页面。
-
点击复制链接以复制你希望复制的屏幕。
-
输入屏幕的新名称和描述。
-
点击复制按钮以复制该屏幕。
注意
当你复制一个屏幕时,它也会复制该屏幕上的所有标签。
我们已经了解了如何创建和配置屏幕;接下来,我们将看看如何使用屏幕方案将屏幕应用于问题操作。
使用屏幕方案
你已经了解了如何创建和管理屏幕,以及如何配置要添加到屏幕的字段。接下来的一步是让 Jira 知道在哪个问题操作中使用哪个屏幕。
屏幕在问题操作中显示,屏幕方案定义了屏幕与操作之间的映射。通过屏幕方案,你可以控制屏幕显示哪些问题操作,如下所示:
-
创建问题:当你创建一个新问题时,会显示此屏幕。
-
编辑问题:当你编辑现有问题时,会显示此屏幕。
-
查看问题:当你查看一个问题时,显示此屏幕。
就像屏幕一样,每当你在 Jira 中创建一个新项目时,会为你的项目创建一个新的屏幕方案,并且屏幕会自动分配给这些问题操作。
创建的默认设置通常足够让你开始使用。然而,也有时候你不希望某些字段在问题创建后可供编辑。另一个例子是,在创建时某些字段可能不需要,因为所需的信息在此时可能不可用。因此,为了避免让用户感到困惑和/或不知所措,在问题创建时省略这些字段,等到信息可用时再要求填写。
如您所见,通过为每个问题操作使用不同的屏幕,而不是采用“一种屏幕适用所有”的方法,Jira 为您提供了更高的灵活性来控制和设计您的屏幕。像往常一样,如果屏幕之间没有显著差异,例如创建和编辑操作,建议您创建一个基础屏幕,并使用复制屏幕功能来减少工作量。
就像屏幕一样,您需要成为 Jira 管理员才能管理屏幕方案。执行以下步骤来管理屏幕方案:
-
浏览到 Jira 管理控制台。
-
选择问题标签,然后选择屏幕方案选项,进入查看屏幕 方案页面:

图 6.6 – 查看屏幕方案
在查看屏幕方案页面,您将能够看到所有现有屏幕方案的列表,创建和管理它们的配置,并查看它们与问题类型屏幕方案的关联(这将在问题类型屏幕方案部分进行解释)。我们从创建新的屏幕方案开始。
添加屏幕方案
通常,您将使用 Jira 为您的项目创建的屏幕方案。然而,也会有需要多个屏幕方案的情况。例如,如果您需要根据项目中的不同问题类型显示不同的屏幕集合,则需要为每个问题类型创建一个新的屏幕方案。执行以下步骤来创建新的屏幕方案:
-
浏览到查看屏幕 方案页面。
-
点击添加屏幕 方案按钮。
-
为新屏幕方案输入名称和描述。就像屏幕一样,采用一个一致的命名模式来描述屏幕方案的用途是一个好主意,例如DEMO: Bug 屏幕方案。
-
从屏幕列表中选择一个默认屏幕。当没有特定的问题操作映射时,将显示此屏幕。
-
点击添加按钮来创建屏幕方案。
在此阶段,新屏幕方案尚未使用。这意味着它还没有与任何问题类型的屏幕方案关联(问题类型屏幕方案将在后续章节中讨论)。新屏幕方案将使用与您默认屏幕相同的屏幕进行所有问题操作。现在,如果您希望使用相同的屏幕进行创建、编辑和查看操作,那么您已经准备就绪;无需进一步配置您的屏幕方案。然而,如果您需要为不同的问题操作显示不同的屏幕,则需要建立这种关联。
当问题操作没有与屏幕关联时,将应用所选的默认屏幕。如果稍后为问题操作指定了屏幕关联,则特定的关联将优先于一般的回退默认屏幕。
将屏幕与问题操作关联
每个问题操作只能与一个屏幕关联。执行以下步骤将问题操作与屏幕关联:
-
点击您想要更新的屏幕方案的配置链接。
-
点击将问题操作与屏幕关联按钮。
-
选择要分配到屏幕的操作。
-
选择要与问题操作关联的屏幕。
-
点击添加按钮以创建关联。

图 6.7 – 配置屏幕方案
如前所示的截图所示,创建问题和编辑问题操作分别与DEMO: 项目管理创建问题屏幕和DEMO: 项目管理编辑问题屏幕关联。由于我们没有与查看问题操作关联的屏幕,因此将使用默认关联DEMO: 项目管理查看问题屏幕。
编辑/删除关联
在您为问题操作创建了一个关联后,Jira 会阻止您为同一问题操作创建另一个关联,通过将其从可用选项列表中移除。为了将关联更改为不同的屏幕,您需要编辑现有的关联,如下所示:
-
点击您想要更新的屏幕方案的配置链接。
-
点击您希望编辑的关联的编辑链接。
-
选择一个新的屏幕与问题操作关联。
-
点击更新按钮以应用更改。
如果您决定不再需要一个或多个现有的关联,您可以通过执行以下步骤将它们从屏幕方案中删除:
-
点击您想要更新的屏幕方案的配置链接。
-
点击您希望删除的关联的删除链接。
请注意,与其他类似操作不同,删除问题操作关联时不会弹出确认页面。只要您点击删除链接,关联就会立即被删除。
编辑/删除屏幕方案
您可以更新现有屏幕方案的详细信息,如名称和描述。为了更改默认屏幕选择,您需要配置屏幕方案,后续部分将讲解此内容。执行以下步骤以编辑现有的屏幕方案:
-
浏览到查看屏幕 方案页面。
-
点击您希望编辑的屏幕方案的编辑链接。
-
使用新值更新名称和描述。
-
点击更新按钮以应用更改。
不活跃的屏幕方案也可以删除。如果屏幕方案是活跃的(即与问题类型屏幕方案相关联),则删除选项将不可用。执行以下步骤以删除屏幕方案:
-
浏览到查看屏幕 方案页面。
-
点击您想要删除的屏幕方案的删除链接。
-
点击删除按钮确认你希望删除该屏幕方案。
复制屏幕方案
虽然屏幕方案没有屏幕那么复杂,但仍然会有一些时候你希望复制一个现有的屏幕方案,而不是从头开始创建一个。你可能希望复制方案中的屏幕/问题操作关联,我们将在接下来的部分中介绍,或者在对方案进行任何更改之前,快速备份一份方案。
执行以下步骤以复制一个现有的屏幕方案:
-
浏览到查看屏幕 方案页面。
-
点击你希望复制的屏幕方案旁边的复制链接。
-
输入屏幕方案的新名称和描述。
-
点击复制按钮复制选定的屏幕方案。
就像创建新的屏幕方案一样,复制的屏幕方案默认是非激活的。
问题类型屏幕方案
屏幕方案将屏幕组合在一起,并与问题操作建立关联。接下来的步骤是告诉 Jira 在创建、查看和编辑特定类型问题时使用我们的屏幕方案。
我们不会直接将屏幕方案与 Jira 关联。这样做的原因是 Jira 具有灵活性,允许你按每个问题类型进行定义。这意味着,你可以为不同的问题类型使用不同的屏幕方案,而不是强制一个项目中的所有问题类型都使用相同的屏幕方案。这个极其灵活和强大的功能是通过问题类型 屏幕方案提供的。
就像屏幕和屏幕方案一样,你需要是 Jira 管理员才能创建和管理问题类型屏幕方案。执行以下步骤来管理问题类型屏幕方案:
-
浏览到 Jira 管理控制台。
-
选择问题选项卡,然后选择问题类型屏幕方案选项,打开问题类型屏幕 方案页面:

图 6.8 – 查看问题类型屏幕方案
就像屏幕方案一样,当你创建项目时,Jira 会自动创建一个问题类型屏幕方案。由于一个项目只能关联一个问题类型屏幕方案,通常你无需自己创建新的方案。不过,也有可能你想创建一个新的方案,例如在进行一些新的配置实验时,同时又想保留现有方案,以便在需要回滚时使用。
执行以下步骤以创建一个新的问题类型屏幕方案:
-
浏览到问题类型屏幕 方案页面。
-
点击添加问题类型屏幕 方案按钮。
-
为新的问题类型屏幕方案输入名称和描述。
-
从屏幕方案列表中选择一个默认的屏幕方案。
-
点击添加按钮创建问题类型屏幕方案。
没错,你猜对了!新的问题类型屏幕方案尚未启用。它只有在应用到一个或多个项目后才会生效,我们稍后会看到,但让我们先来看一下如何将屏幕方案与问题类型关联。
将问题类型关联到屏幕方案
Jira 通过在屏幕方案和问题类型之间建立关联来确定使用哪个屏幕方案。每个问题类型只能关联一个屏幕方案,但每个屏幕方案可以关联多个问题类型。
执行以下步骤以添加新的关联:
-
点击你希望配置的问题类型屏幕方案的配置链接。
-
点击将问题类型与屏幕方案关联按钮。
-
选择要添加关联的问题类型。
-
选择要与问题类型关联的屏幕方案。
-
点击添加按钮以创建关联:

图 6.9 – 配置问题类型屏幕方案
如上图所示,故事、任务和缺陷问题类型分别与DEMO: 项目管理故事屏幕方案、DEMO: 项目管理任务屏幕方案和DEMO: 项目管理缺陷屏幕方案显式关联。所有其他问题类型,如子任务,将与默认的DEMO: 项目管理屏幕方案关联。
编辑/删除关联
你可以更新现有的关联,比如默认关联,这是在创建新问题类型屏幕方案时自动创建的:
-
点击你希望配置的问题类型屏幕方案的配置链接。
-
点击你希望编辑的关联的编辑链接。
-
选择一个新的屏幕方案,并将其与问题类型关联。
-
点击更新按钮以应用更改。
如果你不再需要显式设置某些问题类型的关联,也可以删除现有的关联。然而,你不能删除默认关联,因为它作为一个捕获所有没有定义关联的问题类型的“备选项”存在。这一点非常重要,因为,虽然你现在可能已经为所有问题类型创建了关联,但未来可能会添加新的问题类型,而忘记为它们创建关联。要删除关联,请执行以下步骤:
-
点击你希望配置的问题类型屏幕方案的配置链接。
-
点击你希望删除的关联的删除链接。
与屏幕方案中的关联一样,你不会进入确认对话框,关联会立即被删除。
编辑/删除问题类型屏幕方案
你可以更新现有问题类型屏幕方案的名称和描述。要更改其屏幕方案/问题类型关联的详细信息,你需要配置问题类型屏幕方案,这将在后续章节中讲解。执行以下步骤以更新问题类型屏幕方案:
-
浏览到问题类型屏幕方案页面。
-
点击要编辑的问题类型屏幕方案的编辑链接。
-
使用新值更新名称和描述。
-
点击更新按钮以应用更改。
就像 Jira 中的所有其他方案一样,不能删除正在使用的问题类型屏幕方案。在 Jira 允许你删除该方案之前,必须确保没有项目在使用它。要删除问题类型屏幕方案,请执行以下步骤:
-
浏览到问题类型屏幕方案页面。
-
点击你希望删除的问题类型屏幕方案的删除链接。
-
点击删除按钮以移除问题类型屏幕方案。
复制问题类型屏幕方案
在 Jira 中也可以进行问题类型屏幕方案克隆。你可以轻松地复制现有的问题类型屏幕方案。这个功能的一个非常有用的应用是,它允许你在尝试新配置之前先制作备份副本。请注意,复制问题类型屏幕方案不会备份它所包含的屏幕方案和屏幕。
执行以下步骤以复制现有的问题类型屏幕方案:
-
浏览到问题类型屏幕方案页面。
-
点击你希望复制的问题类型屏幕方案的复制链接。
-
为问题类型屏幕方案输入新的名称和描述。
-
点击复制按钮以复制所选方案。
-
新创建的问题类型屏幕方案默认是非活动的,而克隆的方案则没有被任何项目使用。
将屏幕、屏幕方案和问题类型屏幕方案结合起来的最后一步是将问题类型屏幕方案应用到一个项目。
将问题类型屏幕方案与项目关联
将屏幕投入使用的最后一步是将问题类型屏幕方案与要使用的项目关联起来。执行以下步骤以关联你的新问题类型屏幕方案:
-
浏览到目标项目的管理页面。
-
点击左侧面板中的屏幕选项。
-
从操作菜单中选择使用不同方案选项:

图 6.10 – 将问题类型屏幕方案关联到项目
-
从方案选择列表中选择问题类型屏幕方案。
-
点击关联按钮。
一旦将问题类型屏幕方案与项目关联,Jira 会显示映射的详细信息,如前面截图所示。
委托屏幕管理
屏幕配置的管理以前是由 Jira 管理员集中控制的。项目管理员只能选择使用哪个问题类型屏幕方案,但如果需要对屏幕进行修改,Jira 管理员仍然需要参与。这通常会在一些简单的操作中形成瓶颈,比如添加或移除屏幕上的字段,尤其是对于有很多项目但只有少数 Jira 管理员的大型组织。
Jira 现在有一个新功能叫做扩展项目管理,它通过允许项目管理员更改项目使用的屏幕,来增强项目管理员的权限。
扩展项目管理通过权限设置来控制,详细内容我们将在第九章中讨论,确保 Jira 安全性。
然而,这里有一些限制,具体如下:
-
屏幕不能是默认的系统屏幕
-
屏幕必须已经被项目使用
-
屏幕不能与其他项目共享,或者作为工作流中的过渡屏幕使用
-
只能将系统中已经存在的字段添加到屏幕上
本质上,这意味着作为项目管理员,你只能更改专门为单个项目分配的屏幕。如果屏幕与多个项目共享,你仍然需要 Jira 管理员的帮助。作为项目管理员,要更改项目的屏幕,请执行以下步骤:
-
浏览到目标项目的管理页面。
-
点击左侧面板中的屏幕选项。
-
展开问题类型并选择你想要配置的屏幕。
如果屏幕可以配置,你应该看到类似下图的内容,里面展示的是熟悉的屏幕配置页面,但现在显示在项目的上下文中:

图 6.11 – 委托屏幕管理
故障排除字段和屏幕
正如我们在本章和前几章中看到的,许多因素可以控制一个字段是否显示。当预期的字段没有显示时,可能会非常混淆和沮丧,因为有许多配置需要检查,比如屏幕、字段配置等等。正因为如此,Jira 提供了一个方便的工具,可以帮助你确定为什么某个字段在特定问题中没有显示。要使用字段助手工具,请执行以下操作:
-
浏览到你没有看到该字段的问题。
-
点击管理员下拉菜单,然后选择我的字段在哪里?选项:

图 6.12 – 字段助手
- 选择你想检查的字段:

图 6.13 – 字段助手结果
正如我们从前面的截图中看到的,归档器字段没有显示在问题上,因为该字段在当前问题中没有值。所以,这样可以节省你检查该字段是否已添加到屏幕上的时间,或者检查字段配置是否已将该字段设置为隐藏。
HR 项目
凭借你在本章中收集的新知识,结合上一章的字段,现在是时候进一步自定义你的 Jira,以通过展示提供更好的用户体验。
这次我们要做的是创建新屏幕并将其应用于我们的 HR 项目。我们希望将显示通用字段的新字段与我们为处理员工入职和离职而设计的专门自定义字段分开。我们还希望仅将更改应用于新员工和离职类型的问题,而不影响项目中的其他问题类型。和任何生产系统的更改一样,在应用更改之前,确保备份当前数据是至关重要的。
设置屏幕
在第五章中,字段管理,你为我们的 HR 团队创建了一些专门的自定义字段。我们遇到的问题是,所有的新字段都出现在新员工和离职问题类型中,不管它们是否适用,这是因为这两种问题类型使用相同的屏幕集。
为了解决这个问题,我们将创建两套新的屏幕集,一套用于新员工,一套用于离职。默认的屏幕集可以保留给项目中的其他问题类型,例如任务。
最简单的方法是克隆现有的屏幕,这样我们就不必手动添加所有字段,避免不小心忘记添加字段。要为每种问题类型创建屏幕,请执行以下步骤:
-
浏览到查看屏幕页面并点击HR: 任务管理创建 问题屏幕的复制链接。
-
将新屏幕命名为HR: 创建/查看新 员工屏幕。
-
点击复制按钮以创建屏幕。
既然我们已经有了新屏幕,现在是时候使用以下步骤配置它的字段了。由于此屏幕用于创建新员工问题,我们不需要最后一天字段:
-
点击我们新建的HR: 创建/查看新 员工屏幕的配置链接。
-
将最后一天字段移除,方法是将鼠标悬停在其上并点击其移除按钮。
为了让事情更有趣,我们还可以创建一个新的人员标签,并将所有与人员相关的字段(如指派人、报告人和直接经理字段)移动到该标签下。
我们已经创建并配置了我们的创建屏幕。我们的新编辑屏幕将与此类似,仅有一些小修改。按照以下步骤操作,因为我们不希望用户在问题创建后更改问题类型,所以要移除问题类型字段:
-
点击复制链接以获取HR: 创建/查看新员工屏幕。
-
将新屏幕命名为HR: 编辑新员工屏幕。
-
点击复制按钮创建新屏幕。
-
移除问题 类型字段。
针对离职问题类型重复这些步骤创建新的屏幕组。这一次,不是移除最后一天字段,而是从两个屏幕中移除直接经理字段。
设置屏幕方案
在创建并配置好屏幕后,我们现在需要将它们与问题操作关联起来,以便 Jira 知道在何种操作中显示新屏幕,步骤如下:
-
浏览到查看屏幕方案页面,点击添加 屏幕方案。
-
将新屏幕方案命名为HR: 新员工 屏幕方案。
-
选择HR: 创建/查看新员工屏幕作为默认屏幕。
-
点击添加按钮创建屏幕方案。
在我们的屏幕方案设置好后,是时候将屏幕与其各自的问题操作关联起来,如下所示:
-
点击将问题操作与屏幕按钮。
-
选择HR: 编辑新员工屏幕用于编辑 问题操作。
由于我们将HR: 创建/查看新员工屏幕分配给了默认,该屏幕将应用于未映射的操作——创建问题和查看问题。如果你选择显式设置这两个操作的映射,将没有区别。
我们已经为新员工问题类型创建了屏幕方案。现在,针对离职问题类型重复相同的步骤。
设置问题类型屏幕方案
现在,你需要将新创建的屏幕方案应用到正确的问题类型。由于 Jira 已经为我们的项目创建了问题类型屏幕方案,我们只需要配置它,使用以下步骤将新的屏幕方案应用到适当的问题类型:
-
浏览到问题类型屏幕方案页面,点击配置链接,进入HR: 任务管理问题类型 屏幕方案。
-
点击将问题类型与屏幕 方案关联按钮。
-
选择新员工作为问题类型。
-
选择HR: 新员工屏幕方案作为要关联的屏幕方案。
-
点击添加按钮以创建关联。
这样可以确保新员工类型的问题将应用你的新屏幕,而其他类型的问题不会受到影响。现在,重复步骤将离职问题类型与其屏幕方案关联。
汇总
由于我们通过将各种问题类型与新的屏幕方案关联来重用现有的问题类型屏幕方案,因此无需进行任何额外更改。然而,如果你创建了一个新的问题类型屏幕方案,那么需要将其与 HR 项目关联。
现在你可以看看你辛勤工作的成果,看看你定制的屏幕、字段和标签如何协同工作,呈现给你一个用于收集用户数据的定制表单。让我们继续创建一个新事件,看看你刚刚定制的创建问题屏幕会是什么样子,如下图所示:

图 6.14 – 人力资源项目结果
如你所见,在创建新员工问题时,最后一天字段不再显示在屏幕上,而与人员相关的字段现在显示在新的人员标签页中。如果你创建一个新的离职问题,直接经理字段将不会显示。
总结
在本章中,我们研究了 Jira 如何通过屏幕来结构化它的展示。我们看到了如何通过屏幕方案在 Jira 中使用屏幕,屏幕方案将屏幕映射到问题操作。我们还了解了问题类型屏幕方案如何将屏幕方案映射到问题类型。因此,对于任何给定的项目,每个问题类型可以有自己的一组屏幕用于创建、编辑和查看。我们还讨论了如何将屏幕分解成标签,以提供更合理的字段分组,特别是当屏幕上有很多字段时。
配合前一章中介绍的自定义字段,我们现在可以创建有效的屏幕设计,以简化数据收集。在下一章中,我们将深入探讨工作流,这是 Jira 最强大的功能之一。
第三部分:Jira 高级功能
在本书的最后部分,你将接触到一些 Jira 的高级功能。你将探索 Jira 的安全模型;理解并学习搜索、报告和分析功能;并了解 Jira Service Desk,它使 Jira 能作为一个支持门户来运行。
本部分包括以下章节:
-
第七章,工作流与业务流程
-
第八章,电子邮件与通知
-
第九章,Jira 安全性
-
第十章,搜索、报告与分析
-
第十一章,Jira 服务管理
-
第十二章,Jira 与第三方应用
第七章:工作流与业务流程
在前几章中,我们学习了 Jira 的一些基础知识,并了解了如何使用自定义字段和屏幕来定制其数据收集和展示。在本章中,我们将深入探讨工作流,这是 Jira 的核心且最强大的功能之一。
工作流控制 Jira 中问题从一个状态到另一个状态的移动,通常是从一个责任人传递到另一个责任人。与许多其他系统不同,Jira 允许你创建自己的工作流,以便与您的流程相似。
到本章结束时,你将学到以下内容:
-
工作流是什么以及它包含什么
-
工作流与屏幕之间的关系
-
状态、转换、条件、验证器和后置功能是什么
-
如何使用工作流设计器创建你自己的工作流
-
如何将工作流与项目关联
具体来说,我们将讨论以下内容:
-
映射业务流程
-
理解工作流
-
管理工作流
-
使用工作流设计器
-
创建工作流
-
更新现有的工作流
-
理解工作流方案
-
将工作流方案应用于项目
-
委派的工作流管理
-
通过工作流插件扩展工作流
-
人力资源(HR)项目
映射业务流程
常说,一个好的软件系统是能够适应你的业务,而不是要求你的业务去适应软件。Jira 是前者的一个优秀示例。Jira 的强大之处在于,你可以轻松配置它,通过使用工作流来模拟你现有的业务流程。
一个业务流程通常可以通过流程图来表示。例如,一个典型的审批流程可能包括提交审批、审批审核,最后是审批或拒绝请求的任务,用户需要按顺序完成这些任务。你可以轻松地将其实现为 Jira 工作流。每个任务将作为一个工作流状态来表示,转换会指引你如何从一个状态转到下一个状态。事实上,在处理工作流时,通常一个好的做法是首先绘制流程的逻辑流程图,然后将其实现为工作流。正如我们将看到的,Jira 提供了许多工具来帮助你可视化你的工作流。
现在我们已经简要了解了如何将一个普通的业务流程映射到 Jira 工作流,接下来是时候更深入地了解工作流的组件,以及如何创建你自己的工作流了。
理解工作流
工作流是 Jira 用来模拟业务流程的工具。它是一系列状态(步骤),问题依次经过这些状态,并且状态之间有路径(转换)。所有 Jira 中的问题都应用了工作流,基于它们的任务类型和项目。问题在工作流中从一个状态(例如,打开)移动到另一个状态(例如,已关闭)。Jira 允许你将工作流以图表的形式可视化和设计,如下所示:

图 7.1 – Jira 工作流
上面的图示显示了 Jira 中的一个简单工作流。矩形代表状态,箭头线代表连接状态的转换。正如你所看到的,这看起来很像一个普通的流程图,展示了一个过程的流动。
此外,请注意状态有不同的颜色。状态的颜色由其所属的类别决定。共有三种类别——待办(灰色)、进行中(蓝色)和已完成(绿色)。类别有助于通过颜色指示器轻松识别问题在工作流中的位置。
Jira 中的问题,从创建开始,会经过一系列步骤,这些步骤被称为问题状态,例如 进行中 和 已关闭。这些状态的变化通常由用户操作触发。例如,当用户点击 开始进行 链接时,问题会转到 进行中 状态,如下图所示:

图 7.2 – 问题的转换选项
工作流有明确的开始时间,即问题首次创建时,但工作流的结束时间有时是模糊的。例如,在默认工作流中,问题可以从 打开 转到 已关闭,再到 已重新打开,然后返回 已关闭。按照惯例,当人们谈论工作流的结束时,通常指的是名为 已关闭 的状态,或是给问题指定解决方案的状态。一旦指定了解决方案,问题就进入了一个逻辑上的结束。Jira 的几个内置功能遵循这一惯例;例如,设置了解决方案的问题将不会显示在主页的 分配给我 列表中。
因此,当你关闭一个问题时,应提示用户通过屏幕选择一个解决方案值,或者通过后置功能自动设置解决方案值(后置功能将在本章后面介绍)。当你重新打开一个问题时,也应清除问题的解决方案值,通常这也是通过后置功能自动完成的。
重要提示
当问题的工作完成时,应为其指定解决方案。
管理工作流
工作流是通过 Jira 管理控制台集中控制和管理的,因此你需要是管理员才能创建和配置工作流。要管理工作流,请执行以下步骤:
-
以 Jira 管理员身份登录 Jira。
-
浏览到 Jira 管理控制台。
-
选择 问题 选项卡,然后选择 工作流 选项。这样会显示 查看工作流 页面:

图 7.3 – 工作流列表页面
在 查看工作流 页面,你将能够管理所有可用的工作流并创建新的工作流。该页面分为两个部分,活动 和 非活动。活动工作流正在被项目使用,非活动工作流则没有。默认情况下,非活动 部分是折叠的,因此页面只会显示活动工作流。前面的截图展示了两个部分都被展开的情况。
Jira 带有一个默认的只读工作流,名为 jira,主要用于保持与现有项目的向后兼容,并且应用于没有特定工作流的项目。因此,你不能编辑或删除此工作流。新项目将根据选择的模板创建自己的工作流。这些特定于项目的工作流将以项目密钥为开头,后跟项目的模板,例如 HR: 任务管理工作流。
问题状态
在 Jira 工作流中,问题状态表示工作流中某个问题的状态。它描述了问题的当前状态。如果我们将其与流程图进行比较,高亮的矩形表示问题在过程中当前的状态。就像任务只能处于业务流程的一个阶段一样,问题在任何给定时间只能处于一个状态;例如,一个问题不能同时处于开放和关闭状态。
还有一个术语叫做 步骤,它是工作流中表示状态的术语。由于 Jira 已简化其工作流管理,步骤和状态可以互换使用。为了保持一致性,本书将使用术语 状态,除非在特殊情况下需要做出区分。
转换
状态表示工作流中的阶段,将问题从一个状态带到下一个状态的路径被称为 转换。转换将两个状态连接在一起。转换不能独立存在,这意味着它必须有一个开始状态和一个结束状态,并且每个状态只能出现一次。这意味着转换不能根据条件分支到不同的目标状态。转换也是单向的。这意味着,如果一个转换将问题从状态 A 带到状态 B,你必须创建一个新的转换才能将问题从状态 B 返回到状态 A。
转换有几个组件,具体如下:
-
条件:必须满足的条件,才能使用户执行转换时可见(可用)。这些通常用于控制关于用户如何执行转换的权限。
-
验证器:这些是必须通过的验证条件,才能执行转换。它们通常与转换屏幕一起使用。
-
后置函数:这些是作为转换过程的一部分需要执行的附加功能。
-
转换屏幕:这是一个可选屏幕,当用户执行转换时显示。它通常用于在转换过程中捕捉附加信息。
-
触发器:如果你将 Jira 与其他开发工具(如 Bitbucket 或 GitHub)集成,触发器可以在事件发生时自动执行转换,例如创建新分支或有人进行代码提交。
重要提示
一种常见的技巧是创建一个返回自身的转换。由于转换可以有自己的屏幕,并通过后置功能执行一些业务逻辑,你可以将这种转换作为用户界面(UI)中的触发器,用于显示屏幕或运行后置功能,而无需创建复杂的自定义设置。
前三个组件中的每个定义了转换的行为,允许你在转换执行时执行前验证、后验证以及后处理。我们将在接下来的部分中深入讨论这些组件。
触发器
如前所述,在开始使用触发器之前,Jira 需要与以下系统之一集成:
-
Atlassian Bitbucket
-
Atlassian FishEye/Crucible
-
GitHub
触发器将监听来自集成开发工具的更改,例如代码提交,当这些更改发生时,触发器将自动执行工作流转换。请注意,发生此事件时所有权限都将被忽略。
条件
有时,你可能希望控制谁可以执行转换或何时可以执行转换。例如,授权问题的转换应仅限于经理组的用户,以防止普通员工自己授权请求。这时,条件就派上用场了。
条件是必须满足的标准,用户才能执行转换。如果转换的条件未满足,当用户查看问题时,该转换将不可用。下表列出了 Jira 随附的条件;其他条件可以通过第三方插件添加:
| 条件 | 描述 |
|---|---|
| 代码已提交条件 | 仅当代码已对该问题提交(或根据配置未提交)时,才允许执行此转换。 |
| 从用户界面隐藏转换 | 这将把转换隐藏对所有用户,只有通过后置功能才能触发它。这在需要作为自动化流程的一部分触发转换,而非由用户手动触发时非常有用。 |
| 无开放审查条件 | 仅当没有相关的开放 Crucible 审查时,才允许执行此转换。 |
| 仅限指派人条件 | 仅允许当前指派人执行此转换。 |
| 仅限报告人条件 | 仅允许问题的报告人执行此转换。 |
| 权限条件 | 仅允许具有指定权限的用户执行此转换。 |
| 条件 | 描述 |
| 子任务阻塞条件 | 根据所有子任务的状态,阻止父问题的转移。 |
| 未审阅代码条件 | 只有在此问题没有未审阅的变更集时,才能执行此转移。 |
| 用户处于组内 | 这只允许处于特定组内的用户执行此转移。 |
| 用户处于自定义组字段内 | 这只允许处于特定自定义组字段内的用户执行此转移。 |
| 用户处于项目角色 | 这只允许处于特定项目角色的用户执行此转移。 |
表 7.1 – 工作流条件
验证器
验证器类似于条件,但它们会在允许转移完成之前验证特定的条件。条件会在未满足标准时将工作流转移隐藏,而验证器则允许用户看到转移,但如果条件未满足,则不允许执行转移。
验证器的最常见用例是在转移过程中验证用户输入。例如,您可以验证用户是否为工作流屏幕上显示的所有字段输入了数据。下表显示了 Jira 自带的验证器列表;其他验证器可以通过第三方插件添加:
| 验证器 | 描述 |
|---|---|
| 权限验证器 | 验证用户是否具有选定的权限。当检查执行转移的人员是否拥有所需权限时,这非常有用。 |
| 用户权限验证器 | 验证用户是否具有选定的权限,其中 OSWorkflow 变量持有用户名并且是可配置的。此功能已废弃。 |
表 7.2 – 工作流验证器
后置功能
正如其名称所示,后置功能是在转移执行后(post)发生的功能。这使得在执行转移后可以执行额外的处理。Jira 内部大量使用后置功能来执行其许多功能。例如,当您转移问题时,Jira 会使用后置功能更新其搜索索引,以便您的搜索结果能够反映问题状态的变化。
如果转移未能执行(例如,验证器验证失败),则与转移相关联的后置功能将不会被触发。下表显示了 Jira 自带的后置功能列表,其他后置功能可以通过第三方插件添加。
| 后置功能 | 描述 |
|---|---|
| 分配给当前用户 | 如果当前用户具有可分配用户权限,则将问题分配给当前用户。 |
| 分配给首席开发者 | 将问题分配给项目/组件的首席开发者。 |
| 分配给报告者 | 将问题分配给报告者。 |
| 创建 Perforce 作业功能 | 在完成工作流转移后(如果需要),创建一个 Perforce 作业。 |
| 通知 HipChat | 这会向一个或多个 HipChat 房间发送通知。 |
| 触发 Webhook | 如果执行此后置功能,Jira 将以JavaScript 对象表示法(JSON)格式将问题内容发布到指定的统一资源定位符(URL)。 |
| 更新问题字段 | 这会将系统字段(如概要)更新为指定的值。 |
表 7.3 – 工作流后置功能
我们已经看过工作流中的所有主要组件。在下一节中,我们将学习如何使用工作流设计器工具设计一个工作流。
使用工作流设计器
Jira 配备了一个易于使用的拖放工具,称为工作流设计器。它帮助您创建和配置工作流。如果您熟悉像 Microsoft Visio 这样的图表工具,您会觉得很得心应手。还有一个较旧的选项,称为文本模式,也可以使用。然而,由于设计器更容易使用且功能更多,本书将专注于使用设计器。
重要提示
随着工作流变得越来越复杂,文本模式可能是管理工作流中的状态和转换的更好选择。
下图显示了工作流设计器的界面。主面板显示了工作流布局,顶部有一些控件,即添加状态和添加转换按钮。请注意,图表选项已被选中。如果您点击文本选项,Jira 将切换到旧的创作工具:

图 7.4 – 工作流设计器
在工作流设计器中,您可以拖动并重新排列状态和转换。点击每个元素将打开其属性窗口,如下图所示,其中选中了解决问题转换:

图 7.5 – 编辑工作流
从这里,我们可以查看并更新其属性,如条件和验证器。如果您有一个复杂的工作流,并且属性窗口覆盖了工作流的一部分,您可以缩小工作流图表的尺寸,或者将图表拖动到页面上其他位置。
创建工作流
那么,让我们看看如何在 Jira 中创建和设置一个新工作流。创建新工作流时,您只需要一个名称和描述,接下来我们开始:
-
浏览到查看工作流页面。
-
点击添加工作流按钮。
-
在添加工作流对话框中输入新工作流的名称和描述。
-
点击添加按钮创建工作流。
新创建的工作流只包含默认的创建和打开状态,因此您需要通过添加新的状态和转换来配置它,使其变得有用。让我们通过以下步骤开始向工作流中添加新状态:
-
点击添加状态按钮。
-
从下拉列表中选择一个现有的状态。如果需要的状态不存在,你可以通过输入其名称并按下键盘上的Enter键来创建一个新状态。
-
如果希望用户能够将问题移动到该状态,无论其当前状态如何,请勾选允许所有状态转换到此状态选项。这将创建一个全局转换,这是一个方便的选项,你不必手动为该状态创建多个转换。
重要提示
如果全局状态不是表示已完成或已关闭状态,通常最好添加一个清除分辨率后置功能,以确保在问题转换到该状态时,分辨率字段始终被清除。
- 点击添加按钮,将状态添加到你的工作流中,如下图所示。你可以重复这些步骤,将多个状态添加到工作流中:

图 7.6 – 添加状态
重要提示
尽量重用现有状态,以避免管理过多相似的状态。
现在,状态已经添加到工作流中,需要将它们与转换关联,以便问题能够从一个状态转移到另一个状态。创建转换的方式有两种,如下所示:
-
点击添加转换按钮
-
选择起始状态,然后点击并拖动箭头到目标状态
两个选项都会弹出添加转换对话框,如下图所示:

图 7.7 – 添加转换对话框
从前面的截图中,你可以选择使用新转换标签创建一个新的转换,或者使用重用转换标签来使用现有转换。
创建新转换时,需要配置以下设置:
-
起始状态:这是起始状态。当问题处于选定状态时,转换将可用。
-
目标状态:这是目标状态。一旦执行转换,问题将被放入选定状态。
-
关闭问题。 -
描述:这是一个可选的文本描述,用于显示该转换的目的。此描述不会显示给用户。
-
屏幕:这是一个可选的中间屏幕,当用户执行转换时将显示该屏幕。例如,你可以在转换过程中显示一个屏幕来捕获额外的数据。如果不选择屏幕,转换将立即执行。以下截图展示了一个工作流屏幕:

图 7.8 – 转换屏幕
如果你希望重用现有转换,只需点击重用转换标签,选择起始状态和目标状态,以及重用的转换,如下面的截图所示:

图 7.9 – 重用转换标签
重要提示
请注意,Jira 只会根据到状态选择列出有效的转换。
你可能会想,什么时候应该创建新的转换,什么时候应该重用现有的转换。两者之间的主要区别在于,当你重用一个转换时,所有被重用的转换实例(也称为关闭问题;你不必每次都创建单独的转换,你可以创建一个转换,并在需要关闭问题时重复使用它。以后,如果你需要向转换中添加新的验证器以验证额外的用户输入,你只需要进行一次更改,而不是每个关闭问题转换都做多次更改。
另一个要记住的好做法是,在工作流中不要设置死胡同状态——例如,允许已关闭的问题重新打开。这可以防止用户意外关闭问题后无法纠正错误。
一件人们常常忽略的事情是,你可以在问题首次创建时更改其要转换到的状态。默认情况下,问题会放置在创建问题转换中。通过这样做,你可以影响问题的创建过程。例如,你可以在问题创建之前添加一个验证器进行额外的检查,或者添加一个后置功能,以便在问题创建时执行额外的任务。
现在我们已经了解了如何向工作流中添加新状态和转换,接下来我们来看看如何向转换添加触发器、条件、验证器和后置功能。
添加触发器到转换
只有当 Jira 与至少一个受支持的开发工具集成时,你才能向转换添加触发器。通过触发器,你可以自动化一些开发运维(DevOps)流程,例如,在创建拉取请求(PR)时自动将问题转换到审查中状态。添加触发器的步骤如下:
-
选择你想要添加触发器的转换。
-
点击触发器链接。
-
点击添加触发器按钮。如果你没有集成开发工具,则此按钮将被禁用,如下图所示:

图 7.10 – 添加触发器按钮
-
选择你想要添加的触发器,然后点击下一步按钮。
-
确认触发器源已被检测到,然后点击添加触发器按钮。
向转换添加条件
默认情况下,新转换没有任何条件。这意味着任何有权限访问该问题的人都可以执行该转换。Jira 允许你向转换添加任意数量的条件。以下是操作步骤:
-
选择你想要添加条件的转换。
-
点击条件链接。
-
点击添加条件链接,如下图所示。这将带你进入为过渡添加条件页面,该页面列出了所有可以添加的条件:

图 7.11 – 添加条件链接
-
选择你想要添加的条件。
-
点击添加按钮以添加条件。
-
根据条件的不同,你可能会看到添加参数到条件页面,在该页面你可以为条件指定配置选项。例如,用户属于组条件会要求你选择一个组进行检查,如下所示:

图 7.12 – 配置条件
新添加的条件会被追加到现有条件列表的末尾,并使用AND运算符将这些条件分组。这意味着所有条件必须通过,整个条件组才能通过。如果某个条件失败,整个组都会失败,用户将无法执行过渡。你可以切换到使用逻辑OR运算符,这意味着该组中的任意一个条件通过,整个组就通过。这是一个非常有用的功能,它允许你将多个条件组合成更复杂的逻辑单元。
例如,对于AND运算符,你可以添加多个OR运算符,这样用户只需要属于列出的其中一个组即可。唯一的限制是你不能在同一个条件组中同时使用两种运算符。
重要说明
一个过渡只能有一个条件组,每个条件组只能有一个逻辑运算符。
为过渡添加验证器
与条件类似,过渡默认没有任何关联的验证器。这意味着过渡一旦执行,就会立即完成。你可以为过渡添加验证器,确保只有在满足特定条件时,执行才能完成。按照以下步骤为过渡添加验证器:
-
选择你想要添加条件的过渡。
-
点击验证器链接。
-
点击添加验证器链接,如下图所示。这将带你进入为过渡添加验证器页面,该页面列出了所有可以添加的验证器:

图 7.13 – 添加验证器链接
-
选择你想要添加的验证器。
-
点击添加按钮以添加验证器。
-
根据验证器的不同,你可能会看到添加参数到验证器页面,在该页面你可以为验证器指定配置选项。以下截图展示了必填字段验证器的示例:

图 7.14 – 配置验证器
与条件类似,当多个验证器被添加到一个过渡时,它们会形成一个验证器组。与条件不同,您只能对该组使用逻辑AND条件。这意味着为了完成过渡,添加到过渡中的每个验证器都必须通过其验证标准。过渡不能通过逻辑OR条件来选择性地通过验证。
以下截图显示了一个验证器(来自Suite Utilities for Jira(JSU)的字段必填验证器;参见使用工作流插件扩展工作流部分)被放置在过渡上,用于验证用户是否为解决方案详细信息字段输入了值:

图 7.15 – 问题字段必填验证器
添加后置功能到过渡
默认情况下,过渡会创建几个后置功能。这些后置功能为 Jira 的内部操作提供关键服务,因此无法从过渡中删除。这些后置功能执行以下操作:
-
将问题状态设置为目标工作流步骤的关联状态
-
在过渡期间,如果输入了评论,则将该评论添加到问题中
-
更新问题的变更历史,并将问题存储到数据库中
-
重新索引问题,以保持索引与数据库同步
-
触发事件,供监听器处理
正如你所看到的,这些后置功能提供了一些基本功能,比如更新搜索索引和在过渡执行后设置问题状态,这对于 Jira 至关重要。因此,Jira 在创建新的过渡时,会自动为你添加这些后置功能,而不是让用户手动添加,避免遗漏一个或多个后置功能,具体步骤如下:
-
选择你想要添加后置功能的过渡。
-
点击后置功能链接。
-
点击添加后置功能链接,如下图所示,选择你想要添加的后置功能:

图 7.16 – 添加后置功能链接
-
点击添加按钮以添加后置功能。
-
根据后置功能的不同,你可能会看到添加参数到功能页面,在这里你可以为后置功能指定配置选项。以下截图展示了更新问题字段后置功能的示例:

图 7.17 – 配置后置功能
当执行一个过渡时,每个后置功能会按照列表中的顺序从上到下依次执行。如果列表中的任何一个后置功能在处理过程中遇到错误,你会收到一个错误提示,剩余的后置功能将不会被执行。
由于后置函数是顺序执行的,而且其中一些函数具有修改值和执行其他任务的能力,它们的执行顺序往往非常重要。例如,如果你有一个后置函数,它将问题的负责人更改为当前用户,而另一个后置函数会使用问题的负责人更新问题字段的值,那么显然,更新负责人后置函数需要先执行,因此你需要确保它在另一个后置函数之上。
你可以通过点击上移和下移链接来调整后置函数在列表中的位置。请注意,并非所有后置函数都可以重新定位,比如重新索引问题和触发事件问题后置函数。它们的位置是锁定的,以确保 Jira 中的数据完整性。
更新现有工作流
Jira 允许你修改活动的和非活动的工作流。然而,对于活动的工作流,存在若干限制,如下所述:
-
现有工作流步骤不能删除
-
现有步骤的关联状态不能编辑
-
如果现有步骤没有外部转换,则无法添加新的外部转换
如果你需要进行这些更改,你必须通过移除工作流与所有项目的关联来停用工作流,或者创建工作流的副本。
重要提示
你可以始终复制当前的工作流,进行修改,然后在工作流方案中用复制的工作流替换原始工作流。
在编辑活动工作流时,实际上是对 Jira 创建的工作流草稿副本进行更改。你所做的更改在发布草稿之前不会应用。
发布草稿是一个非常简单的过程。你只需执行以下操作:
-
点击发布草稿按钮。如果你想先创建原始工作流的备份,系统会提示你。建议在进行更改之前创建备份,以防需要撤销更改。
-
选择
Sales Workflow 1.0)以跟踪更改。 -
点击发布按钮以发布草稿工作流并应用更改,如下图所示:

图 7.18 – 发布工作流
重要提示
在进行更改后,别忘了发布你的草稿。
现在我们已经讲解了如何创建工作流,接下来我们将讨论如何将工作流映射到问题类型。
理解工作流方案
虽然工作流定义并建模了业务流程,但仍然需要有一种方式来告诉 Jira 在哪些情况下应用这些工作流。与 Jira 中的其他配置一样,这是通过使用方案来实现的。正如我们在前几章中所看到的,方案充当了自包含的、可重用的配置单元,将特定的配置选项与项目关联,并可以选择性地与问题类型关联。
工作流方案建立了工作流和问题类型之间的关联。该方案随后可以应用于多个项目。一旦应用,方案中的工作流将变为激活状态。
要查看和管理工作流方案,请执行以下步骤:
-
以 Jira 管理员身份登录 Jira。
-
浏览到 Jira 管理控制台。
-
选择问题标签,然后选择工作流方案选项。这将打开工作流方案页面,如下图所示:

图 7.19 – 工作流方案页面
工作流方案页面显示了每个方案的工作流关联。例如,在之前的截图中,我们可以看到,ISM: Insight ITSM 工作流方案中的事件问题类型被分配给了ISM: Insight ITSM 事件工作流,而变更问题类型则被分配给了ISM: Insight ITSM 变更工作流。
创建工作流方案
当创建一个新项目时,系统会自动为该项目创建一个新的工作流方案,因此通常情况下,你不需要创建新的工作流方案。然而,在某些情况下,比如在实验性的更改工作流时,你可能仍希望保持现有配置不变作为备份。若要创建一个新的工作流方案,请执行以下步骤:
-
浏览到工作流方案页面。
-
点击添加工作流方案按钮。这将带你进入添加工作流方案对话框。
-
为新的工作流方案输入名称和描述。例如,你可以选择根据将应用到的项目/问题类型来命名你的工作流。
-
点击添加按钮以创建工作流方案。
一旦新方案创建完成,你将被带回到工作流方案页面,并且该方案将显示在可用工作流方案的表格中。
当你首次创建一个新的工作流方案时,该方案是空的。这意味着它没有任何工作流和问题类型的关联,除了默认的关联(称为jira)。接下来,你需要通过将工作流分配给问题类型来配置这些关联。
重要提示
在你自己添加了一个关联之后,你可以删除默认的jira关联。
配置工作流方案
工作流方案包含问题类型和工作流之间的关联。创建工作流方案后,你需要根据需求变化来配置和维护这些关联。例如,当一个新的问题类型被添加到使用该工作流方案的项目中时,你可能需要为新的问题类型添加显式的关联。
要配置工作流方案,请执行以下步骤:
-
浏览到工作流方案页面。
-
点击你想要配置的工作流方案的编辑链接。这将带你进入工作流的详细页面,如下图所示:

图 7.20 – 配置工作流方案
从此页面,您将能够看到现有关联的列表,创建新的问题类型关联,并删除不再相关的关联。
将问题类型分配给工作流
问题类型和工作流之间是多对一的关系。这意味着每个问题类型只能关联一个工作流,而一个工作流可以关联多个问题类型。此规则是基于每个工作流方案应用的,因此您可以在不同的工作流方案中为相同的问题类型设置不同的关联。
当您添加新的关联时,Jira 将列出所有问题类型和所有可用的工作流。一旦您为问题类型分配了一个工作流,它将在列表中消失,直到您删除原始关联。
在问题类型列表中,有一个名为jira工作流的选项。与普通问题类型一样,您只能拥有一个捕获所有的关联。
重要提示
如果所有问题类型都将使用相同的工作流,请使用所有未分配的问题类型选项。
有两种方法可以将工作流分配给问题类型。如果您想将问题类型添加到现有的某个关联中,请执行以下步骤:
-
通过点击其编辑链接,浏览到您想要配置的工作流方案的详细页面。
-
点击您想要为其添加问题类型的关联的分配链接。
-
从分配问题类型到工作流对话框中选择要添加的问题类型。
-
点击完成按钮。
如果您想从头开始创建一个新的关联,请执行以下步骤:
-
浏览到您想要配置的工作流方案的详细页面。
-
从添加工作流菜单中选择添加现有选项。这将弹出添加现有工作流对话框,如下图所示:

图 7.21 – 将工作流添加到工作流方案
-
选择一个工作流并点击下一步按钮。
-
选择要与工作流关联的问题类型,并点击完成按钮,如下图所示。如果您选择的是已分配的问题类型,它将从旧的分配中移除,并添加到当前选择的工作流中:

图 7.22 – 将工作流分配给问题类型
编辑或删除关联
一旦您在方案中将问题类型与工作流关联,您就不能为相同的问题类型添加新的关联。还有一个不可编辑的选项用于更改关联。您需要做的是删除现有的关联,并使用以下步骤创建一个新的关联:
-
浏览到您想要配置的工作流方案的详细页面。
-
点击您想要移除的关联的删除链接。
一旦关联被删除,您将能够为该问题类型创建新的关联。如果未为问题类型分配新工作流,则会应用所有未分配问题类型选项的工作流。
将工作流方案应用到项目。
工作流方案在创建后默认处于非激活状态。这意味着没有项目在 Jira 中使用该工作流方案。要激活工作流方案,您需要选择一个方案并将其应用到项目中。
在将工作流方案分配给项目时,您需要按照下列四个基本步骤进行操作:
-
浏览到您希望应用工作流方案的项目的项目管理页面。
-
从左侧面板选择工作流选项。
-
点击切换方案按钮。
-
选择一个新的工作流方案并点击关联按钮。
在确认页面上,根据当前工作流和新工作流之间的差异,您将被提示为现有问题做出迁移决策。例如,如果当前工作流有一个名为已解决的状态,而新工作流没有(或者有一个等效状态,但有不同的标识符(ID)),您需要指定一个新的状态,以便将当前处于已解决状态的问题迁移到该状态。一旦映射完成,Jira 将开始将现有问题迁移到新状态,如下图所示:

图 7.23 – 工作流状态映射
步骤如下:
-
为现有问题选择新的工作流状态,如果现有状态在新工作流中不存在的话。
-
点击关联按钮以开始迁移。
一旦迁移开始,Jira 将显示一个进度条,展示迁移的进度。根据需要迁移的问题数量,这一过程可能会花费一些时间。建议为此任务分配一个时间框架,因为对于大型实例来说,它可能会非常消耗资源。
委托的工作流管理
正如我们在第六章中看到的,屏幕管理,项目管理员也被授权对仅供其项目使用的工作流进行更改,而无需完全依赖 Jira 管理员。
然而,关于此操作有一些限制,具体如下:
-
只能在工作流中使用现有状态。
-
如果某个状态已被项目中的问题使用,则该状态不能从工作流中删除。
-
转换属性、条件、验证器和后置功能无法更新。
-
工作流不得与其他项目共享
-
只能在图表模式下更新工作流。
这使您能够进行诸如调整状态和工作流转换流向的更改,这些工作流通常专用于单个项目,因为每个新项目都会自动创建新的工作流。要为项目执行以下步骤,以项目管理员的身份更改工作流程:
-
转到目标项目的管理页面。
-
从左侧面板中选择问题类型选项。
-
选择要编辑的问题类型的工作流程,然后单击编辑按钮。
-
在完成更改后,单击发布按钮。您可以在以下截图中查看概述:

图 7.24 – 委派工作流管理
现在我们已经介绍了 Jira 中的所有开箱即用的工作流功能,让我们来看看一些第三方应用程序,您可以使用这些应用程序来扩展您可以使用工作流程执行的操作。
扩展工作流程与工作流程插件
有许多非常有用的插件,可以提供额外的组件,例如条件、验证器和后置功能。以下部分介绍了一些最受欢迎的与工作流相关的插件。
JSU
您可以使用此插件找到许多非常有用的条件、验证器和后置功能。例如,随 Jira 提供的更新问题字段后置功能允许您在工作流转换完成时更新任何问题字段,例如优先级和受让人。JSU 插件通过提供一个非常相似的更新任何问题字段后置功能来补充此功能,处理自定义字段。还有许多其他有用的组件,例如从其他字段复制值后置功能,它将允许您在工作流中实施一些惊人的逻辑。对于任何 Jira 实例来说,这是一个必备的插件。您可以在marketplace.atlassian.com/apps/5048/jsu-suite-utilities-for-jira了解更多信息。
Jira 工作流工具箱(JWT)
正如其名称所示,这是一个带有丰富的工作流条件、验证器和后置功能的工作流工具箱,旨在填补开发复杂工作流时的许多空白。例如,它提供了一个条件和验证器,允许您使用正则表达式(regexes)指定检查规则。您可以在marketplace.atlassian.com/apps/29496/jira-workflow-toolbox了解更多信息。
Jira 杂项工作流扩展(JMWE)
这是另一个插件,包含各种条件、验证器和后置功能。普通的后置功能允许你更改当前问题的字段值。这个插件提供的后置功能允许你从子任务中设置父问题的字段值,以及许多其他功能。你可以在marketplace.atlassian.com/apps/292/jira-misc-workflow-extensions了解更多信息。
Jira 工作流增强器
这包含了多种验证器和条件,围绕字段值与另一个字段的比较,并允许你设置验证逻辑来比较日期、数字和布尔值;你可以在marketplace.atlassian.com/apps/575829/workflow-enhancer-for-jira了解更多信息。
ScriptRunner for Jira
这是一个非常有用且强大的插件,允许你通过编写脚本来创建自定义的条件、验证器和后置功能。这需要你具备一定的编程知识,并且对 Jira 的应用程序接口(API)有一定的了解。你可以在marketplace.atlassian.com/apps/6820/scriptrunner-for-jira了解更多信息。
HR 项目
我们已经看到了工作流的强大功能,以及如何通过适应日常业务流程来增强 Jira 的实用性。通过我们的 HR 项目,我们已经定义了两个问题类型来表示员工的入职和离职;这两者都使用相同的默认工作流,包含两个步骤:待办和已完成。因此,我们现在将自定义工作流,以表示一个真实世界的 HR 流程。
我们对业务流程的要求将包括以下内容:
-
新员工和终止问题类型将使用自定义工作流,而任务问题类型将继续使用现有的工作流。
-
对于终止问题类型,我们将添加两个额外的步骤:一个是进行离职面谈,另一个是确保所有必要的公司资产被归还。
-
确保只有授权人员可以将问题在工作流的各个状态之间进行转换。
实现这些要求的最简单方法是创建一个新的工作流,并将额外的流程步骤作为新的状态添加。我们将首先这样做,以建立我们的工作流结构。之后,我们还将研究如何使用 Jira 的其他功能,并将其整合到工作流中,使其更加稳健。
设置工作流
第一步是为我们的终止问题类型创建一个新的工作流,因为我们仍然希望保留任务问题类型的现有工作流。最简单的方式是克隆当前的工作流,这样可以节省一些时间。按照以下步骤操作:
-
浏览到查看工作流页面。
-
点击
HR: 任务管理工作流工作流。 -
将新工作流命名为
HR:终止工作流程。 -
点击复制按钮以创建我们的工作流。
下一步是添加我们需要的额外状态。确保您通过选择图表选项进入工作流设计器,然后按照以下步骤操作:
-
点击添加状态按钮。
-
输入我们新状态的名称为进入退出审查,将类别类型设置为进行中,然后点击添加。由于我们正在创建一个新状态,您需要按下键盘上的Enter键。
-
点击创建按钮创建工作流状态。
-
重复步骤 2和3创建一个名为收集资产的新状态。
现在我们已经将状态添加到工作流中,我们需要通过过渡将它们连接起来。暂时,我们将按照待办 | 进入退出审查 | 收集资产 | 完成的顺序进行工作流。让我们从创建从待办 | 进入退出审查开始的过渡开始:
-
点击添加过渡按钮。
-
选择待办作为从状态。
-
选择进入退出审查作为到状态。
-
命名新的过渡为执行退出审查。
-
为屏幕选择工作流屏幕。
-
点击添加按钮创建过渡。
-
重复步骤 1至6创建两个更多的过渡,将进入退出审查连接到收集资产,并将收集资产连接到完成。
-
安装新的过渡后,我们还希望删除待办和完成之间的现有过渡,以防止人们跳过流程步骤。
您的工作流将类似于以下截图中显示的内容。您可以重新排列工作流中的元素,使图表流动更自然:

图 7.25 – 人力资源工作流
我们接下来要做的自定义是确保只有授权人员可以在工作流中推进问题。暂时,我们将设置仅允许jira-administrators组的成员在创建问题后进行问题推进。一旦我们涵盖了第九章,保护 Jira,我们可以更改此安全设置。按以下步骤操作:
-
点击执行退出审查过渡,并从过渡属性部分点击条件。
-
点击添加条件按钮以打开添加过渡条件页面。
-
选择用户在组中选项。
-
选择
jira-administrator组。 -
点击添加添加过渡条件。
-
在其余的过渡上重复步骤 1至5。
在此案例中使用jira-administrator,将看到应用于过渡的条件。
应用工作流
在我们设置并配置好工作流后,我们需要让 Jira 知道哪些问题类型将使用我们的新工作流。由于我们已经为我们的项目设置了工作流方案,我们只需要将适当的 issue 类型与工作流关联起来。以下是操作步骤:
-
浏览到工作流方案页面。
-
点击
HR: 任务管理工作流方案。 -
点击添加工作流菜单,选择添加现有选项。
-
选择我们的新
HR: 终止工作流选项,然后点击下一步按钮。 -
选择终止问题类型。
-
点击完成以创建关联。
-
点击发布按钮以应用更改。
这将把我们的新工作流与专为 HR 项目创建的终止问题类型关联,并为其他问题保留默认工作流。
汇总
配置好我们的新工作流后,我们现在可以创建一个新的终止问题并开始测试我们的实现。由于我们需要模拟一个未经授权的用户无法在创建问题后进行过渡的场景,我们需要创建一个新用户。我们将在第九章中讨论用户管理和安全,Jira 安全性。现在,我们将简单地向我们的系统添加一个新用户,如下所示:
-
浏览到 Jira 管理控制台。
-
选择用户管理标签,点击用户链接。
-
点击创建用户按钮以打开创建新用户对话框。
-
命名新用户为
john.doe(John Doe)。 -
为这个新用户设置密码和电子邮件地址。
-
取消勾选发送通知邮件选项。
-
在应用访问中勾选Jira 软件选项。
-
点击创建按钮以创建用户。
现在,以新业务用户john.doe登录 Jira,并创建一个新的john.doe(John Doe)。该用户不在jira-administrators组中。我们在第一章中创建的管理员用户,Jira 数据中心入门一书中的该用户,属于jira-administrators组,因此我们将以管理员身份登录。以管理员身份登录后,你将看到我们的新过渡进行离职审查,如下图所示:
![图 7.26 – HR 工作流过渡 1]
图 7.26 – HR 工作流过渡 1
你还会看到,如果你在 HR 项目中创建一个新任务,任务问题将继续使用默认工作流。
在当前工作流设置下,一切都是按顺序发生的。然而,有时您可能需要某些操作并行进行。例如,在收集资产的步骤中,可能有多个资产需要为不同团队收集,比如 IT 部门的笔记本电脑和安保部门的门禁卡。如果能够同时执行这些操作并能够单独跟踪它们,将会更加高效。您可以通过在问题下为每个资产创建子任务(记住——一个问题只能分配给一个人),然后将子任务分配给相关团队,例如 IT 和安保团队,以便他们可以追踪员工并收回资产。接着,您可以在完成过渡上设置一个条件,确保所有子任务完成后才能执行。
这个方法可以扩展为将资产收集和离职面谈作为子任务,这样两者可以同时进行,并且您可以创建不同的子任务问题类型来区分它们,正如在第四章《与问题协作》中所介绍的那样。您的离职问题可能如下所示:

图 7.27 – 人力资源工作流过渡 2
在这个例子中,完成过渡只有在所有子任务完成时才可用。这可以通过将子任务阻塞条件类型添加到完成问题过渡来实现。
总结
在本章中,我们探讨了如何定制 Jira 以适应您的组织。在这一强大功能的核心,是一个健全的工作流系统,允许您基于现有的业务流程来建模 Jira 工作流。我们还介绍了工作流中的各个组件,如何执行验证,以及后处理如何提供一定程度的流程自动化。
在下一章中,我们将探讨如何结合工作流的强大功能及其事件驱动系统,通过 Jira 通知和电子邮件系统促进沟通。
第八章:电子邮件与通知
到目前为止,你已经学会了如何通过浏览器直接使用 Jira 的 Web 界面与其互动。接下来,我们将了解 Jira 如何使用电子邮件作为通知机制,提醒你更新内容。
Jira 的一项强大功能是通过电子邮件创建新问题、添加评论并更新问题详细信息。这为你和用户与 Jira 互动提供了全新的选择。
本章将涵盖以下主题:
-
Jira 和电子邮件
-
邮件服务器
-
邮件队列
-
事件
-
通知
-
批量电子邮件通知
-
排查通知问题
-
接收邮件
-
人力资源项目
Jira 和电子邮件
电子邮件已成为当今世界最为普及的沟通工具之一。企业和个人依赖电子邮件来几乎即时地发送和接收全球信息。因此,Jira 完全装备并与电子邮件支持集成,这并不奇怪。
Jira 的电子邮件支持有几种形式:
-
首先,Jira 会向用户发送有关其问题的更改通知,例如添加评论,以便同一问题的所有参与者可以保持一致。
-
第二,Jira 可以轮询邮箱中的邮件,并根据邮件内容创建问题和评论。
-
最后一项功能是用户可以创建和订阅过滤器,在 Jira 中设置信息流(我们将在第十章中讨论过滤器,搜索、报告与分析)
这些功能为用户如何与 Jira 互动打开了全新的维度。
在以下各节中,我们将看看你需要做什么才能启用 Jira 强大的电子邮件支持,并探讨你可以使用的工具和选项,以便你可以根据自己的需求配置 Jira 和电子邮件。
邮件服务器
要使 Jira 与电子邮件进行通信,你需要在 Jira 中配置或注册邮件服务器。你需要配置两种类型的邮件服务器:
-
外发:这是 Jira 用来向用户发送电子邮件的。Jira 支持 SMTP 邮件服务器。
-
接收:这是 Jira 用来从用户处获取电子邮件的。Jira 支持 POP 和 IMAP 服务器。
以下图表展示了 Jira 如何与各种邮件服务器进行交互:

图 8.1 – 邮件服务器
我们将从外发邮件服务器开始,查看我们可以配置 Jira 发送电子邮件的不同选项,自定义邮件内容,启用 SSL 以增加安全性,最后,发送一封测试邮件。
使用外发邮件
要配置外发 SMTP 服务器,你需要 Jira 系统管理员的全局权限(在初始设置过程中创建的用户为系统管理员)。执行以下步骤来管理外发邮件服务器:
-
以 Jira 系统管理员身份登录 Jira。
-
浏览到 Jira 管理控制台。
-
选择系统标签,然后选择外发邮件选项。这将打开外发邮件页面:

图 8.2 – 外发邮件页面
注意
您在 Jira 中只能配置一个外发邮件服务器。
在 Jira 中有两种方式可以添加外发邮件服务器。两种选项都有一些共同的配置参数,您需要填写。下表显示了这些参数:
| 字段 | 描述 |
|---|---|
| 名称 | 这是指定邮件服务器的名称。 |
| 描述 | 这是指定邮件服务器的简要描述。 |
| 发件人地址 | 这是指定外发邮件显示的发件人地址。 |
| 邮件前缀 | 这是指定将在 Jira 发送的所有邮件的邮件主题前面显示的前缀。这允许您的用户在其邮件客户端中设置过滤规则。前缀将添加到邮件主题的开头。 |
| 服务提供商 | 在此,您可以选择三个预定义邮件提供商之一——即 Google、Yahoo! 或自定义 SMTP 服务器。 |
| 主机名 | 这是指定您邮件服务器的主机名(例如,smtp.example.com)。 |
| SMTP 端口 | 这是指定邮件服务器运行的端口号。此项为可选项;如果留空,将使用默认端口号 25。 |
| 用户名 | 如果需要,这用于验证与邮件服务器的连接。请注意,邮件服务器可能需要身份验证才能将邮件转发给非本地用户。 |
| 密码 | 如果需要,这用于验证用户是否可以连接到邮件服务器。 |
| JNDI 位置 | 如果您已经为应用服务器配置了邮件服务器,这是 JNDI 查找名称。有关详细信息,请参阅以下部分。 |
表 8.1 – 外发邮件服务器配置
对于其余的参数,取决于您选择的邮件服务器设置选项,您只需填写适当的详细信息。
配置 SMTP 服务器
第一种选项是选择内置的服务提供商之一,并指定邮件服务器的详细信息。例如,如果您运行的是 SMTP 邮件服务器,您可以在服务提供商字段中选择自定义选项,并指定主机名和端口号。这是大多数人使用的方法,因为它简单明了。采用这种方法时,管理员填写邮件服务器的主机信息,如主机名和端口号。操作步骤如下:
-
浏览到外发邮件页面。
-
点击配置新的 SMTP 邮件服务器按钮。
-
输入您的邮件服务器的基本信息,包括名称、描述、发件人地址和邮件前缀。
-
从服务提供商字段选择邮件服务器类型。
-
输入邮件服务器的连接详细信息。
-
点击测试连接按钮以验证配置。
-
点击添加按钮以注册到邮件服务器:

图 8.3 – 添加 SMTP 邮件服务器页面
注意
Jira 默认支持 Google 和 Yahoo! 邮件服务。如果您使用这些服务,可以在服务提供商字段中选择相应的选项。
使用 JNDI 配置 SMTP 服务器
第二种选项是使用Java 命名和目录接口(JNDI)。这种方法稍微复杂一些,因为它需要在应用服务器本身进行配置,并且需要您重新启动 Jira。
如果您使用的是独立分发版(它使用 Apache Tomcat),则 JNDI 位置将是java:comp/env/mail/JiraMailServer。您还需要在JIRA_INSTALL/conf目录下的server.xml文件中将邮件服务器详细信息指定为 JNDI 资源。
以下代码片段展示了一个示例声明。您需要用邮件服务器详细信息中的实际值替换代码中某些参数的值:
<Resource name="mail/JiraMailServer" auth="Container" type="javax.mail.Session"
mail.smtp.host="mail.server.host"
mail.smtp.port="25"
mail.transport.protocol="smtp"
mail.smtp.auth="true"
mail.smtp.user="username"
password="password"
/>
在保存对server.xml文件的更改后,您需要重新启动 Jira。
禁用外发邮件
如果您正在运行测试或评估版的 Jira 实例,或正在测试您对配置所做的更改,您可能不想将测试邮件发送给用户。禁用所有外发邮件的最简单方法是点击禁用外发邮件按钮。这将停止 Jira 发送所有由问题更新触发的邮件。一旦准备好再次发送邮件,您可以点击启用外发邮件按钮。
注意
禁用外发邮件仅会阻止 Jira 根据通知方案发送通知邮件。
启用通过 SSL 的 SMTP
为了提高安全性,如果您的邮件服务器支持 SSL,您可以加密 Jira 与邮件服务器之间的通信。启用 SSL 通过 SMTP 在 Jira 中有两个步骤:
-
第一步是将您的邮件服务器的 SSL 证书导入到 Java 的信任库中。您可以使用 Java 的
keytool工具完成此操作。在 Windows 机器上,运行以下命令:keytool -import -alias mail.yourcompany.com -keystore $JAVA_HOME/jre/lib/security/cacerts -file yourcertificate -
第二步是配置您的应用服务器使用 SSL 进行邮件通信。以下声明适用于 Jira 独立版所使用的 Apache Tomcat。我们可以使用相同的配置文件,只需要添加两个额外的参数:
<Resource name="mail/JiraMailServer" auth="Container" type="javax.mail.Session" mail.smtp.host="mail.server.host" mail.smtp.port="25" mail.transport.protocol="smtp" mail.smtp.auth="true" mail.smtp.user="username" password="password" mail.smtp.atarttls.enabled="true" mail.smtp.socketFactory.class="javax.net.ssl.SSLSocketFactory" />
一旦您导入了证书并配置了邮件服务器,您将需要重新启动 Jira。
发送测试邮件
配置 SMTP 邮件服务器后,发送测试邮件始终是个好主意,以确保服务器正在运行并且在 Jira 中配置正确。以下是操作步骤:
-
浏览到外发邮件页面。
-
点击发送测试邮件链接以测试您的 SMTP 邮件服务器。
-
点击发送按钮发送邮件。Jira 会根据您登录的用户自动填充收件人地址。
如果一切正常,您将在邮件日志部分看到确认信息,并会在收件箱中收到邮件。如果出现错误,例如邮件服务器连接错误,邮件日志部分将显示这些问题。这在排查 Jira 与 SMTP 服务器连接问题时非常有用:

图 8.4 – 测试外发邮件服务器
在上面的截图中,您可以看到测试邮件发送失败,错误原因是 Jira 无法连接到配置的 SMTP 服务器。
我们现在已经了解了如何在 Jira 中添加外发 SMTP 邮件服务器,并发送测试邮件。在下一部分,我们将探讨 Jira 的邮件发送机制。
邮件队列
Jira 中的大多数邮件并不会在执行操作时立即发送。相反,它们会被放入一个队列,Jira 会定期处理这些邮件。这与现实生活中邮件被放入邮箱并每天由邮递员取走的场景非常相似。在这一部分,我们将了解 Jira 的邮件队列,以及如何使用它来帮助识别和排查外发邮件卡住的情况。
查看邮件队列
通常,您无需管理邮件队列。Jira 会自动将邮件放入队列并定期处理它们。然而,作为管理员,您可能希望检查邮件队列,尤其是在排查与 Jira 通知邮件相关的问题时。有时邮件会被卡住,检查邮件队列可以帮助您识别这些问题并解决它们。
执行以下步骤以查看邮件队列的内容:
-
浏览到 Jira 管理控制台。
-
选择系统标签,然后选择邮件队列选项:

图 8.5 – 邮件队列页面
该页面为您提供了一个查看当前正在等待发送的队列中邮件的一页视图。共有两个队列——邮件队列和错误队列:
-
邮件队列标签包含所有待发送的邮件。如果 Jira 能成功发送这些邮件,它们将从队列中移除。任何以红色显示的项目表示 Jira 未能成功发送这些邮件。Jira 将重试 10 次,如果仍然失败,这些项目将被移至错误队列。
-
错误队列标签包含 Jira 无法发送的邮件。您可以选择重新发送错误队列中的所有失败项,或者删除它们。
刷新邮件队列
虽然 Jira 会自动刷新邮件队列,但您也可以手动刷新队列,如果您希望立即发送邮件。手动刷新队列时,Jira 将尝试发送当前队列中的所有邮件。
执行以下步骤手动刷新邮件队列:
-
浏览到邮件队列页面。
-
点击刷新邮件队列按钮
如果 Jira 成功发送邮件,您会看到队列缩小并且项目消失。如果某些邮件发送失败,这些项目将被高亮显示为红色。邮件队列用于 Jira 自动发送邮件,正如我们在下一节中将看到的那样。当您在 Jira 中手动发送邮件时,这些邮件会立即发送。
手动发送邮件
有时,作为管理员的您可能需要向用户发送包含重要信息的邮件。例如,如果您计划进行一些维护工作,导致 Jira 长时间离线,您可能希望向所有 Jira 用户发送邮件通知他们停机的情况。
Jira 提供了一个内置功能,允许您手动向特定的用户组发送邮件。手动发送邮件时有两种选项——您可以按组发送或按项目发送。
按组发送邮件时,您只需选择一个或多个 Jira 组,所有属于所选组的用户将收到该邮件。属于多个组的用户不会收到重复的邮件。
按项目发送邮件时,您需要选择一个或多个项目,然后选择项目角色。我们将在下一章中更详细地讨论项目角色,但目前,您可以将其视为项目中的用户组。例如,您可以向示范项目中的所有用户发送邮件,而不是向 Jira 中的所有用户发送邮件。
要向 Jira 中的用户发送邮件,请执行以下步骤:
-
浏览到 Jira 管理控制台
-
选择系统标签页,然后选择发送邮件选项
-
选择是否按项目角色或组向用户发送邮件
-
输入邮件的主题和正文内容
-
点击发送按钮,将邮件发送给选定项目角色/组中的所有用户
以下截图显示了通过选择jira-software-users组来向所有人发送维护停机通知邮件的示例,默认情况下,每个 Jira Software 用户都是该组的成员:

图 8.6 – 发送邮件页面
注意
由于 Jira 不提供所见即所得(WYSIWYG)邮件编辑器,您可能想要先草拟一封邮件并将其发送给自己,之后再发送给所有人。
现在我们已经了解了如何在 Jira 中配置外发邮件服务器并发送邮件,让我们更深入地了解 Jira 如何在用户对问题执行操作时自动发送电子邮件通知。
事件
Jira 是一个事件驱动系统。这意味着当发生某个操作(例如,创建一个问题)时,Jira 会触发一个相应的事件。然后,这个事件会被设计来监听该事件的组件拾取。这些组件被称为监听器。当监听器捕捉到一个事件时,它会执行自己的任务,比如保持问题的更新或向关注该问题的用户发送邮件。
这个机制允许 Jira 异步处理操作。这种模式的优势是,像发送邮件这样的操作,与 Jira 的核心功能(如问题创建)是分离的。例如,如果邮件服务器出现问题,你不希望这个问题阻止用户创建问题。
Jira 中有两种类型的事件:
-
系统事件:这些是 Jira 内部使用的事件,通常代表 Jira 中的主要功能。它们无法被添加、编辑或删除。
-
post函数。
作为管理员,你将能够查看 Jira 中所有事件的一页内容。你只需执行以下操作:
-
浏览到 Jira 管理控制台。
-
选择系统标签页,然后选择事件选项。这样将显示查看事件页面:

图 8.7 – 问题事件
每个事件都与一个模板关联,这个模板通常被称为邮件模板。这些模板定义了发送通知邮件时邮件的内容结构。对于系统事件,你不能修改它们的模板(但你可以修改模板文件的内容)。对于自定义事件,你可以选择使用现有的模板之一或创建自己的邮件模板。
在接下来的章节中,我们将讨论如何创建和注册自定义邮件模板,创建一个新的自定义事件来使用该新模板,并在对问题执行操作时触发新的事件。之后,我们将探讨如何将事件与通知关联起来,以便告诉 Jira 哪些用户应该收到该事件的通知邮件。
使用邮件模板
邮件模板是你通过文本编辑器创建和编辑的物理文件。Jira 为所有系统事件提供了一组默认模板。Jira 不直接修改它们,而是允许你上传修改后的模板版本来覆盖默认模板。为了创建新的邮件模板,我们也可以查看这些现有模板并以它们为起点。你可以按照以下步骤下载默认模板:
-
浏览到 Jira 管理控制台
-
选择系统标签页,然后选择邮件模板选项
-
点击下载 .zip按钮
这将下载所有默认模板到一个.zip文件中。解压后,你将看到两个主要目录——email和email-batch。目前我们将专注于email目录,因为它包含了事件的所有邮件模板。在email目录中,你将看到以下子目录:
-
css directory:包含应用于邮件的 CSS 文件。 -
html directory:当 Jira 以 HTML 格式发送邮件时,包含的模板。 -
includes directory:包含多个模板共享的公共内容。 -
subject directory:包含用于生成邮件主题的模板。 -
text directory:当 Jira 以纯文本格式发送邮件时,包含的模板。
正如我们所看到的,对于由问题事件使用的给定邮件模板,至少有三个组成部分——主题、HTML 和文本。因此,如果你想为自定义事件添加一个新的模板,你需要创建这三个文件,并将它们分别放入相应的目录中。如果你想修改现有的邮件模板,确保你对所有必要的文件进行修改,通常是在 HTML 和文本目录中同时进行修改。
在创建新的邮件模板时,最好根据问题事件命名模板文件,例如issueescalated.vm。这样有助于将来的用户理解这些模板的用途。
邮件模板使用 Apache 的 Velocity 模板语言(velocity.apache.org)。因此,创建新的邮件模板将需要一定的 HTML 和模板编程知识。
如果你的模板只包含静态文本,你可以直接使用标准 HTML 标签。但如果你需要在模板中渲染动态数据,比如问题的键或摘要,你将需要使用 Velocity 语法。Velocity 的完整解释超出了本书的范围。以下段落简要介绍了如何为 Jira 创建简单的邮件模板。你可以在confluence.atlassian.com/adminjiraserver0822/customizing-email-content-1142237912.html找到更多关于 Velocity 及其在 Jira 邮件模板中的使用信息。
在 Velocity 模板中,所有文本将作为普通文本处理。任何以美元符号($)开头的内容,如$issue,都是 Velocity 语句。$符号告诉 Velocity 引用符号后的项目,并且,当与句点(.)结合时,你可以检索指定的值。例如,模板中的以下代码将从当前问题中获取问题的键和值,二者由-字符分隔:
$issue.key - $issue.summary
这将生成类似于DEMO-1 - 这是一个演示问题的内容。
Jira 提供了一系列 Velocity 引用,您可以使用它们来创建邮件模板。这些引用允许您访问诸如正在更新的问题和触发事件的用户等数据。您可以在 developer.atlassian.com/server/jira/platform/jira-templates-and-jsps/#email-templates 找到详细的列表。
现在,您已经基本理解了 Velocity 的工作原理,接下来需要为邮件主题创建一个模板。以下代码展示了一个典型的主题模板:
$eventTypeName: ($issue.key) $issue.summary
当模板被处理时,Jira 将为事件类型(例如,问题创建)、问题关键字和问题摘要替换实际值。因此,上述示例将产生类似于 问题升级:HD-11:数据库服务器运行非常缓慢 的内容。
然后,您需要为实际的邮件内容创建模板。在此,您需要创建文本版和 HTML 版。以下代码展示了一个简单的文本模板示例,它显示了升级问题的关键字:
Hello,
The ticket $issue.key has been escalated and is currently being worked on. We will contact you if we require more information.
Regards
Support team.
在 Jira 发送邮件之前,前述文本将被处理,其中所有 Velocity 引用,如 $issue.key,将转换为相应的值;例如,DEMO-1。
一旦您更新或创建了邮件模板,您需要将它们上传到 Jira。以下是操作步骤:
-
将您的邮件模板打包成 Zip 文件
-
浏览到 Jira 管理控制台
-
选择 系统 标签页,然后选择 邮件模板 选项
-
点击您创建的
.zip文件 -
在 Jira 验证您的模板内容后,点击 应用 按钮
一旦更新的模板已上传,可能需要最多 5 分钟才能使更改生效。如果您只是修改现有的模板,那么只需执行这些操作,但如果您要添加新模板,则需要在 Jira 中注册它们。
要注册您的新模板,请在文本编辑器中定位并打开 <JIRA_INSTALL>/atlassian-jira/WEB-INF/classes 目录中的 email-templates-id-mappings.xml 文件。
在 </templatemappings> 标签闭合前,将新的条目添加到文件末尾,如下所示:
<templatemapping id="10001">
<name>Example Custom Event</name>
<template>examplecustomevent.vm</template>
<templatetype>issueevent</templatetype>
</templatemapping>
在这里,我们注册了一个新的自定义邮件模板条目。其详细信息显示在以下表格中:
| Parameter | Description |
|---|---|
id |
这是模板的唯一 ID。您需要确保没有其他模板映射使用相同的 ID。 |
name |
这是 Jira 显示的可读名称。 |
template |
这是邮件模板的文件名,用于主题、文本和 HTML。所有三个模板文件必须按此处指定的名称命名。 |
type |
这是模板类型。对于由问题生成的事件,其值将是 issueevent。 |
表 8.2 – 邮件模板 ID 映射参数
在创建模板并将其注册到映射文件后,你需要重新启动 Jira 才能应用更改。新的模板将在我们创建新事件时可用,接下来的部分将讨论如何操作。
添加自定义事件
Jira 提供了一份全面的系统事件列表,专注于与问题相关的操作。然而,某些时候你可能需要创建自定义事件,以代表特定的业务操作,或者当你仅仅需要使用自定义邮件模板时。
执行以下步骤以添加新的自定义事件:
-
浏览到查看事件页面。
-
在添加新事件部分输入新事件的名称和描述。
-
选择新事件的邮件模板。如果你已经注册了新的邮件模板,可以为该事件选择它。
-
点击添加按钮以创建新事件:

图 8.8 – 添加新事件页面
通过这些步骤,我们已经向 Jira 添加了一个新事件并为其分配了自定义邮件模板。我们将在下一部分讨论如何触发我们新的事件。
触发自定义事件
与系统事件不同,对于自定义事件,你需要告诉 Jira 何时触发自定义事件。
自定义事件主要通过工作流过渡触发。回顾 第七章,工作流和业务流程,你可以向工作流过渡添加后置功能。几乎所有 Jira 的过渡都会有后置功能来触发适当的事件。重要的是要理解,仅仅因为事件被触发,并不意味着必须有某个东西去监听它。
如果你跳过了 第七章,工作流和业务流程,或者仍然没有很好地理解工作流,现在是时候回去重新阅读那一章了。
执行以下步骤以从工作流后置功能中触发自定义事件:
-
浏览到查看工作流页面。
-
点击将用于触发事件的工作流的编辑链接。
-
点击将触发事件的过渡。
-
点击后置功能标签。
-
点击
post功能,该功能显示触发一个可以由监听器处理的 <事件名称> 事件:

图 8.9 – 触发问题事件
-
从下拉列表中选择自定义事件。
-
点击更新按钮以应用对后置功能所做的任何更改。
-
发布工作流。
现在,每当工作流过渡被执行时,后置功能将运行并触发所选事件。了解了事件之后,在下一部分我们将讨论如何配置 Jira 以监听这些事件,并相应地发送通知。
通知
通知将事件(包括系统事件和自定义事件)与电子邮件收件人关联。当事件被触发并被接收时,电子邮件将被发送出去。通知类型定义了电子邮件的接收者。例如,你可以设置只将电子邮件发送给特定用户或指定用户组中的所有成员。你可以为给定事件添加多个通知。
Jira 自带了一个全面的通知类型列表(即收件人),能够满足你许多的需求。下表列出了所有可用的通知类型及其工作原理:
| 通知类型 | 描述 |
|---|---|
| 当前分配人 | 这是当前的任务分配人。 |
| 报告人 | 这是问题的报告人(通常是创建问题的人)。 |
| 当前用户 | 这是触发事件的用户。 |
| 项目负责人 | 这是问题所属项目的负责人。 |
| 组件负责人 | 这是问题所属组件的负责人。 |
| 单一用户 | 这表示 Jira 中的任何用户。 |
| 组 | 这表示所有属于指定组的用户。 |
| 项目角色 | 这表示所有用户都属于指定的项目角色。 |
| 单一电子邮件地址 | 这表示任何电子邮件地址。 |
| 所有观察者 | 这表示所有用户都在关注此问题。 |
| 用户自定义字段值 | 这表示在user-type自定义字段中指定的用户。例如,如果你有一个名为“收件人”的用户选择器自定义字段,且在该字段中选择的用户具有访问该问题的权限,那么该用户将接收通知。 |
| 组自定义字段值 | 这表示属于group-type自定义字段中指定组的所有用户。例如,如果你有一个名为“审批人”的组选择器自定义字段,那么该字段中被选择的所有用户(且有权限访问此问题的用户)将接收通知。 |
图 8.3 – 通知类型
如你所见,列表包括了各种各样的选项,从问题报告人到自定义字段中包含的值。任何可以表示为用户的对象,如项目负责人,或包含用户值的字段,如用户自定义字段值,都可以选择接收通知。
如果一个用户属于一个事件的多个通知,Jira 会确保只发送一封电子邮件,避免用户收到重复邮件。为了接收通知,用户必须有权限查看该问题。唯一的例外是使用单一电子邮件地址选项时(我们将在第九章中讨论安全性,保护 Jira)。如果用户没有查看问题的权限,Jira 将不会发送通知邮件。
现在,既然我们可以创建自定义事件、创建和修改邮件模板,并控制事件的触发时机,我们将来看如何将通知添加到事件中,以便用户可以通过通知方案开始接收电子邮件。
通知方案
通知方案是一个可重用的实体,它将事件与通知关联起来。换句话说,它包含事件与相应电子邮件接收者之间的关联。在本节中,我们将讨论通知方案,以及如何使用它们在 Jira 中发生事件时发送通知邮件。
要在 Jira 中管理通知方案,请执行以下步骤:
-
浏览到 Jira 管理控制台。
-
选择问题标签页,然后选择通知方案选项。这将打开通知方案页面:

图 8.10 – 通知方案页面
在此页面,你可以看到所有通知方案的列表以及当前正在使用这些方案的项目。Jira 附带了一个通用的默认通知方案。该默认方案设置了所有系统事件的通知。这允许你快速启用 Jira 中的通知。默认设置包含以下通知:
-
当前指派人
-
报告人
-
所有观察者
你可以修改默认通知方案以添加自己的通知规则,但随着 Jira 使用范围的扩大,最好是从头开始创建一个新的方案,或者复制默认方案并在此基础上进行修改。
添加通知方案
与其他方案(如工作流方案)不同,在这些方案中,Jira 会在每次创建新项目时自动创建一个新的方案,而所有新项目默认使用默认通知方案选项。因此,如果你希望创建特定于项目的通知,则需要创建一个新的通知方案。请按照以下步骤创建新的通知方案:
-
浏览到通知方案页面
-
点击底部的添加通知方案链接
-
输入新通知方案的名称和描述
-
点击添加按钮以创建通知方案
当你创建一个新的通知方案时,你会创建一个空白的方案,可以稍后进行配置,以便你可以向其中添加自己的通知规则。在你创建新通知方案后,必须先配置其通知规则,再将该方案应用于项目;否则,将不会发送任何通知。我们将在本章稍后部分讨论如何配置通知规则。
管理通知方案
通知方案包含在 Jira 事件中设置的通知。通知确定在相应事件触发时,谁将收到电子邮件。请按照以下步骤添加新通知:
-
点击你希望配置的通知方案的通知链接。
-
点击添加通知链接或你希望为其添加通知的事件的添加链接。这两个操作都会将你带到添加通知页面。如果点击添加链接,事件选择列表将自动为你预选该事件。
-
选择你希望添加通知类型的事件。
-
从可用选项中选择通知类型。
-
点击添加按钮。例如,以下截图展示了如何设置通知,当问题被创建和更新时,Jira 将向项目负责人发送电子邮件:

图 8.11 – 添加通知页面
一旦添加,通知将显示在已选择的事件旁边。你可以通过重复相同的步骤继续为事件添加通知。
注意
你可以选择多个事件,将通知类型添加到这些事件中。
当某些事件不再需要通知时,你也可以删除它们。要删除通知,你需要逐个事件删除:
-
浏览到你想要配置的通知方案的编辑通知页面
-
点击你希望删除的通知旁边的删除链接
-
点击删除按钮以确认删除
在删除通知后,受到该通知影响的用户将停止接收来自 Jira 的电子邮件。然而,你需要注意你的配置,因为可能会有其他针对相同事件的通知,继续向同一用户发送电子邮件。例如,如果你为问题创建事件创建了两个通知,一个设置给单一用户 John(他属于jira-administrator组),另一个设置给 jira-administrator 组,而你的目标是阻止向用户 John 发送电子邮件,那么你需要从该事件中删除这两个通知,而不仅仅使用单一用户选项。
分配通知方案
当新项目被创建时,它们会自动分配使用默认的通知方案。如果你希望你的项目使用不同的方案,你需要进入项目管理控制台中的通知部分:
-
浏览到你想要应用通知方案的项目管理页面。
-
从左侧面板中选择通知选项:

图 8.12 – 关联通知方案
-
从操作菜单中选择使用不同的方案。
-
选择要使用的通知方案。
-
点击关联按钮。
一旦通知方案应用到项目,它将立即生效,你将看到已配置的事件的电子邮件被发送出去。像 Jira 中的其他方案一样,通知方案可以分配给多个项目,以便它们共享相同的通知行为。
由于通知过多,用户常常会被 Jira 发送的电子邮件数量压倒。接下来的章节,我们将探讨如何通过将它们批量处理来减少用户收到的通知电子邮件数量。
批量电子邮件通知
用户对 Jira 电子邮件通知最常见的抱怨之一是通知的频率。对同一问题所做的每次更改都会触发发送一封电子邮件,对于一个忙碌的团队,常常更新问题(如添加评论),这可能很快就会导致大量电子邮件被发送,从而淹没用户的收件箱。为了缓解这个问题,Jira 8 引入了批量电子邮件通知功能。其工作原理如下——过去 10 分钟内对给定问题所做的所有更改将被合并到一封总结邮件中,这样用户只会收到一封邮件,而不是每次更改一封邮件。这有助于显著减少频繁更新问题所产生的邮件杂乱。要启用电子邮件批量处理,请按照以下步骤操作:
-
浏览到 Jira 管理控制台
-
选择系统标签,然后选择批量电子邮件通知选项
-
勾选批量电子邮件通知选项以启用此功能
由于这是 Jira 8 新增的功能,因此未来版本计划进行改进,例如增加对在总结邮件中包含自定义字段值的支持,并提供可定制的批量选项。
现在我们已经介绍了电子邮件通知,接下来我们将了解 Jira 提供的工具,帮助我们排查与通知相关的问题。
故障排除通知
经常有用户无法收到 Jira 的通知时,找到原因可能非常困难且令人沮丧。通知相关问题最常见的两个原因是外发邮件服务器连接问题或通知方案配置错误。
故障排除外发邮件服务器问题相当简单。你只需要尝试发送一封测试邮件,如发送测试邮件部分所述。如果你收到了测试邮件,那么说明外发邮件服务器配置没有问题,你可以专注于通知配置。
故障排除通知问题并不像外发邮件服务器问题那样简单,因为需要考虑的因素有很多。为了帮助解决这个问题,Jira 提供了一个名为通知助手的实用功能。通知助手功能可以通过帮助管理员确定为什么某个用户会或不会收到通知,节省 Jira 管理员的时间。管理员只需要告诉助手用户是谁,哪个问题(或项目中的示例问题)用户会或不会收到通知,以及触发通知的事件是什么。按照以下步骤操作:
-
浏览到 Jira 管理控制台
-
选择系统标签,然后选择通知助手选项
-
在用户字段中指定将会或不会收到通知的用户
-
指定测试时遇到的问题
-
选择通知事件类型
-
点击提交按钮
通知助手功能将处理输入并报告用户是否会收到通知,以及基于通知方案设置的原因:

图 8.13 – 通知助手页面
正如你从前面的截图中看到的,用户Alana Grant当前没有收到DEMO-4问题的通知,因为通知设置为只有当前指派人会收到电子邮件,而 Alana Grant 不是该问题的指派人。
现在我们已经看过如何配置 Jira 发送电子邮件通知以及当你没有收到电子邮件时如何进行故障排除,在接下来的章节中,我们将了解如何向 Jira 发送电子邮件以创建问题和评论。
接收邮件
我们已经看到如何配置 Jira 发送电子邮件来通知用户关于他们的问题的更新。然而,这只是 Jira 电子邮件支持的其中一部分。
你还可以设置 Jira 定期轮询邮箱,检查电子邮件,并根据邮件的主题和内容创建问题。这是一个非常强大的功能,具有以下好处:
-
它隐藏了 Jira 的复杂性,让业务用户可以更高效地记录问题,将复杂性留给 IT 团队处理。
-
它允许用户即使在 Jira 只能通过内部网络访问的情况下也能创建问题。用户可以将电子邮件发送到 Jira 轮询的专用邮箱。
在本节中,我们将了解如何添加接收邮件服务器以便 Jira 轮询电子邮件,然后创建邮件处理程序从电子邮件中创建问题和/或评论。
添加接收邮件服务器
为了让 Jira 能够接收电子邮件并从中创建问题,你需要将 POP/IMAP 邮件服务器配置添加到 Jira 中。POP 和 IMAP 是用于从服务器接收电子邮件的邮件协议。像 Microsoft Outlook 这样的邮件客户端使用这些协议之一来接收电子邮件。
与发送邮件服务器不同,Jira 允许你添加多个接收邮件服务器。这是因为尽管你只需要一个邮件服务器来发送电子邮件,但你可能有多个邮件服务器或多个邮件账户(在同一个服务器上),供人们用来发送电子邮件。
例如,你可能会有一个专门用于提供支持的账户,另一个用于销售。通常,创建独立的邮件账户是一个好主意,这样当你尝试确定哪个邮件应该进入哪个项目时会更方便。基于这个原因,添加 POP/IMAP 邮件服务器可以被看作是在 Jira 中添加多个邮件账户。执行以下步骤以添加一个接收邮件服务器:
-
浏览到 Jira 管理控制台
-
选择系统标签,然后选择接收邮件选项
-
点击添加 POP/IMAP 邮件服务器按钮
-
输入邮件服务器的名称和描述
-
选择邮件服务提供商类型 – 例如,如果您使用的是自己托管的邮件服务或谷歌等知名云服务提供商之一。
-
如果使用的是您自己的(自定义提供商)POP/IMAP 服务器,请指定服务器的主机名。
-
输入邮件账户的用户名/密码凭证。
-
点击保存按钮以创建 POP/IMAP 邮件服务器:

图 8.14 – 添加邮件服务器页面
注意
您可以拥有多个传入服务器。
邮件处理器
邮件处理器是 Jira 用来处理已检索邮件的工具。每个邮件处理器可以处理来自一个传入邮件服务器的邮件,并定期扫描新邮件。Jira 随附了多个邮件处理器,每个处理器都有自己的功能。接下来的章节将详细讨论每个处理器。
从每封邮件消息创建新问题
创建新问题或为现有问题添加评论的邮件处理器(在 Jira 早期版本中也称为创建和评论处理器)是最常用的邮件处理器。它会从接收到的邮件中创建新问题,并且如果传入邮件的主题包含匹配的议题键,还会为现有问题添加评论。如果主题中不包含匹配的议题键,则会创建新问题。以下表格列出了创建邮件处理器时需要的参数:

](https://github.com/OpenDocCN/freelearn-devops-pt7-zh/raw/master/docs/jira8-ess-6e/img/2.png)
表 8.4 – 邮件处理器配置
添加整个邮件正文的评论
该邮件处理器从邮件内容中提取文本,并将其添加到主题中具有匹配问题键的议题中。评论的作者来自发件人字段。
它具有一组与创建和评论处理器类似的参数。
从未引用的邮件正文中添加评论
从未引用的邮件正文中添加评论与完整的评论处理器非常相似,但它只提取未引用的文本并将其作为评论添加。以 > 或 | 开头的文本视为引用文本。
它具有一组与创建和评论处理器类似的参数。
从每封邮件消息创建新问题
从每封邮件消息创建新问题与创建和评论处理器非常相似,区别在于此处理器会为每封接收到的邮件始终创建新问题。
它具有一组与创建和评论处理器类似的参数。
在电子邮件正文中添加评论到指定的标记或分隔符之前
在电子邮件正文中添加评论到指定的标记或分隔符之前,是评论处理器的更强大版本。它使用正则表达式从邮件内容中提取文本并将其添加到问题中:
| 参数 | 描述 |
|---|---|
| 分割正则表达式 | 这个正则表达式用于提取内容。正则表达式有两个规则:/``/-{}{}{}{}{}\s*原始消息\s*{}-/ 或 /_____________*/ |
表 8.5 – 正则表达式邮件处理器配置
添加邮件处理器
你可以设置任意数量的邮件处理器。建议为每个希望通过邮件在 Jira 中创建问题的项目创建专用邮箱。对于每个帐户,你需要创建一个邮件处理器。你设置的邮箱需要通过 POP 或 IMAP 进行访问。按照以下步骤添加邮件处理器:
-
浏览到传入邮件页面。
-
点击添加传入邮件处理器按钮。
-
为新的邮件处理器提供一个名称。
-
选择一个传入邮件服务器或本地文件。
-
指定 Jira 在多长时间后会轮询邮箱以查找新邮件(以分钟为单位)。你会希望这个时间足够长,以允许 Jira 处理所有邮件,但也不能太长,以免你不得不等很久才能看到你的邮件转换为 Jira 中的问题。
-
选择你要添加的处理器类型。
-
点击下一步按钮:

图 8.15 – 添加邮件处理器 – 步骤 1
根据你选择的处理器类型,下一屏幕将有所不同。在下一屏幕中,你需要提供邮件处理器所需的参数,正如前一部分所描述的那样。下图显示了一个配置对话框示例,在该示例中,新的问题将以任务类型创建在 IT 支持项目中:

图 8.16 – 添加邮件处理器 – 步骤 2
你可以随时使用测试按钮来测试你的配置。如果有问题,Jira 会提供有用的提示。
高级邮件处理器
Jira 自带的默认邮件处理器通常足以满足简单的电子邮件处理需求。如果你需要更高的控制或者需要为传入邮件处理特殊的逻辑,你可以创建自定义的邮件处理器。然而,创建新的邮件处理器需要具备编程知识;一个更好的选择是使用一个名为Jira 企业邮件处理器(JEMH)的插件。
使用 JEMH,你可以设置高级的邮件路由、基于邮件内容的附加邮件触发操作(例如更新问题)、已接收/已处理邮件的审计等。你可以在marketplace.atlassian.com/apps/4832/enterprise-email-handler-for-jira-jemh了解更多关于 JEMH 的信息。
人力资源项目
用户通常希望在记录问题后获得问题的进度更新。因此,作为替代方案,我们将通过我们新获得的知识主动向用户更新进度——也就是通过 Jira 通知。
在第五章,字段管理中,我们添加了一个名为直接经理的自定义字段,该字段允许用户添加新员工或离职员工的经理,以便将他们纳入通知范围。
我们在第七章,工作流和业务流程中所做的另一个自定义操作是向工作流中添加新的过渡。我们需要确保这些过渡触发适当的事件,并发送通知。总的来说,我们需要做以下几点:
-
为我们的自定义工作流过渡触发的事件发送通知
-
向我们直接经理自定义字段中指定的用户发送通知
虽然你可以使用其他 Jira 功能来实现这一点,比如将用户添加为问题的观察者并重用现有的 Jira 系统事件,但本练习将探索你可用的选项。在后续章节中,你会看到在决定最佳方法时,还需要考虑其他标准。
设置邮件服务器
启用邮件通信的第一步,正如你可能猜到的,是在 Jira 中注册邮件服务器。如果你使用的是 Jira 的独立版,建议通过输入主机信息来添加邮件服务器。请按照以下步骤操作:
-
以 Jira 管理员身份登录 Jira。
-
浏览到 Jira 管理控制台。
-
选择系统标签,然后选择外发邮件选项。
-
点击配置新的 SMTP 邮件服务器按钮。
-
输入你的邮件服务器信息。如果你没有现成的邮件服务器,可以注册一个免费的 Gmail 账号,并将其用于测试目的。
添加完邮件服务器后,你可以尝试发送一封快速测试邮件,检查 Jira 是否能成功访问你的服务器。
更新工作流后置功能
在第七章,工作流和业务流程中,我们创建了一些新的工作流过渡。现在,我们需要更新这些新的过渡,以确保它们触发适当的事件:
-
浏览到查看工作流页面。
-
点击HR: 终止工作流的编辑链接。
-
点击任何完成以外的过渡。
-
更新后置功能以触发问题更新事件,而不是通用事件。
-
对除完成过渡外的所有其他过渡重复此操作。
-
发布草稿工作流。如果你希望可以恢复,可以保存一个备份副本。
我们使用问题更新事件,因为它反映了问题正在更新的事实;此外,该事件与更合适的邮件模板相关联。当然,我们也可以创建一个新的自定义事件和邮件模板,并让后置功能触发自定义事件。
设置通知方案
现在,你需要一个通知方案,以便开始将通知添加到你的事件中。我们将基于默认方案来设置我们的通知方案,以便快速配置:
-
选择问题(Issues)选项卡,然后选择通知方案(Notification schemes)选项
-
点击复制(Copy)链接,选择默认通知方案(Default Notification Scheme)
-
点击复制的通知方案的编辑(Edit)链接
-
将其重命名为
HR 通知方案(HR Notification Scheme),然后点击更新(Update)
这将创建一个新的通知方案,并自动填充基本的通知内容。现在你需要做的就是修改事件并添加你自己的通知需求。
设置通知
添加通知时需要遵循两个规则。首先,你需要为自定义事件添加通知,以便当它们被触发时发送电子邮件。其次,你还希望指定在抄送列表(CC list)自定义字段中的用户与问题的负责人和报告人一起接收电子邮件:
-
点击HR 通知方案(HR Notification Scheme)的通知(Notifications)链接
-
点击添加(Add)通知链接
-
选择问题更新(Issue Updated)事件类型
-
选择用户自定义字段值(User Custom Field Value)作为通知类型,并从下拉列表中选择直接经理(Direct Manager)
-
点击添加(Add)按钮
简单又方便。只需几次点击,你就将直接经理(Direct Manager)自定义字段添加到了通知方案中。所以,现在,无论谁被放入该字段,用户都会收到关于问题更新的通知。
整合
最后一步,和往常一样,是将你的方案与项目关联以进行激活:
-
浏览到 HR 项目的管理页面
-
从左侧面板中选择通知(Notifications)选项
-
在操作(Actions)菜单中使用不同的方案
-
选择我们刚刚创建的新的HR 通知方案(HR Notification Scheme)
-
点击关联(Associate)按钮
只需几次点击,你就启用了 Jira 自动发送电子邮件来更新用户关于其问题的进展。不仅如此,你还将之前章节中创建的自定义字段绑定到通知方案中,来管理谁将与问题的负责人和报告人一起接收这些通知。那么,让我们来测试一下:
-
在 HR 项目中创建一个新的终止(Termination)问题
-
为直接经理(Direct Manager)自定义字段选择一个用户。最好不要选择自己,因为报告人默认会收到通知。同时,确保所选用户有有效的电子邮件地址。
-
切换问题状态,使其沿着工作流进展。
-
你将在几分钟内收到来自 Jira 的电子邮件。
如果你没有收到 Jira 的邮件,请检查你的邮件队列,确认邮件是否已生成。然后,按照本章故障排除通知(Troubleshooting notifications)部分中的步骤操作。
概述
在本章中,我们探讨了 Jira 如何通过电子邮件与其用户保持联系。确实,随着今天新型智能设备的出现,例如智能手机和平板电脑,能够通过电子邮件保持用户更新是一项强大的功能,Jira 也有非常灵活的结构来定义谁将接收通知的规则。
我们也简要提到了一些关于谁可以接收通知的安全规则。Jira 在发送通知之前会进行安全检查,原因有两个:首先,如果用户无法查看问题,发送电子邮件给他们毫无意义;其次,你不希望未授权的用户查看问题并接收他们无法理解的更新。
在下一章,我们将深入探讨 Jira 的安全性以及如何保护你的数据以防止未授权访问。
第九章:确保 Jira 的安全性
在前几章中,您学会了通过创建问题在 Jira 中存储数据。正如您所看到的,作为一个信息系统,Jira 完全是关于数据的。您应该不会感到意外,Jira 在确保只有合适的人才能访问您的数据方面扮演着重要角色。这是通过为您提供灵活且强大的访问控制管理方式来实现的。它能够与您现有的安全实践(如密码策略)集成,并允许集中控制权限,同时将权限管理委派给项目负责人和用户,让他们管理自己项目的权限。
在本章结束时,您将了解以下内容:
-
管理用户、组和项目角色
-
用户目录及如何将 Jira 连接到轻量级目录访问协议(LDAP)
-
Jira 中的一般访问控制
-
管理项目级别和问题级别的权限设置
-
如何排查权限问题
-
配置 Jira 与安全断言标记语言(SAML)单点登录(SSO)和即时用户配置(JIT)的集成
具体来说,我们将关注以下主题:
-
管理用户
-
管理组和角色
-
用户目录
-
理解 Jira 权限
-
问题安全
-
排查权限问题
-
工作流安全
-
密码策略
-
启用带有 SAML 的 SSO
-
审计系统更改
-
人力资源(HR)项目
在深入了解 Jira 如何处理安全性之前,我们首先来看看 Jira 如何维护用户和组成员身份。
管理用户
每个用户都需要有一个帐户才能访问 Jira,除非配置为允许匿名访问(有关详细信息,请参阅本章的权限方案部分)。每个用户通过其唯一的用户名进行标识。
用户浏览器是您可以查看 Jira 中所有用户列表的地方,包括他们的用户名、电子邮件地址、最后一次登录尝试以及他们属于哪个用户目录。用户浏览器还提供搜索功能。您可以根据用户名、全名、电子邮件地址和组关联等标准搜索用户。请按照以下步骤访问用户浏览器:
-
浏览到 Jira 管理控制台。
-
选择用户管理标签,然后选择用户选项,将带您进入如下所示的页面:

图 9.1 - 用户浏览器
默认情况下,结果将分页显示每页 20 个用户,但您可以更改此设置,将每页显示最多 100 个用户。在处理拥有数百个用户的大规模部署时,这些选项将非常有用,能够快速找到您需要管理的用户。
除了让您能够有效地搜索用户,用户浏览器还允许您向 Jira 中添加新用户并管理用户的组/角色关联。
添加用户
Jira 允许您通过多种方式添加新用户,具体方式如下:
-
由 Jira 管理员直接创建
-
Jira 管理员邀请创建账户
-
从外部用户仓库(例如 LDAP)同步用户账户
-
如果启用了公共注册选项,通过注册账户即可注册
前三种选项具有集中管理功能,只有 Jira 管理员可以创建和/或管理用户账户。这些选项最适用于仅供组织内部用户使用的私人 Jira 实例。
最后一种选项允许用户自行注册账户。这在您运行公开的 Jira 实例时最为有用,因为手动创建用户账户无法满足庞大用户量的需求。稍后我们将看到如何在用户目录部分启用公共注册选项并与 LDAP 集成。现在,我们将研究管理员如何手动创建用户账户。操作方法如下:
-
进入用户浏览器页面。
-
点击创建用户按钮。
-
为新用户输入唯一的用户名。如果该用户名已被占用,Jira 会通知您。
-
输入用户的密码、全名和电子邮件地址。如果未输入密码,将生成一个随机密码。在这种情况下,您应该选择发送通知邮件选项,以便新用户可以重置他们的密码。
-
选择新用户可以访问的 Jira 应用程序。例如,如果您正在运行 Jira 软件,则应勾选Jira 软件选项。这样会消耗一个许可证座位。
-
点击创建用户按钮以创建新用户。
另外,管理员也可以选择邀请用户,以便他们可以自己创建账户。这与公共注册选项不同,因为只有邀请的接收者才能创建账户。要启用此功能,您需要配置一个外发邮件服务器,因为邀请将以电子邮件形式发送。按照以下步骤邀请用户注册:
-
进入用户浏览器页面。
-
点击邀请用户按钮。
-
指定您希望邀请的人的电子邮件地址。您可以一次性邀请多个人。
-
点击邀请用户按钮以发送邀请。
启用公共注册
如果您的 Jira 设置是公开的(例如开源项目),那么按前述方式逐个创建用户账户会对管理员造成很大的工作负担。对于这种类型的 Jira 设置,您可以启用公共注册选项,允许用户自行创建账户。按照以下步骤启用 Jira 中的公共注册:
-
进入 Jira 管理控制台。
-
选择系统标签页,然后选择常规配置选项。
-
点击编辑设置按钮。
-
在模式字段中选择公共。
-
点击更新按钮以应用更改。
一旦你将 Jira 设置为 公开 模式,用户将能够从登录页面注册并创建自己的账户,如下图所示:

图 9.2 – 公开注册
正如你将在本章稍后的 应用访问 部分看到的,一旦用户注册了新账户,他们将自动加入具有 Jira 用户全局权限的组。如果你将 Jira 设置为 私有 模式,那么只有管理员才能创建新账户。
启用 CAPTCHA
如果你将 Jira 设置为 公开 模式,你将面临自动化垃圾邮件机器人创建用户账户的风险。为了解决这个问题,Jira 提供了 CAPTCHA 服务,要求潜在用户输入图片中的单词。执行以下步骤来启用 CAPTCHA 服务:
-
浏览到 Jira 管理控制台。
-
选择 系统 标签,然后选择 常规配置 选项。
-
点击 编辑设置 按钮。
-
选择 开启 对应的 注册时启用 CAPTCHA 选项。
-
点击 更新 按钮以应用更改。
现在,当有人尝试注册账户时,Jira 会向他们展示一个 CAPTCHA 验证挑战,必须通过验证后账户才能创建,如下图所示:

图 9.3 – CAPTCHA
除了管理用户外,我们还需要回顾如何在 Jira 中管理组和角色。让我们在下一部分中讨论这个内容。
管理组和角色
组是管理任何信息系统中用户的常见方式。一个组代表了一群用户,通常基于他们在组织中的职位和职责。在 Jira 中,组提供了一种有效的方式来将配置设置(如权限和通知)应用于用户。
组在 Jira 中是全局性的,这与项目角色(稍后会讨论)不同。也就是说,如果你属于 jira-administrators 组,那么无论你访问哪个项目,你始终都会在该组中。你将在后面的章节中看到这与项目角色的不同之处。
管理组
与用户浏览器类似,组浏览器允许你在 Jira 中搜索、添加和配置组。以下是如何访问它:
-
浏览到 Jira 管理控制台。
-
选择 用户管理 标签,然后选择 组 选项。这将打开 组浏览器 页面,如下图所示:

图 9.4 – 组浏览页面
Jira 附带了一些默认组。这些组在安装 Jira 时会自动创建。对于 Jira 软件,我们有以下几组:
| 组 | 描述 |
|---|---|
jira-administrators |
Jira 管理员。默认情况下,该组允许你访问管理控制台。 |
jira-software-users |
默认情况下,这个组的成员将能够访问 Jira Software 应用程序。 |
表格 9.1 – 默认组
其他 Jira 应用程序,如 Jira Service Desk,将有不同的默认组设置。
添加一个组
除了 Jira 默认提供的三个组之外,你还可以创建自己的组。需要注意的是,一旦创建了一个组,你不能更改它的名称。因此,在创建组之前,一定要仔细考虑组名。按照以下步骤创建一个组:
-
浏览到组浏览器页面。
-
在添加组部分输入新组的唯一名称。
-
点击添加组按钮来创建这个新组。
在创建一个组之后,它将是空的,并且没有成员;你需要手动将用户添加到该组。
编辑组成员
通常,人员在组织内部会有变动,你的 Jira 设置需要随着这些变动保持最新。在组浏览器中,有两种方式来管理组成员。第一种方式是按组级别管理成员,第二种方式是同时管理多个组。这两种方式实际上是相似的,因此我们将同时讲解它们。
执行以下步骤以管理单个组:
-
浏览到组浏览器页面。
-
点击你希望管理成员的组旁的编辑成员链接。这将带你到批量编辑组成员页面。
你会注意到这两种选择都会带你到同一页面。不同之处在于,如果你选择了单独的组选项,Jira 将自动选择要更新的组;如果你选择了批量编辑选项,则不会选择任何组。不过,无论选择哪个选项,你仍然可以选择一个或所有组来应用你的更改,如下截图所示:

图 9.5 – 组成员
执行以下步骤以更新一个或多个组的成员:
-
浏览到批量编辑组成员页面。
-
选择一个或多个组进行更新。
-
从中间框中选择用户,然后点击移除选定用户按钮将用户从组中移除。
-
在右侧框中指定用户(通过输入用户名),然后点击添加选定用户按钮将用户添加到组中。
删除一个组
如果一个组变得多余,你可以按照以下步骤将其从 Jira 中删除:
-
浏览到组浏览器页面。
-
点击你希望删除的组旁的删除链接,然后再次点击删除以永久删除该组。
一旦你移除一个组,所有之前属于该组的用户将会更新其组关联,以反映这一变化。然而,如果你有其他配置使用该组,若不小心,可能会带来负面影响。例如,如果你在权限方案中限制了developers组,删除developers组后,使用该权限方案的项目中将无法创建问题。
重要说明
删除组时要非常小心,因为它可能在其他配置中被使用。
管理角色
如你所见,组是用户的集合,并且在 Jira 中全球应用于所有项目。Jira 还提供了另一种按项目级别进行用户分组的方法。
与用户和组类似,项目角色由 Jira 管理员通过项目角色浏览器页面进行维护。然而,有一点不同,因为项目角色是特定于项目的,Jira 管理员只定义哪些角色在 Jira 中可用及其默认成员。每个项目的管理员(在后面的章节中讨论)可以进一步定义每个角色的成员资格,覆盖默认分配。我们将首先了解 Jira 管理员可以通过项目角色浏览器页面控制什么,然后再了解项目管理员如何进一步调整成员分配。
执行以下步骤以访问项目角色浏览器页面:
-
进入 Jira 管理控制台。
-
选择系统标签,然后选择项目角色选项。这将显示项目角色浏览器页面,如下图所示:

图 9.6 – 项目角色浏览器页面
添加项目角色
要开始创建自己的项目角色,你首先需要作为 Jira 管理员添加角色,然后每个项目管理员将能够为其添加用户。执行以下步骤创建一个新的项目角色:
-
进入项目角色浏览器页面。
-
在添加项目角色部分输入新的项目角色的唯一名称。
-
点击添加项目角色按钮以创建该项目角色。
一旦你添加了一个新的项目角色,它将出现在每个项目中。
管理默认成员
你可以为项目角色分配默认成员,以便新创建的项目会自动分配项目角色。默认成员是 Jira 管理员为项目角色成员自动分配的有效方式,无需手动管理每个新项目。
例如,默认情况下,jira-administrators组中的用户将具有管理员项目角色。这不仅通过为新项目创建基线来提高设置效率,还提供了灵活性,允许对默认设置进行修改,以满足独特的需求。
执行以下步骤设置项目角色的默认成员:
-
浏览到项目角色浏览器页面。
-
点击你希望编辑的项目角色的管理默认成员链接。
以下截图显示了jira-software-users:

图 9.7 – 默认角色成员
在此页面,你将看到分配到所选项目角色的所有默认成员。你可以根据个人用户或组分配默认成员资格。
执行以下步骤将默认用户/组添加到项目角色:
-
点击默认成员选项(用户或组)的编辑链接。
-
使用用户选择器/组选择器功能,选择你希望分配到项目角色的用户/组。
-
点击
jira-software-users组,这是要添加的contract-developers组的默认组:

图 9.8 – 添加默认角色成员
一旦添加,创建的新项目将自动将指定的用户/组分配到项目角色。需要注意的是,默认成员的变更仅适用于新创建的项目,现有项目不会追溯性地应用新的默认成员。
分配项目角色成员
如你所见,Jira 允许你在创建项目时为其分配默认成员。这对于大多数刚开始的项目可能已经足够,但由于项目生命周期中的人员变动,通常需要进行更改。虽然 Jira 管理员可以继续维护每个项目的成员资格,但这很容易变成一项繁重的任务,且在大多数情况下,由于项目角色是特定于每个项目的,因此将此责任委托给每个项目的所有者更为合理。
在 Jira 中,项目所有者是拥有管理项目权限的人。默认情况下,管理员项目角色的成员将拥有此权限。稍后我们将在项目权限部分看到如何管理 Jira 中的权限。
作为项目管理员,你将能够为你的项目分配成员到不同的项目角色。你可以从项目管理页面分配角色,如下所示:
-
浏览到你想要更新的项目的项目管理页面。
-
从左侧面板中选择用户和角色选项。
-
点击添加用户到角色链接。
-
开始输入用户的用户名或组的名称。Jira 会在你输入时自动搜索结果。
-
一旦找到你想要添加的用户/组,点击添加用户到角色按钮。你可以在以下截图中查看这个概览:

图 9.9 – 添加角色成员
提示
如果可能,应该使用组而不是单个用户,以帮助未来的维护。
分配给项目角色的用户和组仅适用于当前项目。每个项目管理员可以为自己的项目配置此项。通过这种方式,你可以为每个项目单独维护项目角色成员。
用户目录
你可能会想,Jira 是如何以及在哪里存储用户和组的。用户目录就是 Jira 用来执行这项工作的。用户目录由用户存储库系统支持,比如 LDAP、数据库或远程用户管理系统(如 Atlassian Crowd)。Jira 默认内置一个内部目录,将用户和组信息存储在数据库中。
你可以在 Jira 中拥有多个用户目录。这允许你将 Jira 实例连接到多个用户存储库。例如,你可以为内部用户使用 LDAP 目录,为外部用户使用 Jira 内部目录(通过数据库)。以下截图展示了一个例子,其中配置了三个用户目录。第一个用户目录是内置的 Jira 内部目录,运行在 Jira 数据库上。第二个用户目录以只读模式连接到 Microsoft Active Directory(AD)。最后一个用户目录连接到 Atlassian Crowd,这是 Atlassian 的用户身份管理软件:

图 9.10 – 用户目录
作为 Jira 管理员,你可以通过执行以下两个步骤来管理用户目录:
-
浏览到 Jira 管理控制台。
-
选择用户管理标签,然后选择用户目录选项。
从这里,你可以看到当前在 Jira 中配置的用户目录列表,添加新目录,并手动与远程用户存储库同步。
在添加新用户目录时,首先需要决定目录类型。Jira 中有几种不同的用户目录类型,如下所示:
-
Jira 内部目录:这是你第一次安装 Jira 时的内置默认用户目录。使用此目录时,所有的用户和组信息都存储在 Jira 数据库中。
-
AD/LDAP:当你想将 Jira 连接到 LDAP 服务器时使用此目录。使用此目录时,Jira 会使用后端的 LDAP 查询用户信息和组成员身份。这也被称为 LDAP 连接器,不应与内部和 LDAP 认证目录混淆。
-
使用 LDAP 认证的内部目录:这也被称为委托 LDAP。在这种目录类型下,Jira 只会使用 LDAP 进行认证,并将所有用户信息保存在数据库中(在用户首次成功认证时从 LDAP 中获取)。这种方法可以提供更好的性能,因为 LDAP 仅用于认证,避免了从 LDAP 下载大量的组信息。
-
Atlassian Crowd:如果你还在使用 Atlassian Crowd,它是一个用户管理、单点登录和身份管理解决方案,你可以使用这种目录类型连接到你的 Crowd 实例。使用此选项,你还可以配置 Jira 实例以参与 SSO 会话。需要注意的是,Jira Data Center 内置 SSO 支持,因此不需要 Atlassian Crowd。
-
Atlassian Jira:Jira 可以作为其他兼容应用程序的用户存储库。如果你运行着另一个 Jira 实例,你可以使用这种目录类型连接到另一个 Jira 实例并获取用户信息。
当你为 Jira 配置了多个用户目录时,有几个重要的注意事项。用户目录的顺序很重要,因为它直接影响 Jira 查找用户和应用更改的顺序。例如,如果你有两个用户目录,并且两个目录中都有一个名为admin的用户,且密码不同,这将产生以下效果:
-
当你使用
admin用户名登录 Jira 时,你将以第一个能够验证密码的用户目录中的admin用户身份登录,按目录列表顺序进行验证。 -
登录后,你将获得验证密码的目录中的组成员资格,其他目录将被跳过。
-
如果你更改了
admin用户的信息,比如更改全名,这些更改将仅应用于 Jira 具有写权限的第一个目录。
另一个需要记住的重要事项是,当你登录的用户账户属于某个用户目录时,你无法对该目录进行更改。例如,如果你使用 LDAP 账户登录,你将无法更改 Jira 的 LDAP 用户目录设置,因为新的更改可能会导致你无法再次登录 Jira。
重要提示
始终在默认的 Jira 内部目录中准备一个有效的管理员用户账户——例如,在初始设置过程中创建的账户。这将为你提供一个管理员账户,帮助你解决用户目录的问题,比如上面提到的场景。如果在其他用户目录中有一个同名的用户账户,那么内部目录应该是列表中的第一个。
连接到 LDAP
Jira 支持广泛的 LDAP 服务器,包括 Microsoft AD 和 OpenLDAP。如果某个特定的 LDAP 没有列为选项之一,我们也提供通用目录服务器选项。
使用 AD/LDAP 连接器目录类型时,你可以选择以下权限选项之一:
-
只读:Jira 无法对 LDAP 服务器进行任何修改。
-
只读,并带本地组:从 LDAP 检索的信息将是只读的,但你也可以将用户添加到 Jira 中创建的组。这些更改不会反映到 LDAP 中。
-
读/写:Jira 将能够检索并对 LDAP 服务器进行更改。
只读选项是最常见的选项,因为信息技术(IT)团队通常会集中管理 LDAP 服务器,并且不允许进行更改。选择此选项时,Jira 只需要对存储在 LDAP 中的用户数据具有读取权限,以验证用户凭据和组成员身份。如果你只想将 LDAP 用作用户存储库和身份验证,但仍希望能够在不涉及 LDAP 团队的情况下更新组成员身份,那么只读,带本地组选项将是最佳选择。最后,应该避免使用读/写选项,因为对 LDAP 的更改(如组成员身份的变动)可能会对其他依赖于相同 LDAP 服务器的系统产生不可预见的影响。
要将你的 Jira 设置连接到 LDAP,只需添加一个新的用户目录,步骤如下:
-
浏览到用户目录页面。
-
点击添加目录按钮,然后从目录类型下拉列表中选择Microsoft Active Directory或LDAP,接着点击下一步。
-
提供你的 LDAP 服务器信息。
由于每个 LDAP 都不同,因此所需的具体参数会有所不同。最低要求是提供以下信息:
| 参数 | 描述 |
|---|---|
| 名称 | 这是用户目录的名称。 |
| 目录类型 | 这是你选择 LDAP 类型的地方。这将帮助 Jira 为你预填一些参数。 |
| 主机名 | 这是你的 LDAP 服务器的主机名。 |
| 端口 | 这是你的 LDAP 服务器的端口号。Jira 会根据你的目录类型选择预填此项。 |
| Base DN | 这是 Jira 搜索用户和组的根节点。 |
| LDAP 权限 | 这帮助你选择是否允许 Jira 对 LDAP 进行更改。 |
| 用户名 | 这是 Jira 用来连接到 LDAP 获取用户和组信息的用户名。 |
| 密码 | 这是 Jira 用来连接到 LDAP 的密码。 |
表 9.2 – 用户目录参数
你可以在下面的截图中看到这些部分已完成:

图 9.11 – 添加 LDAP 用户目录
除了前述参数外,还有一些附加的高级设置,如 用户架构设置 和 组架构设置。填写完表单后,您可以点击 快速测试 按钮,以验证 Jira 是否能够连接到您的 LDAP 服务器并使用提供的用户名和密码进行身份验证。请注意,这不会测试诸如用户查找之类的功能。如果初步的快速测试成功,您可以继续点击 保存并测试 按钮。这将添加用户目录,并带您进入测试页面,在该页面您可以使用正确的用户凭据(这与 Jira 用于连接 LDAP 的凭据不同)进行测试,如下图所示:

图 9.12 – 测试 LDAP 用户目录
添加新用户目录后,Jira 会自动与 LDAP 服务器同步,并拉取用户和组。根据您的 LDAP 服务器的大小,这可能需要一些时间才能完成。初始同步完成后,Jira 将每 60 分钟定期执行增量同步,以同步任何更改。
理解 Jira 权限
Jira 以分层方式管理其权限。每个级别比上一级更精细。为了使用户能够访问资源(例如查看问题),他们需要满足所有适用的权限,具体如下:
-
应用程序访问:此功能定义了将访问 Jira 中各种应用程序的组(例如,Jira 软件)。
-
全局权限:此权限控制访问权限功能,例如整体管理权限。
-
项目级权限:此权限控制项目级别的权限——例如,创建和编辑问题。
-
问题级别安全:此权限控制对每个单独问题的查看权限。
我们现在将逐一查看每个权限级别,以及如何配置它们以满足您的需求,从访问 Jira 应用程序开始。
应用程序访问
正如我们在 第一章《Jira 数据中心入门》中所解释的那样,Jira 产品家族包括多个应用程序,您可以让它们一起运行——例如,您可以在同一实例中运行 Jira 软件和 Jira 服务管理。对每个运行中的应用程序的访问通过 应用程序访问 功能进行控制。要管理应用程序访问,请执行以下步骤:
-
浏览到 Jira 管理控制台。
-
选择 应用程序 标签页,然后选择 应用程序访问 选项。
-
选择一个组以授予该应用程序的访问权限。如果您选中该组的 默认 选项,新创建的用户将在创建时自动添加到该组。您可以在下图中看到这一概览:

图 9.13 – 应用程序访问
你只能分配具有应用访问权限的组。一旦某个组被授予访问某个应用的权限,组内的所有活跃用户都将被授予访问权限。请注意,组内的每个用户也将消耗该应用的许可证名额。
全局权限
全局权限顾名思义,控制应用于全局的权限,例如管理员级别的访问权限。与应用访问类似,全局权限是应用于组而非单个用户的。下表列出了所有权限以及它们在 Jira 中控制的内容:
| 全局权限级别 | 描述 |
|---|---|
| Jira 系统管理员 | 这赋予了执行所有 Jira 管理功能的权限。这类似于其他系统中的根模式。 |
| Jira 管理员 | 这赋予了执行大多数与系统范围变更无关的 Jira 管理功能的权限(例如,配置简单邮件传输协议(SMTP)服务器和导出/恢复 Jira 数据)。 |
| 浏览用户 | 这赋予了查看 Jira 用户和组列表的权限。如果用户需要使用用户选择器/组选择器功能,则需要此权限。 |
| 创建共享对象 | 这赋予了与其他用户共享过滤器和仪表盘的权限。 |
| 管理组过滤器订阅 | 这赋予了管理组过滤器订阅的权限。过滤器将在第十章中讨论,搜索、报告和分析。 |
| 批量更改 | 这赋予了执行批量操作的权限,包括以下操作:
-
批量编辑
-
批量移动
-
批量删除
-
批量工作流转换
|
| 浏览归档 | 这赋予了浏览已归档项目和问题的权限。 |
|---|
表 9.3 – 全局权限
Jira 系统管理员与 Jira 管理员
对于新接触 Jira 的人来说,区分Jira 系统管理员和Jira 管理员全局权限通常会让人感到困惑。大多数情况下,它们非常相似,且可以执行 Jira 中的大部分管理功能。
区别在于,Jira 管理员无法访问可能影响应用程序环境或网络的功能,而 Jira 系统管理员则可以访问所有内容。
虽然将这两者分开可能会有用,但在大多数情况下,实际上并不必要。默认情况下,jira-administrators 组同时具有Jira 系统管理员和Jira 管理员权限。
以下列表显示了仅具有Jira 系统管理员权限的人可以执行的系统操作示例:
-
配置 SMTP 服务器详细信息
-
配置并发版本系统(CVS)源代码库
-
配置监听器
-
配置服务
-
配置 Jira 存储索引文件的位置
-
从可扩展标记语言(XML)备份导入数据到 Jira
-
从 Jira 导出数据到 XML 备份
-
配置附件设置
-
访问 Jira 许可证详细信息
-
授予/撤销Jira 系统管理员全局权限
-
删除具有Jira 系统管理员全局权限的用户
配置全局权限
全局权限由 Jira 管理员和 Jira 系统管理员配置和维护,具体如下:
-
浏览到 Jira 管理控制台。
-
选择系统选项卡,然后选择全局权限选项,打开全局权限页面,如下所示截图:

图 9.14 – 全局权限页面
重要提示
具有Jira 管理员全局权限的用户不能授予自己Jira 系统管理员全局权限。
授予全局权限
全局权限只能授予给组。因此,你需要将用户组织成逻辑组,才能使全局权限生效。例如,你可能希望将所有管理员都归属于一个组,如jira-administrators组,这样你就可以授予他们管理员权限。操作步骤如下:
-
浏览到全局权限页面。
-
从添加权限部分中选择你希望分配的权限。
-
选择要授予权限的组。
-
点击添加按钮以添加分配。
组下拉列表将列出所有的 Jira 组。它还会有一个额外的选项叫做任何人都可以访问。此选项指的是所有用户,包括那些不需要登录即可访问 Jira 的用户。当授予Jira 用户权限时,无法选择此选项,因为他们需要登录,而任何人指的是未登录的用户。对于生产系统,建议在授予任何全局权限给任何人(未登录用户)时要小心,因为这可能会导致安全和隐私问题。例如,通过授予任何人全局权限来浏览用户,任何能够访问你 Jira 实例的用户都能获取你的注册用户信息。
撤销全局权限
全局权限也可以被撤销。Jira 系统管理员和 Jira 管理员都可以撤销全局权限,但 Jira 管理员不能撤销Jira 系统管理员全局权限。
执行以下步骤以从组中删除全局权限:
-
浏览到全局权限页面。
-
点击要从全局权限中移除的组的删除链接。
-
点击删除按钮以撤销该组的全局权限。
Jira 内置了验证规则,以防止你因错误地删除了错误的权限而意外锁定自己。例如,Jira 不会让你删除Jira 系统管理员全局权限中的最后一个组,因为这样做会实质上阻止你将自己重新添加回去(因为只有 Jira 系统管理员可以分配/撤销全局权限)。
项目权限
权限控制的下一个层级是项目权限。Jira 定义了一系列权限,涵盖了用户在项目上下文中可以执行的不同操作,比如创建新问题和向问题添加评论。与仅允许使用组的应用访问和全局权限不同,项目权限在决定将权限授予谁时有更多选项。以下是项目权限的列表:
-
应用访问:这是指任何被授予访问该应用的用户
-
报告人:这是提交该问题的用户
-
组:这些是属于指定组的所有用户
-
单一用户:这是指 Jira 中的任何用户
-
项目负责人:这是项目的负责人
-
当前分配人:这是当前被分配给该问题的用户
-
项目角色:这些是属于指定角色的所有用户
-
用户自定义字段值:这个用户是指定在用户自定义字段类型中的
-
组自定义字段值:这些是指定在组自定义字段类型中的组内用户
由于你可能有许多项目,Jira 允许你一次性定义权限并通过权限方案将其应用于多个项目。
权限方案
权限方案是权限与用户之间关联的集合。每个权限方案是一个可重用的、自包含的实体,可以应用于一个或多个项目。
与大多数方案一样,权限方案在项目级别应用。这使你可以为每个项目应用细粒度的权限。就像项目角色一样,Jira 管理员负责权限方案的创建和配置,每个项目的管理员可以选择并决定使用哪个权限方案。这样,管理员会被鼓励设计出可以根据组织的共同需求重用的权限方案。通过有意义的方案名称和描述,项目管理员将能够选择最符合其需求的方案,而不是为每个项目请求设置一套新的权限。
然而,对于项目管理员而言,在配置工作流和屏幕时有一定的自由度,正如我们在之前的章节中已经看到的那样。如果权限方案启用了扩展项目管理选项,那么任何使用该权限方案的项目都允许项目管理员在无需依赖 Jira 管理员的情况下进行更改。
我们将首先了解 Jira 管理员如何管理和配置权限方案,然后了解项目管理员如何在项目中应用这些方案。
执行以下步骤开始管理权限方案:
-
浏览到 Jira 管理控制台。
-
选择问题标签,然后选择权限方案选项,打开权限方案页面,如下图所示:

图 9.15 – 权限方案页面
在权限方案页面,你将看到所有权限方案的列表。从这里,你可以创建新方案、编辑和删除现有方案,以及配置每个方案的权限设置。
配置权限方案
与其他方案(如工作流方案)不同,Jira 在创建新项目时不会自动创建项目特定的权限方案,而是使用一个名为默认权限方案的预配置方案。如果你的项目需要更改其权限配置,你可以更新默认权限方案中的权限(这将应用于所有使用该方案的其他项目),或者为新项目创建一个单独的权限方案。
由于权限方案中包含许多权限,通常将“默认权限方案”或其他现有权限方案克隆为新权限方案的基础,然后进行必要的修改,比从头开始创建一个新方案更为简单和高效。
一旦你决定更新现有的权限方案或创建一个新的权限方案,你就可以继续更新其权限设置,步骤如下:
-
浏览到权限方案页面。
-
点击你希望配置的权限方案的权限链接。
在此页面,你将看到一份项目级权限的列表,并附有每个权限的简短描述,以及与每个权限关联的用户、组和角色。这是项目权限设置的单页视图,你还可以控制谁能够访问由列出权限定义的每项操作。你可以在以下截图中看到此页面的概览:

图 9.16 – 配置权限方案
要授予一个或多个用户权限,请执行以下操作:
-
点击授予权限按钮或某个特定权限的编辑链接。
-
选择您希望授予用户的权限。
-
选择要授予权限的对象。点击显示更多链接以查看更多选项。
-
点击授予按钮以授予所选权限,如下图所示:

图 9.17 – 授予权限页面
如您所见,与只能将权限授予组的全局权限不同,这里有许多可用选项。虽然每个选项都有其用途,但您需要考虑如何长期维护权限。例如,虽然使用单一用户选项来快速授予请求访问的用户权限可能很有诱惑力,但如果不小心,这很容易成为维护上的噩梦。最常见的选项是组和项目角色。在这两者中,项目角色通常是最灵活的选项,因为它允许每个项目的管理员将用户或组添加到具有权限的角色中。另一方面,组通常需要 Jira 管理员或在 LDAP 情况下,其他 IT 管理员来添加或移除用户。
其他选项,如用户自定义字段值,是一种非常灵活的方式,允许最终用户控制访问。例如,您可以创建一个名为编辑者的自定义字段,并设置您的编辑问题权限,使得只有在该自定义字段中指定的用户才能编辑问题。
自定义字段不必出现在权限应用的常规视图/编辑屏幕上。例如,您可以让自定义字段出现在名为提交给经理的工作流过渡中。一旦用户选择了经理,只有该经理才有权限编辑该问题。
撤销权限和授予权限一样简单。以下是操作方法:
-
浏览到您希望配置的权限方案的编辑权限页面。
-
点击您希望撤销权限的移除链接,再次点击移除。
当您尝试撤销权限以防止用户访问某些内容时,您需要确保没有其他选项授予相同权限,且可能适用于同一用户。例如,如果您为浏览项目权限设置了单一用户和组选项,则需要确保撤销单一用户选项,并且确保该用户不属于已选择的组选项,这样就不会在权限设置中留下漏洞。
应用权限方案
一旦配置了权限方案,您可以将该方案应用到您的项目中。这里其实没有什么特殊的操作。权限方案的应用方式与通知和工作流方案类似。请按照以下步骤获取如何配置这些方案的说明:
-
浏览到您想要应用权限方案的项目管理页面。
-
从左侧面板中选择权限选项。
-
从操作菜单中选择使用不同的方案选项。
-
选择您想要使用的权限方案。
-
点击关联按钮。
权限方案会立即应用,您将能够看到权限生效。
问题安全
我们已经看到 Jira 管理员如何通过应用程序访问和全局权限限制 Jira 的通用访问,以及项目管理员如何通过权限方案为各个项目设置权限。Jira 还允许您进一步提升权限,允许普通用户设置他们所处理问题的安全级别,这就是问题安全。
问题安全允许用户通过选择预配置的一个问题安全级别来设置问题的查看权限(但不能编辑权限)。这是一个非常强大的功能,因为它允许将安全控制的权限委托给最终用户,并在一定程度上赋予他们决定谁可以查看他们的问题的权力。
从高层次上看,问题安全的工作方式与权限方案类似。Jira 管理员将首先创建并配置一组带有安全级别的安全方案。然后,项目管理员可以将这些方案应用到他们的项目中,这使得用户(拥有设置问题安全项目权限的用户)能够在方案内选择安全级别,并将其应用到各个问题上。
问题安全方案
如前所述,使用问题安全的起点是问题安全方案。Jira 管理员有责任创建和设计安全级别,以便尽可能多地重复使用。
Jira 没有预定义的问题安全方案,因此您需要从零开始创建自己的方案。请按照以下步骤创建一个新的问题安全方案:
-
浏览到 Jira 管理控制台。
-
选择问题标签,然后选择问题安全方案选项,打开问题安全方案页面,如下图所示:

图 9.18 – 问题安全方案页面
-
点击添加问题安全方案链接。
-
输入新方案的名称和描述。
-
点击添加按钮以创建一个新的问题安全方案。
由于问题安全方案不像权限方案那样定义一组安全级别,因此在创建方案后,您需要创建自己的安全级别集。
配置问题安全方案
不同于权限方案具有预定义的权限列表,在问题安全方案中,您需要定义所有需要的安全级别。每个安全级别表示用户需要满足的安全要求,才能让 Jira 允许他们访问请求的问题。请注意,尽管它们被称为安全级别,但这并不意味着在您创建的级别之间存在任何形式的层级关系。
要将新的安全级别添加到问题安全方案中,请按以下步骤操作:
-
浏览到问题安全方案页面。
-
点击您希望配置的安全方案的安全级别链接。这将带您到如下所示的页面:

图 9.19 – 问题安全级别
-
在添加安全级别部分输入新安全级别的名称和描述。
-
点击添加安全级别按钮。
您可以在方案中添加任意数量的安全级别。一种好的做法是根据团队或项目角色设计并命名您的安全级别(例如,仅限开发人员)。
与权限方案一样,一旦设置了安全级别,您需要分配谁可以访问每个安全级别。分配到安全级别的用户将有权限查看具有指定安全级别的问题。按以下步骤操作:
-
点击您希望分配用户的安全级别的添加链接。
-
选择您希望分配给安全级别的选项。
-
点击添加按钮以分配用户。
与权限方案一样,最好使用项目角色和组等选项,因为它们更加灵活,不会将安全级别与个别用户绑定,允许您通过诸如组关联等选项来控制权限。
设置默认安全级别
如果未选择安全级别,您可以设置一个默认的安全级别。这对于需要高安全性要求的项目非常有用,可以防止用户(拥有设置问题安全权限的用户)忘记为其问题分配安全级别。按以下步骤操作:
-
浏览到编辑问题安全级别页面。
-
点击您希望设置为默认的安全级别的默认链接。
设置为默认后,安全级别名称旁将显示默认。现在,当用户创建问题且未分配安全级别时,将自动应用默认安全级别。
应用问题安全方案
与权限方案一样,项目管理员将问题安全方案应用到项目中。应用问题安全方案类似于应用工作流方案,涉及一个中间迁移步骤。这是为了确保已设置安全级别的问题能够顺利迁移到方案中的新安全级别。按以下步骤操作:
-
浏览到你想要应用工作流方案的项目管理页面。
-
从左侧面板中选择问题安全选项。
-
从操作菜单中选择使用不同方案选项。
-
选择要使用的权限方案。
-
点击下一步按钮进入流程的第二步。
-
选择一个新的安全级别,应用到可能受此更改影响的现有问题。
-
点击关联按钮以应用新的问题安全方案。
现在我们已经看到如何将权限应用到项目和问题,让我们来看看如何排查由于权限设置错误而可能遇到的问题。
权限故障排除
就像通知一样,故障排除权限设置可能非常令人沮丧。为了帮助解决这个问题,Jira 还提供了一个权限助手工具,帮助管理员定位阻止用户访问某些功能的设置。
权限助手工具的工作方式类似于通知助手工具。以下是使用方法:
-
浏览到 Jira 管理控制台。
-
选择系统选项卡,然后选择权限助手选项。
-
在用户字段中指定遇到访问问题的用户。
-
指定要测试的问题。
-
选择用户没有的权限(例如,编辑问题)。
-
点击提交按钮。
你可以在以下截图中查看整个流程的概述:

图 9.20 – 权限助手页面
如前面截图所示,用户DEMO-4由于没有被项目使用的问题安全方案定义的所需仅限内部问题安全级别,并且不在权限方案所需的开发人员项目角色中,因此无法访问。
工作流安全
我们到目前为止查看的安全功能不适用于工作流。在配置 Jira 安全性时,你还需要考虑谁可以执行某些工作流转换——例如,只有经理组的用户才能在问题上执行授权转换。为了在工作流中强制执行安全性,你必须在每个转换上设置安全性,通过添加工作流条件来实现。请参阅第七章,工作流和业务流程,该章节详细讨论了工作流和条件。
密码策略
在大多数情况下,除非您使用 SSO 解决方案,否则您将使用用户名和密码组合登录 Jira,因此您希望用户选择强密码,以防止密码被轻易猜到。如果您的组织已经强制实施密码策略并集中管理认证(例如通过 LDAP),那么您只需将 Jira 与其集成即可顺利运行。但是,如果情况并非如此,Jira 提供了设置密码策略的功能,以确保用户不会选择简单易猜的密码。要为 Jira 设置密码策略,请执行以下步骤:
-
进入 Jira 管理控制台。
-
选择系统标签,然后选择密码策略。
-
从可用选项中选择,自定义选项允许您指定自己的要求。
-
点击更新按钮以应用策略。
在您应用了新的密码策略后,现有用户的密码不会受到影响。但是,如果用户尝试更改自己的密码,或者您正在创建一个新用户帐户,Jira 将确保密码符合策略要求,如果不符合要求,则会显示错误消息,如下截图所示:

图 9.21 – 密码策略
接下来,我们来看如何启用 SSO 和 SAML。
启用 SSO 和 SAML
如果您的组织使用 SAML 进行 SSO,您还可以配置 Jira 参与 SAML 会话,这样您的用户就无需每次访问应用程序时都登录 Jira。此外,如果您已将身份提供者(IdP)与双因素认证(2FA)进行配置以增强安全性,Jira 也将享受该安全性。
启用 SAML SSO 的前提条件是您必须在安全超文本传输协议(HTTPS)下运行 Jira。如果您尚未配置 Jira 设置,请参考第一章,Jira 数据中心入门,以获取详细信息。
要启用 SAML SSO 和 Jira,请按以下步骤操作:
-
进入 Jira 管理控制台。
-
选择系统标签,然后选择认证方法,这将带您到如下所示的页面:

图 9.22 – 认证方法页面
-
点击添加配置按钮。
-
输入配置的名称。最好将其命名为 IdP 和认证方法的名称,例如,Okta SAML。
-
选择认证方法——在本例中,选择SAML。
选择SAML作为认证方法后,您需要输入 SAML 配置的详细信息。SAML 配置将由您的 SAML 兼容 IdP 提供,例如 Microsoft Azure AD、Okta 和 Ping Identity。您还需要向 IdP 提供断言消费者服务 URL和受众 URL(实体 ID),以将 Jira 注册为应用程序或服务提供商(SP)。最后,您需要输入登录按钮文本的值。此文本将在最终用户尝试登录时显示,因此应该具有一定的意义——例如,使用 SSO 登录。输入完所有配置后,点击保存配置按钮。
一旦添加了您的 SAML 配置,它将作为登录选项显示在登录页面上,如以下截图所示:

图 9.23 – SAML 认证
重要提示
通过切换默认用户名和密码认证方法的在登录页面显示选项,您可以隐藏用户名和密码选项。
启用 JIT 配置
使用 SAML SSO 时,当新用户第一次通过 SSO 登录 Jira 时,可以自动为其创建用户账户。任何后续的登录都会自动更新用户账户的详细信息,保持 Jira 账户和 IdP 中的账户同步。
当您只想按需创建账户,或者不与用户目录(如 LDAP)同步以将所有账户拉入 Jira 时,这将非常有用。要启用 JIT 配置,请按以下步骤操作:
-
选择编辑选项以配置您的 SAML 认证方法。
-
开启JIT(即时)配置选项。
-
输入应用于用户显示名称、电子邮件和组的 SAML 属性。这些属性由您的 SAML IdP 提供。
-
保存您的配置。
一旦启用 JIT 配置,当新用户通过 SAML SSO 登录到 Jira 时,Jira 将根据 SAML 响应中提供的属性创建一个新账户。每次用户登录时,账户信息也将被更新。
审计系统变更
当有多个 Jira 管理员管理您的 Jira 实例时,往往会出现人多嘴杂的情况,或者您仅仅想追踪是谁做了哪些更改以及何时做的。Jira 会追踪和记录许多关键系统功能的更改,并提供完整的审计日志,记录所有正在进行的活动。这有助于您诊断问题,并且进行系统安全审计。要访问审计日志,请按照以下步骤操作:
-
浏览到 Jira 管理控制台。
-
选择系统标签,然后选择审计日志选项。
从下面的截图中可以看到,审计日志会跟踪诸如自定义字段、项目角色等更改。你可以根据日期、类型、做出更改的人以及其他选项来筛选审计日志,以帮助你缩小搜索范围:

图 9.24 – 审计日志
你还可以配置 Jira 应该如何跟踪审计日志的内容。通过访问设置选项,你可以选择希望保留审计日志的时长以及希望跟踪的内容,如下所示:

图 9.25 – 审计日志设置
默认情况下,Jira 会跟踪所有在覆盖范围标题下的项目。如果你希望 Jira 跟踪某个特定项目的更多详细信息,只需将覆盖级别选项更改为高级或完整。
人力资源项目
在前面的章节中,你已经配置了 Jira 以通过自定义的屏幕和字段来捕获数据,并通过工作流处理捕获的数据。现在你需要做的是确保你收集的数据的安全性,确保只有授权用户才能访问和操作问题。
由于你的人力资源项目是由内部团队使用的,你真正需要做的是为你的问题设置足够的权限,以确保它们包含的数据不会被其他用户错误修改。这可以通过相应的访问控制来减少人为错误的发生。
要实现此目标,你需要具备以下要求:
-
你应该知道谁属于人力资源团队
-
限制问题分配操作,仅限于提交工单的用户和人力资源团队成员
-
不允许将问题移至其他项目
-
限制工单的分配,仅限于报告人和人力资源团队成员
当然,这里还有许多其他权限可以应用;上述四个要求将是我们进一步构建的良好起点。
设置组
首先,你需要为帮助台团队成员设置一个新组。这有助于你区分普通的 Jira 用户和帮助台工作人员。按照以下步骤操作:
-
浏览到组浏览器页面。
-
在添加组部分将新组命名为
hr-team。 -
点击添加组按钮。
你还可以在此处为其他团队和部门创建更多组。由于任何人都可以在你的项目中提交工单,因此无需做出这个区分。
设置用户组关联
设置好你的团队后,你可以开始将团队成员分配到新组,步骤如下:
-
浏览到组浏览器页面。
-
点击
hr-team组。 -
使用用户选择器选择用户,或直接输入用户名并用逗号分隔。这次,我们将
admin用户添加到该组。 -
点击添加选定用户按钮。
设置权限方案
下一步是为我们的 HR 项目设置权限,因此你需要有自己的权限方案。像往常一样,最有效的做法是将默认权限方案复制作为基础,并在此基础上进行修改,因为我们这里只做一些小修改。按照以下步骤进行:
-
浏览到权限方案页面。
-
点击复制链接以复制默认权限方案。
-
将新的权限方案重命名为HR 权限方案。
-
将描述更改为
为 HR 团队项目设计的权限方案。
现在我们已经设置好了基本的权限方案,可以开始进入有趣的部分——解读需求并在 Jira 中实施。
设置权限
设置权限时,你需要做的第一件事是尽量将现有的 Jira 权限与需求匹配。在我们的案例中,我们希望做到以下几点:
-
限制谁可以分配问题
-
限制谁可以被分配到问题上
-
禁止问题被移动
查看现有的 Jira 权限列表,你可以看到我们可以通过分别使用分配问题、可分配用户和移动问题权限来满足要求。
一旦确定了需要修改的权限,下一步就是制定策略来指定应该授予权限的用户。限制移动问题选项非常简单。你只需要移除所有人的权限,从而有效地阻止任何人移动你项目中的问题。
接下来的两个要求是相似的,因为它们都授予了报告人(提交工单的用户)和我们新的hr-team组。按照以下步骤操作:
-
浏览到权限方案页面。
-
点击权限链接以访问HR 权限方案。
-
点击授予权限按钮。
-
选择分配问题和可分配用户权限。
-
选择报告人选项。
-
点击添加按钮。
-
重复上述步骤,并授予
hr-team组这两项权限。
通过一次性选择这两项权限,你快速授予了多个权限给用户。现在,你需要移除所有被授予移动问题权限的用户。目前应该只有一个用户被授予该权限,任何登录用户,但如果你有多个用户被授予权限,你将需要移除所有这些用户。以下是操作步骤:
-
浏览到权限方案页面。
-
点击权限链接以访问HR 权限方案。
-
点击移除链接,移除所有已被授予移动问题权限的用户。
就这样!你只需要几次点击就完成了所有权限要求。
将它们整合在一起
最后但同样重要的是,现在你可以戴上项目管理员的帽子,将新的权限方案应用到 HR 项目中,方法如下:
-
浏览到你的 HR 项目的项目管理页面。
-
点击权限选项并选择你的新 HR 权限方案。
-
点击关联按钮。
通过将权限方案与项目关联,您已应用了所有权限更改。现在,如果您创建一个新问题或编辑现有问题,您会注意到分配人列表不再包括 Jira 中的所有用户。
概述
在本章中,我们探讨了如何通过用户目录将 Jira 与用户仓库(如 LDAP)集成,并介绍了 Jira 的用户管理选项,包括组和项目角色。尽管它们非常相似,组是全局性的,而项目角色是特定于每个项目的。我们还介绍了 Jira 如何分层管理权限。我们详细讨论了每个权限级别以及如何管理它们。通过使用 Jira 提供的不同权限控制选项,我们设计了我们的权限控制方案,以更好地管理用户对项目和问题的访问。
在下一章中,我们将采取不同的方法,开始探讨 Jira 的另一个强大用途——通过报告提取数据。
第十章:搜索、报告与分析
从 第二章,使用 Jira 进行商业项目,到 第六章,屏幕管理,我们已经探讨了如何将 Jira 作为信息系统来从用户那里收集数据。在 第七章,工作流与业务流程,以及 第八章,邮件与通知 中,我们讨论了 Jira 提供的一些功能,这些功能通过工作流和通知为收集的数据增值。在本章中,我们将探讨方程式的另一半——获取数据并将其作为有用的信息呈现给用户。
本章结束时,您将涵盖以下主题:
-
在 Jira 中使用搜索界面
-
了解 Jira 中可用的不同搜索选项
-
了解筛选器以及如何与其他用户共享搜索结果
-
在 Jira 中生成报告
-
通过仪表板和小工具共享信息
本章将具体探讨以下主题:
-
Jira 中的搜索界面和选项
-
处理搜索结果
-
筛选器
-
报告
-
仪表板
-
小工具
-
HR 项目
Jira 中的搜索界面和选项
作为一个信息系统,Jira 配备了多种功能和选项,用于搜索数据并将搜索结果呈现给最终用户。Jira 提供了三种执行搜索的选项:
-
快速/文本搜索:通过简单的基于文本的搜索查询,您可以快速搜索问题
-
基础/简单搜索:通过直观的 UI 控件,您可以指定问题字段的搜索条件
-
高级搜索:通过 Jira 自己的搜索语言——Jira 查询语言(JQL),您可以构建强大的搜索查询
然而,在我们开始查看所有搜索选项的详细信息之前,首先让我们看一下您在 Jira 中执行搜索时将使用的主要搜索界面。
问题导航器
问题导航器是您在 Jira 中执行大部分搜索操作的主要界面。您可以通过点击顶部菜单栏中的问题菜单,然后选择搜索问题选项来访问它。
问题导航器分为几个部分:
-
第一部分是您将指定所有搜索条件的地方,例如您要搜索的项目和感兴趣的问题类型
-
第二部分显示您的搜索结果
-
第三部分包括您可以对搜索结果执行的操作,如将其导出为多种格式
-
第四部分和最后一部分列出了多个预配置和用户创建的筛选器
当您第一次访问问题导航器时,您将处于基础搜索模式。下图显示了该模式下的问题导航器:

图 10.1 – 问题导航器
在基本搜索中,如你所见,你通过 UI 控件指定搜索条件,为每个字段选择值。
注意
如果你之前访问过问题导航器并选择了使用不同的搜索选项,例如高级搜索,那么 Jira 会记住这一设置并改为打开高级搜索。
快速搜索
我们将要查看的第一个搜索选项是快速搜索功能,它允许你根据问题的摘要、描述或评论中包含的文本执行快速简单的搜索。这使你能够在 Jira 中对所有问题执行快速的基于文本的搜索。
快速搜索功能具有几个额外的特点,让你通过智能查询,以最少的输入进行更专业化的搜索。Jira 提供了内置查询的列表,你可以使用这些查询作为快速搜索词,以便快速调出具有特定问题类型和/或状态的问题。以下表格包含一些有用的查询(你可以在confluence.atlassian.com/jiracoreserver/quick-searching-939937704.html找到完整的快速搜索参考):
| 智能查询 | 结果 |
|---|---|
问题关键字(例如,HD-12) |
直接带你到具有指定问题关键字的问题 |
项目关键字(例如,HD) |
显示在问题导航器页面上,指定关键字的项目中的所有问题 |
my或my open bugs |
显示所有分配给当前登录用户的问题 |
overdue |
显示所有今天之前到期的问题 |
具有特定状态的问题(例如,open) |
显示所有具有指定状态的问题 |
具有特定解决方案的问题(例如,resolved) |
显示所有具有指定解决方案的问题 |
表 10.1 – 智能查询
你可以将这些查询组合起来,在 Jira 中创建快速而强大的搜索。例如,以下查询将返回所有已解决的问题,HD是项目的关键字:
HD resolved
执行快速搜索比基本搜索或高级搜索更简单。你只需在右上角的快速搜索框中输入你想要搜索的文本或智能查询,然后按Enter键。
正如你所看到的,快速搜索的目的是让你以最快的方式找到你所需要的内容。通过智能查询,你能够执行的不仅仅是简单的基于文本的搜索。
需要注意的是,快速搜索是区分大小写的。例如,使用My进行搜索而不是my将变成一个简单的文本搜索,而不是查找分配给当前登录用户的问题。
基本搜索
这也被称为简单搜索。基本搜索界面允许你选择希望用于搜索的字段,例如问题状态,并为这些字段指定值。通过基本搜索,Jira 会显示可搜索字段的列表,并提示你为所选字段提供可能的搜索值。对于像状态和基于选择列表的自定义字段来说,这非常方便,因为你无需记住所有可能的选项。
例如,如下截图所示,我们正在搜索Demonstration项目中状态为待办的问题。为了帮助你,Jira 会列出所有可用的状态供你选择:

图 10.2 – 基本搜索
在使用基本搜索界面时,Jira 会默认显示项目、问题类型、状态和受让人等字段。你可以点击更多下拉选项,添加你希望用于搜索的字段。执行以下步骤以构建并运行基本搜索:
-
浏览到问题导航器页面。如果你看不到基本搜索界面且显示了基本链接,点击它以切换到基本搜索。
-
选择并填写基本搜索界面中的字段。你可以点击更多来添加更多搜索条件。
注意
每当你更改搜索条件时,Jira 会自动更新搜索结果。
在使用基本搜索时,需要记住的一点是,应用于所选项目和问题类型的配置,例如工作流状态和自定义字段的上下文,都会被考虑在内。(请参见第五章,字段管理,了解字段配置。)例如,如果一个自定义字段设置为仅适用于特定的项目和/或问题类型,你必须选择一个项目和问题类型,才能在搜索中显示该自定义字段。
使用 JQL 进行高级搜索
基本搜索非常有用,并能满足大多数用户的搜索需求。然而,它仍然存在一些限制。一个限制是,基本搜索允许你执行基于包含逻辑的搜索,而不支持排除逻辑。例如,如果你需要搜索所有项目中的问题,除了一个特定的项目外,你必须选择每个项目,排除项目则无法通过基本搜索界面指定。
这时高级搜索就派上用场了。使用高级搜索时,你将不再使用基于字段选择的界面,而是使用一种叫做 JQL 的查询语言。
JQL 是由 Atlassian 开发的自定义查询语言。如果你熟悉数据库(如 MySQL)中使用的结构化查询语言(SQL),你会发现 JQL 与 SQL 的语法相似;然而,JQL 并不完全等同于 SQL。
JQL 和 SQL 之间最显著的区别之一是 JQL 不以 SELECT 语句开始。一个 JQL 查询由一个字段、一个操作符,然后是一个值,如 assignee = john 或一个函数(返回一个值),如 assignee = currentUser() 组成。
你不能在 JQL 查询中指定返回哪些字段,这与 SQL 不同。你可以将 JQL 查询看作是普通 SQL SELECT 语句中的 WHERE 关键字后面的部分。以下表格总结了 JQL 中的各个组件:
| JQL 组件 | 描述 |
|---|---|
| 关键字 | JQL 中的关键字是一些特殊的保留字,具有以下功能:将查询连接在一起,如 AND;确定查询的逻辑,如 NOT;具有特殊含义,如 NULL;提供特定功能,如 ORDER BY |
| 操作符 | 操作符是符号或单词,用于评估左侧字段的值以及右侧要检查的值。例如:等于:=;大于:>;IN:检查字段值是否在括号中指定的多个值之一 |
| 字段 | 字段是 Jira 系统和自定义字段。在 JQL 中使用时,字段的值用于评估查询。 |
| 函数 | JQL 中的函数执行特定的计算或逻辑,并将结果作为值返回,可以用于与操作符一起进行评估。 |
表 10.2 – JQL 组件
每个 JQL 查询本质上由一个或多个组件组成。一个基本的 JQL 查询包含以下三个元素:
-
字段:这可以是一个问题字段(例如状态)或自定义字段。
-
=或>等操作符,用于满足某些条件,才能在结果中返回问题。 -
Bug) 或返回一个值的函数。如果你搜索的值包含空格,必须将其放在引号中——例如,issuetype = "New Feature"。
查询可以通过使用逻辑运算符 AND 或 OR 等关键字将其连接在一起,形成一个更复杂的查询。例如,获取所有状态为 Done 的问题的基本查询可能类似于以下内容:
status = Done
获取所有类型为 Bug 且分配给当前登录用户的更复杂查询可能类似于以下内容(其中 currentUser() 是一个 JQL 函数):
issuetype = Bug and status = Resolved and assignee = currentUser()
讨论每个 JQL 函数和操作符超出了本书的范围,但你可以通过点击高级搜索界面中的帮助图标获取完整参考。完整的 JQL 语法参考可以在 confluence.atlassian.com/jiracoreserver0822/advanced-searching-1141970390.html 找到。
你可以通过 问题导航器 页面访问高级搜索界面,方法如下:
-
浏览到 问题导航器 页面。
-
如果你还没有进入高级模式,点击右侧的 高级 链接。
-
构建你的 JQL 查询。
-
点击 搜索 按钮或按下键盘上的 Enter 键。
由于 JQL 结构复杂,且需要一些时间来熟悉,因此高级搜索界面提供了一些非常有用的功能,帮助你构建查询。该界面具有自动补全功能(可以在 常规配置 设置中关闭),帮助你选择关键词、值和运算符。
它还会实时验证你的查询,并告知你查询是否有效,如下图所示:

图 10.3 – 高级搜索
在运行查询时,你可以通过点击 基本/高级 链接在基本搜索和高级搜索之间切换,Jira 会自动将你的搜索条件转换为 JQL,反之亦然。事实上,这是一个非常有用的功能,可以帮助你在刚开始学习时,通过先构建基本搜索,再查看相应的 JQL,来学习 JQL 的基本语法。
提示
在简单搜索和高级搜索之间切换,可以帮助你熟悉 JQL 的基础知识。
然而,你需要注意,并不是所有的 JQL 都能转换为基本搜索,因为使用 JQL 可以做的事情比基本搜索界面要多得多。如果当前的 JQL 无法转换为基本搜索界面,基本/高级切换链接将被禁用。
现在我们已经了解了如何在 Jira 中执行搜索,我们将介绍如何使用和处理搜索结果,首先从问题导航器中可用的各种功能和操作开始。
处理搜索结果
问题导航器不仅可以让你运行搜索并呈现结果,还具备其他一些功能,允许你执行以下操作:
-
以不同的视图选项显示搜索结果
-
以不同格式导出搜索结果
-
选择你想在结果中查看的列
-
与其他人共享你的搜索结果
-
创建和管理过滤器
我们将在接下来的章节中详细探讨这些功能。
切换结果视图
问题导航器可以以两种不同的视图显示搜索结果。默认视图是 详细视图,在该视图中,结果中的问题列在左侧,当前选中的问题的详细信息显示在右侧。此视图允许你选择并查看问题的详细内容,还可以编辑问题。
第二种视图是 列表视图,在该视图中,问题以表格形式列出。问题的字段值以表格列的形式展示。正如你稍后会看到的,你可以配置表格的列以及它们的排序方式。你可以通过从 视图 菜单中选择选项,在 基本/高级 选项旁边切换这两种视图。
自定义列布局
如果你使用 列表视图 选项来显示搜索结果,你可以配置要显示的字段列。在 Jira 中,你可以为所有个人搜索以及每个搜索级别上的过滤器自定义问题导航器(我们将在本章稍后讨论)。如果你是管理员,你可以为所有用户设置默认的列布局(每个用户的个人列布局设置可以覆盖此设置)。
执行以下步骤以自定义全局问题导航器的列布局:
-
浏览到 问题导航器 页面。
-
将你的结果视图更改为 列表视图。
-
选择 列 下拉菜单和列布局选项,如下所示:

图 10.4 – 配置搜索列
以下选项可用于布局列:
-
我的默认设置:此列布局将应用于你所有的搜索
-
过滤器:此列布局将仅应用于当前过滤器
-
系统:此列布局将应用于所有搜索
要添加或删除字段列,只需勾选或取消勾选列表中的字段。要重新排列列布局,可以将列向左或向右拖动到合适的位置。
导出搜索结果
在问题导航器中,Jira 允许你将搜索结果导出为多种格式,如 MS Word 和 CSV。Jira 还可以以不同的格式展示搜索结果,如 XML 或打印友好的页面。
当你选择诸如 Word 或 Excel 等格式时,Jira 将生成适当的文件并让你直接下载。执行以下步骤将结果导出为不同的格式:
-
浏览到 问题导航器 页面。
-
执行一次搜索。
-
选择右上角的 导出 下拉菜单。
-
选择你希望看到的搜索结果格式,如下所示:

图 10.5 – 导出搜索结果
根据你选择的格式,一些格式将在屏幕上显示(例如可打印格式),而其他格式则会提示你弹出下载对话框(例如 Excel)。
分享搜索结果
完成搜索后,你可能想要与同事分享结果。现在,你可以告诉同事运行相同的搜索,或者正如我们将在本章后面看到的,保存你的搜索作为过滤器并与其他人分享。另一种更方便的方式是使用内置的共享功能,特别是当这是一次性的分享时。
要共享当前的搜索结果,你只需点击右上角的共享按钮,输入用户的名字或电子邮件地址(如果他们不是 Jira 用户)。你可以添加多个用户或电子邮件地址,以便与多个人员共享。此外,你还可以添加简短的备注,告诉人们你为什么要共享这些搜索结果,Jira 将会向所有选定的用户和电子邮件地址发送电子邮件。
过滤器
在你运行搜索查询后,有时保存查询以便后续使用是很有用的。例如,你可能已经为多个项目创建了查询,列出了每个项目中所有待完成的开放问题和新特性,并且这些任务有一个特定的完成日期,这样你可以跟踪它们的进展。
每次你想查看状态时,不必重新创建此搜索查询,你可以将查询保存为过滤器,之后可以在后续阶段重复使用。你可以把过滤器看作是可以重复使用的命名搜索查询。
除了能够快速生成报告而不必重新创建查询之外,将搜索查询保存为过滤器还为你提供了其他好处:
-
与其他用户共享已保存的过滤器
-
使用过滤器作为生成报告的数据源
-
使用过滤器来支持敏捷看板(参见第三章,在 Jira 中使用敏捷项目)
-
在仪表板上显示结果作为小工具
-
订阅搜索查询,以便将结果自动通过电子邮件发送给你
创建和使用过滤器作为小工具和敏捷看板数据源时需要注意的几点事项如下:
-
当你为敏捷看板创建过滤器时,请确保在搜索查询中选择相关的项目。
-
当你为小工具和敏捷看板创建过滤器时,请确保与你共享过滤器的用户组与访问小工具和看板的用户组相同,否则他们将看不到任何结果。
我们将在后续部分探讨你可以使用过滤器执行的所有高级操作,并解释一些新的术语和概念,如仪表板和小工具。但是,首先让我们看看如何创建和管理过滤器。
创建过滤器
要创建一个新的过滤器,你首先需要构建并执行搜索查询。你可以使用 Jira 提供的三种搜索选项中的任何一种,但请注意,搜索结果必须将你带到问题导航器页面。如果你使用快速搜索选项并按问题键搜索,则无法创建过滤器。
一旦你执行了查询,无论是否有返回结果,你都可以基于执行的搜索创建一个新的过滤器,具体操作如下:
-
浏览到问题导航器页面。
-
在 Jira 中构建并执行搜索查询。
-
点击顶部的另存为按钮。
-
为过滤器输入一个有意义的名称。
-
点击提交按钮以创建过滤器。
创建过滤器后,你的所有搜索参数将被保存。未来当你重新运行已保存的过滤器时,Jira 将基于相同的参数检索更新后的结果。
请注意,如果你已经创建了过滤器,需要点击新建过滤器按钮才能开始新的搜索。由于问题导航器会记住你上次的搜索记录,如果你没有开始新的搜索,而是继续使用现有的过滤器,那么实际上你是在修改当前的过滤器。
管理过滤器
随着创建的过滤器数量增加,你将需要一个集中管理和维护它们的地方。
你可以通过问题导航器访问管理过滤器页面,方法如下:
-
浏览到问题导航器页面。
-
点击左侧的查找过滤器链接。你也可以通过顶部导航栏访问管理过滤器页面。
-
从问题中调出下拉菜单。
-
点击列表底部的管理过滤器选项。
管理过滤器页面按左侧标签中的设置将过滤器分为三大类,并提供一个选项来搜索现有过滤器:

图 10.6 – 管理过滤器页面
-
收藏夹:此选项列出了在名称旁有灰色星标的过滤器。这些过滤器将出现在问题下拉菜单中。你可以通过直接点击星标来将过滤器标记为收藏。
-
我的:此选项列出了由你创建的过滤器。
-
热门:此选项列出了被最多人标记为收藏夹的前 20 个过滤器。
-
搜索:此选项搜索其他用户共享的现有过滤器。
上面的截图还显示了所有 PPM 问题和本周到期(DEMO)过滤器被标记为收藏夹。
共享过滤器
创建过滤器后,你可以更新其详细信息,例如名称和描述、共享权限以及搜索参数。默认情况下,新创建的过滤器不共享,这意味着它们仅对你可见。要与其他用户共享你的过滤器,请执行以下步骤:
-
浏览到管理过滤器页面。
-
点击你希望共享的过滤器的编辑选项。
-
选择一个组/项目角色来共享过滤器,并点击添加。
-
点击保存按钮以应用更改。
以下截图显示了此页面:

图 10.7 – 共享过滤器
注意
确保在选择要共享过滤器的组或项目后,点击添加链接。
为了能够共享过滤器,你还需要具有创建共享对象的全局权限(请参考第九章,保护 Jira,了解更多关于全局权限的信息)。
当你分享过滤器时,你可以选择谁拥有查看权限,这意味着可以查看并运行你的过滤器(搜索结果仍然由项目和问题权限控制),以及谁可以修改你的过滤器。如我们稍后将看到的,Jira 管理员也可以更改共享过滤器的所有权。
订阅过滤器
你在第八章《电子邮件与通知》中看到,Jira 能够在某些事件发生时向用户发送电子邮件,以便保持更新。通过过滤器,Jira 将此功能进一步扩展,允许用户订阅过滤器。
当你订阅一个过滤器时,Jira 会根据该过滤器运行搜索,并通过电子邮件将结果发送给你。你可以指定一个时间表,设置 Jira 应该何时以及多频繁地执行此操作。例如,你可以设置一个订阅,让 Jira 每天早上在你上班前向你发送结果,这样当你打开邮件收件箱时,你就会看到一份需要你关注的完整问题列表。
要订阅过滤器,你需要能够看到该过滤器(无论是由你创建的,还是其他用户与您共享的)。以下是你可以这样做的方式:
-
浏览到管理过滤器页面。
-
找到你希望订阅的过滤器。
-
点击过滤器的订阅链接。
-
选择订阅的接收者。通常,这将是你自己(个人订阅)。你也可以通过选择一个组来为其他人创建订阅。
-
如果你希望在过滤器没有返回结果时仍然收到电子邮件,请勾选即使没有发现问题,也发送此过滤器的电子邮件选项。这对于确保你没有收到邮件不是由于其他错误引起的非常有用。
-
指定一个频率和时间,Jira 可以在该时间向你发送电子邮件。
这将在以下截图中显示:

图 10.8 – 订阅过滤器
-
点击订阅按钮。这将创建一个订阅,并将你带回管理过滤器页面。订阅链接会增加订阅的数量;例如,1 个订阅。
-
点击1 个订阅链接,验证订阅是否已正确创建。
-
点击立即运行链接来测试你新的订阅。完成后,你应该在你的订阅页面上看到如下内容:

图 10.9 – 查看订阅
删除过滤器
当不再需要过滤器时,您可以删除它。然而,由于您可以与其他用户共享过滤器,并且他们可以创建订阅,您需要记住过滤器可能被敏捷看板或其他地方使用,以及删除过滤器可能影响到其他用户。幸运的是,当您删除过滤器时,Jira 会通知您是否有其他人正在使用该过滤器。以下是操作方法:
-
浏览到管理过滤器页面。
-
点击您希望删除的过滤器的删除链接。这将弹出删除过滤器确认对话框。
-
确保移除过滤器不会影响其他用户。
-
点击删除按钮以移除该过滤器。
Jira 会通知您该过滤器是否正在被 Jira 使用,或者是否有用户订阅了它。您可以点击查看订阅者列表,然后决定是否继续删除该过滤器并通知其他用户,或者将过滤器保留在 Jira 中。
更改过滤器所有权
通常,Jira 仅允许过滤器的所有者对其进行更改,除非将编辑权限授予其他用户。这通常对私有过滤器不会造成问题,但当过滤器与其他用户共享或用于敏捷看板或仪表板小部件时,当所有者离开公司时可能会成为问题。
因此,Jira 管理员可以更改共享过滤器的所有权。按照以下步骤更改过滤器的所有权:
-
浏览到 Jira 管理控制台。
-
选择系统标签,然后选择共享过滤器选项。
-
搜索您希望更改所有权的过滤器。
-
点击更改所有者选项。
-
搜索并选择一个用户作为新的所有者。
-
点击更改所有者按钮。
如下截图所示:

图 10.10 – 更改过滤器所有权
过滤器是 Jira 中非常有用的功能——不仅可以用它们访问之前的搜索并与他人共享,正如我们在后续章节中会看到的那样,Jira 还允许您基于过滤器运行报告并创建仪表板。让我们来看看。
报告
除了 JQL 和过滤器,Jira 还提供了专门的报告,帮助您更好地了解项目、问题、用户等的统计信息。Jira 中的大多数报告是为特定项目的问题提供报告的;然而,一些报告可以跨多个项目使用,配合过滤器。
生成报告
所有 Jira 报告都可以从特定项目的浏览项目页面访问,无论该报告是特定项目的还是全局的。两种报告类型的区别在于,全局报告允许您选择过滤器作为数据来源,而特定项目的报告则会根据您所在的项目预设数据来源。
在生成报告时,你通常需要提供几个配置选项。例如,你可能需要选择一个筛选器来提供报告数据,或者选择一个字段进行报告。每个报告的配置选项不同,但始终会有提示和建议来帮助你理解每个选项的含义。
执行以下步骤以创建报告;首先需要进入项目的浏览页面:
-
选择你想要报告的项目。
-
从左侧面板中点击报告选项。
-
选择你想要创建的报告。可用的报告类型会根据项目类型而有所不同。
-
指定报告的配置选项。
-
点击下一步按钮以创建报告。
Jira 提供了多种专门针对敏捷项目设计的报告,如燃尽图,以及 Jira Core 提供的基本图表集,例如平均年龄报告和饼图报告。可用的报告类型取决于项目的类型。Scrum 和 Kanban 项目将在敏捷类别下提供报告,如下图所示:

图 10.11 – 报告
让我们创建一个饼图报告,如下所示:
- 我们首先选择要生成的报告类型,通过从 Jira 提供的可用报告类型列表中选择,如下图所示:

图 10.12 – 选择报告
- 然后我们将配置必要的报告参数。在这种情况下,你需要指定是基于项目还是现有筛选器生成报告;默认情况下,当前项目将被预选。你还需要指定将报告的字段,如下图所示:

图 10.13 – 配置报告
- 配置完报告并点击下一步按钮后,Jira 会生成报告并在屏幕上展示,如下图所示:

图 10.14 – 生成的报告
报告类型决定了报告的布局。有些报告会附带图表(例如,饼图报告),而其他报告则会有表格布局(例如,单级分组报告)。有些报告甚至提供将内容导出为 Microsoft Excel 等格式的选项(例如,时间跟踪报告)。
报告是基于特定项目生成的,并且是按需运行的。Jira 还允许你创建仪表板,可以跨多个项目显示数据,并且可以动态更新,始终显示最新数据。
仪表板
仪表板是你访问 Jira 时看到的第一个页面。仪表板上托管了被称为部件的迷你应用程序,这些部件提供来自你的 Jira 实例的各种数据和信息。Jira 能够通过这些部件在仪表板上展示许多功能,比如筛选器和报告,因此它是为用户提供相关或感兴趣信息的快速单页视图的绝佳方式。
在设计仪表板时,你应该始终考虑目标用户,并选择最适合的部件。例如,面向管理层的仪表板可能包含更多图表,而面向支持团队的仪表板则可以使用更多列表样式的部件。
管理仪表板
当你首次安装 Jira 时,默认看到的仪表板叫做系统仪表板,它已经预配置了显示一些有用的信息,例如所有分配给你的任务。以下是如何管理仪表板的步骤:
-
由于每个人都共享系统仪表板,作为普通用户,你无法对其进行修改,但你可以创建自己的仪表板。每个仪表板的功能都是独立配置的。
-
从仪表板下拉菜单中选择。
-
选择管理仪表板选项。这将带你进入管理仪表板页面,如下图所示:

图 10.15 – 管理仪表板页面
在此页面,你可以编辑和维护由你创建的仪表板,搜索其他用户创建并共享的仪表板,并将其标记为收藏夹,这样它们将作为标签显示,方便快速访问。
当通过点击其名称前的星形图标将仪表板标记为收藏时,你可以通过点击顶部菜单栏中的仪表板链接访问该仪表板。如果你有多个收藏的仪表板,它们会在标签中列出,你可以选择显示其中的任何一个。
创建仪表板
默认的系统仪表板无法被普通用户修改,因此,如果你希望拥有一个展示专属于你的信息的个性化仪表板,你需要创建一个新的仪表板。请按照以下步骤创建新的仪表板:
-
浏览到管理仪表板页面。
-
点击创建新仪表板按钮。
-
为新的仪表板输入有意义的名称和描述。
-
选择是否希望从现有仪表板复制,或者从空白仪表板开始创建。这类似于从头创建一个新的屏幕或复制一个现有屏幕。
-
通过点击星形图标,选择是否将新的仪表板设置为收藏仪表板(以便于快速访问)。
-
选择是否希望与其他用户共享仪表板。如果你选择所有人选项将仪表板共享给每个人,那么未登录的用户也能查看你的仪表板。
-
点击添加按钮以创建仪表板。
以下截图展示了如何从头开始创建一个新仪表盘(空白仪表盘),并允许 Hummingbird 项目的所有成员查看,允许 hummingbird-managers 组的成员编辑:

图 10.16 – 创建新仪表盘
要能够共享仪表盘,你还需要拥有创建共享对象的全局权限(请参阅第九章,确保 Jira 安全性,以获取有关全局权限的更多信息)。
创建新仪表盘后,你将立即进入该仪表盘。作为新仪表盘的所有者,你将能够编辑其布局并向其中添加小部件。我们将在下一节中查看这些配置选项。
配置仪表盘
所有自定义创建的仪表盘在创建后都可以进行配置。作为所有者,你可以配置仪表盘的两个方面:
-
布局:描述仪表盘页面如何划分
-
内容:描述要添加到仪表盘的小部件
为仪表盘设置布局
你必须是该仪表盘的所有者(由你创建)才能设置布局。设置仪表盘的布局非常简单直接。如果你是所有者,在查看仪表盘时,右上角会有编辑布局选项。
Jira 提供了五种布局供你选择。这些布局在仪表盘页面的屏幕空间划分方式上有所不同。默认情况下,新的仪表盘使用第二种布局,将其分为两个相等大小的列。按照以下步骤为仪表盘设置布局:
-
从仪表盘中调出下拉菜单。
-
选择你希望编辑布局的仪表盘。
-
点击右上角的编辑布局选项。这将弹出编辑布局对话框。
-
选择你希望更改的布局,如下所示:

图 10.17 – 选择仪表盘布局
从对话框中选择的布局将立即应用到仪表盘。任何现有内容的大小和位置将自动调整,以适应新的布局。在确定好仪表盘的布局后,你可以开始向仪表盘添加内容,称为小部件。我们将在本章后面介绍小部件。
更改仪表盘的所有权
与过滤器一样,Jira 管理员可以将仪表盘的所有权更改为其他用户,以防原始用户已离开组织。按照以下步骤更改仪表盘的所有权:
-
进入 Jira 管理控制台。
-
选择系统标签,然后选择共享仪表盘选项。
-
搜索你希望更改所有权的仪表盘。
-
点击更改所有者选项。
-
搜索并选择一个将成为新所有者的用户。
-
点击更改所有者按钮,如下图所示:

图 10.18 – 更改仪表盘所有权
小工具
小工具就像是生活在 Jira 仪表盘上的迷你应用程序。它们类似于我们今天大多数智能手机上的小部件,或者大多数门户应用程序中的端口。每个小工具都有自己独特的界面和行为。例如,饼图小工具将数据以饼图形式展示,而分配给我小工具则在表格中列出分配给当前用户的所有未解决问题。小工具是另一种通过搜索过滤器的方式,通过可视化的方式向最终用户展示结果。Jira 默认提供了许多有用的小工具,你可以通过第三方应用程序向 Jira 添加更多小工具。我们将在第十二章中讲解如何安装和管理第三方应用程序。
让我们从如何将小工具添加到仪表盘开始。
将小工具放置到仪表盘上
所有小工具都列在小工具目录中。Jira 提供了许多有用的小工具,例如你在系统仪表盘上看到的分配给我小工具。以下截图展示了小工具目录,列出了 Jira 中所有捆绑的小工具:

图 10.19 – 小工具目录
执行以下步骤,将小工具放置到你的仪表盘上:
-
从仪表盘中调出下拉菜单。
-
选择一个你希望添加小工具的仪表盘。
-
点击右上角的添加小工具选项。这将打开小工具目录窗口。
-
点击加载所有小工具链接,使所有小工具显示。你只需要在首次加载小工具目录时执行此操作。
-
点击添加小工具按钮,添加你希望添加的小工具。
-
关闭对话框以返回仪表盘。
根据你选择的小工具,有些小工具可能需要配置额外的选项。对于这些小工具,你将在仪表盘上看到它们的配置界面。填写选项后,点击保存按钮。
让我们看一下以下的配置界面截图,展示过滤结果小工具:

图 10.20 – 配置小工具
在配置界面中,你可以选择一个搜索过滤器来显示并控制显示的结果数量及要包含的字段。一个常见的参数是自动刷新选项,你可以决定小工具刷新内容的频率,或者如果不勾选,它将保持静态。每当你刷新整个仪表盘时,所有小工具都会加载最新数据,但如果你在仪表盘上停留较长时间,每个小工具可以自动刷新其数据,这样内容就不会随着时间变得过时。
当你添加小工具时,它通常会添加到仪表盘的第一个可用位置。有时候,这可能不是你希望小工具显示的位置,在其他情况下,你可能会想要不时地移动现有的小工具。作为仪表盘的所有者,你可以通过拖拽小工具到所需位置,轻松地在仪表盘上移动小工具。
编辑小工具
在你首次将小工具放置在仪表盘上并配置它后,小工具将记住这些配置并用它来呈现内容。你可以更新配置细节,甚至调整其外观和感觉,如下所示:
-
浏览到包含你希望更新的小工具的仪表盘。
-
将鼠标悬停在小工具上并点击右上角的下箭头按钮。这将弹出小工具配置菜单。
-
点击编辑选项。
-
这将把小工具切换到配置模式。
-
更新配置选项。
-
点击保存按钮以应用更改。你可以在这里看到一个可能的样例:

图 10.21 – 编辑小工具
上述截图展示了已分配给我小工具的编辑菜单。有些小工具会有一个刷新选项。由于小工具是通过 AJAX 异步获取数据的,你可以使用此选项来刷新小工具本身,而无需刷新整个页面。编辑、删除和颜色选项仅对仪表盘的所有者可用。
删除小工具
作为仪表盘的所有者,你可以在不再需要时从仪表盘上移除现有的小工具。当你从仪表盘中移除小工具时,请注意,所有有权限访问你仪表盘的其他用户将无法再看到它。执行以下步骤删除小工具:
-
浏览到包含你希望删除的小工具的仪表盘。
-
将鼠标悬停在小工具上,并点击右上角的下箭头按钮。这将弹出小工具配置菜单。
-
点击删除选项。
-
在提示时确认移除操作。
一旦移除,该小工具将从仪表盘消失。如果你选择稍后重新添加相同的小工具,你将需要重新配置它。
这涵盖了 Jira 中的搜索、报告和仪表盘。在下一节中,我们将为我们的 HR 项目构建一个自定义仪表盘。
HR 项目
在我们之前的章节和练习中,我们构建并定制了一个 Jira 项目来收集用户的数据。现在我们需要做的是处理并将这些数据呈现给用户。我们在这次练习中要达到的目标是为我们的 HR 团队设置一个仪表盘,其中包含有用的信息,如统计数据和问题列表,这些可以帮助我们的团队成员更好地组织自己,为其他部门提供更好的服务。
设置过滤器
第一步是创建一个有用的过滤器,能够与团队的其他成员共享,并且还充当我们的小工具的数据源。我们将使用高级搜索构建我们的搜索。按以下步骤操作:
-
浏览到问题导航器页面。
-
点击高级链接切换到使用 JQL 的高级搜索。
-
在 JQL 搜索查询中输入
project = HR and issuetype in ("New Employee", Termination) and resolution is empty order by priority code。 -
点击搜索按钮执行搜索。
-
点击保存为按钮,弹出保存过滤器对话框。
-
将过滤器命名为未解决的 HR 任务,然后点击提交按钮。
-
通过点击详情链接旁边的保存为按钮,将过滤器与在第九章中设置的
hr-team组共享,章节名称为保护 Jira。
该过滤器搜索并返回来自我们 HR 项目的“新员工”和“离职”类型的未解决问题列表。搜索结果按优先级排序,用户可以根据排序判断紧急程度。正如你在后续步骤中将看到的,这个过滤器将作为你的小工具数据源,用于在仪表板上呈现信息。
设置仪表板
下一步是为你的帮助台团队创建一个新的仪表板。你需要一个专门为你的团队设计的仪表板,这样你可以方便地共享信息。例如,你可以在一个大屏幕投影仪上展示所有需要处理的高优先级事件。按以下步骤操作:
-
浏览到管理仪表板页面。
-
点击创建新仪表板按钮。
-
将新仪表板命名为人力资源。
-
选择一个空白仪表板作为基础。
-
将新仪表板标记为收藏。
-
将仪表板与
hr-team组共享。 -
点击添加按钮创建仪表板。
在我们的示例中,我们将使用你新仪表板的两个默认列布局。或者,你也可以尝试其他布局,找到最适合你需求的布局。
设置小工具
现在你已经设置好了门户仪表板页面并与团队的其他成员共享,你需要开始向仪表板中添加一些有用的信息。一个例子是显示所有待处理的未解决的事件。Jira 有一个分配给我的小工具,可以显示所有分配给当前登录用户的问题,但你需要的是一个不考虑事件分配人的全局列表。
幸运的是,Jira 还提供了一个过滤器结果小工具,能够根据搜索过滤器显示搜索结果。既然你已经创建了一个过滤器,返回所有未解决的任务在你的 HR 项目中,那么两者结合可以很好地解决你的问题。按照以下步骤操作:
-
浏览到你刚刚创建的
人力资源仪表板。 -
点击右上角的添加小工具选项。
-
点击添加小工具按钮,选择筛选结果小工具。
-
选择你创建的未解决的 HR 任务筛选器。
-
为显示的列选项添加任何你希望添加的额外字段。
-
启用
15分钟。 -
点击保存按钮。
这将向你的新仪表板添加一个新的筛选结果小工具,以你的筛选器作为数据源。该小工具将每 15 分钟自动刷新其内容,因此你无需一直手动刷新页面。你可以向仪表板添加其他小工具,使其更加信息丰富且实用。其他有用的小工具包括活动流和分配给我小工具。
汇总
这基本上就是你在 Jira 中设置和共享仪表板所需做的一切。添加小工具后,你将能够看到它的运行效果。这样做的好处是,由于你已经将仪表板共享给团队中的其他成员,他们也能看到该仪表板。团队成员可以搜索你的新仪表板,或将其标记为收藏,以便将其添加到他们的仪表板列表中。
你需要记住,如果你使用筛选器作为小工具的数据源,你还必须与其他用户共享该筛选器;否则,他们将无法看到小工具中的任何内容。
总结
本章中,我们介绍了用户如何搜索和报告他们在 Jira 中输入的数据,这对于任何信息系统来说都是一个基本组件。Jira 通过提供多种搜索选项,包括快速搜索、简单搜索和高级搜索,为用户提供了强大的搜索功能。你可以通过创建筛选器来保存并命名你的搜索,这些筛选器可以在以后重新运行,从而避免重新创建相同的搜索。
Jira 还允许你创建可配置的项目报告或从搜索筛选器返回的结果。信息可以通过仪表板与他人共享,仪表板作为一个门户,方便用户快速查看保存在 Jira 中的数据。
在下一章,我们将介绍 Jira 家族中的另一款应用——Jira Service Desk,它帮助将 Jira 转变为一个功能全面的服务台,具备强大的功能,如客户门户和 SLA 管理。
第十一章:Jira 服务管理
Jira 最初是为了帮助开发人员跟踪软件缺陷而设计的,随着时间的推移,凭借其灵活性和可扩展性,逐渐发展成一种通用的任务跟踪工具,所有组织都可以使用。因此,许多组织开始利用其强大的工作流功能将 Jira 用作服务台工具,这一做法迅速获得了巨大的人气。鉴于这种独特的应用场景及其潜力,Atlassian 推出了名为 Jira 服务管理的新产品。Jira 服务管理是一种专门构建的解决方案,建立在 Jira 平台之上,将其转变为一个功能完善的服务台解决方案,具有独特的能力。
在本章中,我们将涵盖以下主题:
-
介绍 Jira 服务管理
-
安装 Jira 服务管理
-
开始使用 Jira 服务管理
-
服务台用户类型
-
问题类型和请求类型
-
服务级别协议(SLAs)
-
使用队列管理请求
-
创建知识库文章
-
流程自动化
介绍 Jira 服务管理
在前几章中,我们探讨了 Jira 的核心功能,包括工作流、自定义字段和屏幕。我们不难看出,如何通过创建新的自定义字段、屏幕和工作流方案将 Jira 软件作为服务台来实现。虽然 Jira 确实能够处理服务台的需求,但仍有许多值得改进的地方。
例如,用户界面常常对业务用户来说过于复杂且令人困惑,导致他们难以简单地创建支持工单。尽管我们做出了最大努力,屏幕上仍然有太多选项,其中大多数在服务台环境中并不实用。另一个例子是缺乏设置任何 SLA 的能力,从而无法确保一致的服务质量。
这就是 Jira 服务管理的作用所在。它通过为终端客户和支持团队提供简洁、直观且用户友好的界面,解决了 Jira 的所有开箱即用的不足之处。它还提供了许多你可以从服务台解决方案中期望的功能。如以下截图所示,Jira 服务管理让你通过四个简单的步骤来服务你的客户:

图 11.1 – Jira 服务管理
如图所示,Jira 服务管理简化了提出服务请求并履行该请求的过程,为不同角色的用户提供了独特的体验。
安装 Jira 服务管理
您可以通过两种方式获取 Jira Service Management。第一个选项是将其安装到您已有的 Jira Core 或 Jira Software 实例中。这是最简单的方法,因为它不需要额外的硬件支持,可以充分利用您现有的资源。此外,它还便于您的代理与其他团队合作,共同解决客户请求。安装 Jira Service Management 的步骤如下:
-
以 Jira 管理员身份登录。
-
浏览到 Jira 管理控制台。
-
选择应用程序选项卡。
-
单击右侧面板中的免费试用按钮,位于Jira Service Management下:

图 11.2 – 尝试并安装 Jira Service Management
- 接受用户协议,并按照屏幕上的指示完成安装。
第二个选项是将 Jira Service Management 安装为独立应用程序。如果您没有运行中的 Jira Software 实例,或者希望将软件问题跟踪系统与支持系统分开,请选择此选项。即使是来自这两个实例的用户也可以像第一种选项一样协作解决客户请求,只不过需要额外的步骤进行设置。步骤如下:
-
在两个 Jira 实例之间创建应用链接。
-
将两个 Jira 实例与相同的用户库(如 LDAP)集成,以确保两个系统中的用户详细信息一致。
要将 Jira Service Management 安装为独立应用程序,您可以参考第一章,《Jira 数据中心入门》,因为安装步骤大致相同。
在决定选择哪个选项时,您需要考虑几个因素:
-
成本:如果您想部署一个独立实例的 Jira Service Management,将会有硬件和软件的初期成本,以及系统上线后的维护成本。
-
复杂性:这取决于您的选择。一方面,独立部署会增加复杂性,因为您需要管理更多的服务器;但另一方面,联合部署则是在系统配置上增加复杂性。因此,您需要根据可用的内部技术专长来做出平衡。您是否有团队负责所有基础设施并可以承担更多服务器?是否有经验丰富的 Jira 管理员能够管理一个合并的 Jira 实例?
-
安全性:当 Jira Service Management 独立部署时,它与其他 Jira 实例是分开的。这使得由于配置错误和其他失误导致的数据泄漏的可能性降低。尤其当你的服务管理项目是公开可访问的,而你的软件项目仅限于内部时;如果公共项目和私有项目都在同一个实例中,你需要特别小心以确保数据安全。
-
可扩展性:这是另一个容易被忽视的因素。如果你将 Jira Service Management 部署在与 Jira Software 相同的实例中,你需要确保你的服务管理项目所增加的负载能够由当前硬件处理,特别是当你允许公开访问你的项目时。
-
维护:当你开始使用 Jira Service Management 时,你可能会进行自定义设置并添加第三方应用,这在升级时可能增加复杂性。如果 Jira Service Management 是独立部署的,那么任何自定义内容将仅限于该部署。但如果你使用的是联合部署,你需要确保所有的自定义设置和应用程序与你想要升级的版本兼容。
正如我们所见,决定部署模型时需要考虑的因素有很多。好消息是,你总是可以稍后合并或拆分你的部署,因此你不必永远被一个决定困住。然而,这可能是一个非常复杂的过程,特别是在大规模部署时,因此建议规划好你长期使用 Jira 的愿景。
开始使用 Jira Service Management
在我们开始使用 Jira Service Management 之前,了解并熟悉一些关键术语是很重要的,具体如下:
-
代理:这些是你的服务支持团队成员,他们将处理客户请求。他们是可以执行诸如编辑、分配和关闭请求等操作的用户。
-
客户:这些是会在你的服务台提交支持请求的最终用户。这些客户可以是你的产品的客户,也可以是来自其他部门需要 IT 支持的同事。
-
客户门户:这是你的客户的主要登录页面。它是一个简单、干净、易于使用的服务台前端界面,没有标准 Jira 界面中的多余噪音,如下图所示:

图 11.3 – 客户门户
-
队列:这些类似于 Jira 过滤器,显示满足某一特定条件的问题子集。服务台代理使用队列来优先处理和选择需要处理的请求。
-
请求:这些是您的最终用户(而非代理人),例如客户,提交到 Jira Service Management 的内容。从底层来看,它们只是普通的 Jira 问题。然而,在服务台环境中使用“请求”一词能减少混淆。简而言之,请求是客户看到的内容,而问题是代理人看到的内容。
-
服务台:这是客户提交请求的地方。从底层来看,服务台是一个属于“服务台项目类型”的 Jira 项目。有关项目类型的更多信息,请参考 第二章,使用 Jira 进行业务项目。
如下截图所示,当客户与请求进行交互时,用户界面与代理人看到的界面非常不同。它是一个更简单的 UI,仅显示请求的关键信息,如其描述和状态。客户在提交请求后无法更改请求详细信息,只能向请求添加新的评论或附件:

图 11.4 – 请求视图
有关服务台的关键信息如下:
-
请求类型:这表示客户可以提交的不同类型的请求。这些请求可以是任何内容,包括问题报告、帮助请求或一般咨询。当您创建一个新的请求类型时,Jira 会在后台创建一个新的问题类型。请求类型的一个主要特点是,它允许您为其指定一个易于理解的名称。虽然实际的问题类型叫做 问题报告,但您可以将其重命名并显示为 提交问题报告。
-
服务台:这是代理人将要使用的界面。每个服务台都有一个面向客户的门户。后台,服务台是一个由 Jira 权限、工作流和其他方案控制的 Jira 项目。
-
SLA:SLA 定义了保证提供给客户的服务质量。在 Jira Service Management 中,SLA 是以时间为单位的,比如响应时间和解决问题所花费的总时间。
创建新的服务台
使用 Jira Service Management 的第一步是创建一个新的服务台项目。由于服务台在后台实际上是一个带有新用户界面的 Jira 项目,因此最简单的选项是使用其中一个服务项目模板来创建一个新项目。
要创建一个新的服务台,请执行以下步骤:
-
从项目下拉菜单中选择创建项目选项。
-
从服务项目类型框中选择一个项目模板,如 IT 服务台,然后点击 下一步。
-
输入新服务台项目的名称和密钥,然后点击提交:

图 11.5 – 创建服务台项目
或者,你也可以使用现有的 Jira 项目,并将其转换为服务台。你只需要按照以下步骤更新项目类型:
-
浏览到你想将其转为服务台的项目设置页面。
-
从左侧面板选择详细信息选项。
-
将项目类型选项更改为服务,并点击保存详情:

图 11.6 – 更改项目类型
当你切换项目类型时,项目类型专有的功能将会丢失。一旦你的服务台创建完成,你将进入服务台用户界面,如下图所示:

图 11.7 – Jira 服务管理 UI
每个服务台都有两个界面。一个是由你作为管理员和你的支持团队成员(即代理)使用的界面。第二个界面是客户门户,客户将通过该门户创建请求并与代理互动。当你为服务台进行配置更改时,你可以随时通过点击客户渠道,然后点击左侧导航面板中的访问门户链接,预览更改效果,这将显示客户门户的样子。
注意
客户门户下显示的 URL 是客户访问你服务台的地址。
对客户门户进行品牌化
你可以使用以下选项对服务台的客户门户进行品牌化:
-
帮助中心名称:这是你的帮助中心的整体名称。可以将其视为你的 Jira 实例的名称。
-
客户门户名称:这是特定服务台门户的名称。
-
客户门户介绍文本:这是将在特定服务台门户中显示的欢迎文本。
-
客户门户 logo:这是特定服务台门户的 logo。
以下截图展示了样例客户门户中每一项内容:

图 11.8 – 自定义门户
要配置特定客户门户的品牌,执行以下步骤:
-
浏览到你想要进行品牌化的服务台项目设置页面。
-
从左侧面板选择门户设置。
-
在名称和介绍文本框中分别输入名称和欢迎文本。
-
选中为此客户门户使用自定义 logo选项,并上传你的客户门户 logo。
配置设置如下所示:

图 11.9 – 门户配置
现在我们已经看到如何创建服务台并对其客户门户进行品牌化,让我们看看 Jira 服务管理中的不同用户类型。
服务台用户类型
Jira 服务管理引入了几种新的用户类型。在后台,这些用户类型会映射到 Jira 服务管理安装时创建的新项目角色:
-
代理:这些是服务台团队的成员,负责处理请求。代理会被添加到服务台团队项目角色中。
-
协作者:这些是来自其他业务职能的成员;他们不是您的服务台团队成员。但是,他们可以帮助解决客户问题。一个很好的例子是产品领域专家或工程师。协作者会被添加到服务台团队项目角色中。
-
客户:这些是通过您的帮助台门户提交请求的最终用户。客户会被添加到服务台客户项目角色中。
-
组织:这些是客户的群体。例如,一个组织可以代表一家公司,所有该公司的员工将成为该组织的一部分。请求可以限制为仅在同一组织的客户之间共享。
向服务台添加代理
代理是将在 Jira 服务管理中处理客户请求的 Jira 用户。这些通常是您的支持团队成员。代理会消耗 Jira 服务管理的许可证。要向服务台添加代理,请按以下步骤操作:
-
浏览到您希望添加代理的服务台。
-
点击左侧面板中的邀请团队选项。
-
搜索并添加您希望邀请的用户作为服务台团队的代理(成员)。您可以选择并添加多个代理。点击邀请 x 人按钮:

图 11.10 – 添加代理
当您向服务台添加代理时,您可以选择 Jira 中的现有用户,这将授予该用户访问服务台的权限。如果您要添加的用户不存在,您也可以通过输入用户的电子邮件地址来创建一个新的 Jira 账户,并在一步操作中将其添加为代理。此时将发送一封电子邮件,其中包含设置密码的链接。通过这种方式创建的新用户账户将自动被添加到jira-servicedesk-users组和服务台团队项目角色中。有关组和角色的更多信息,请参见第九章,保护 Jira。
管理服务台客户
客户是通过您的客户门户提交请求的最终用户。您可以手动邀请客户,或者允许他们自行注册。Jira 服务管理要求客户拥有账户才能提交请求。好消息是,客户不会消耗 Jira 服务管理的许可证,因此您可以拥有任意数量的客户。
当客户向您的服务台提出请求时,该请求可能包含特定于客户的敏感信息。您的服务台还可能为来自不同组织的客户提供服务。因此,您需要管理请求及其相关数据的共享和访问方式。
第一步是决定谁可以成为您服务台的客户,以及如何将一个客户的请求与另一个客户共享:
-
浏览到您想要管理客户权限的服务台项目管理员页面。
-
从左侧面板中选择客户权限选项。
-
在谁可以提出请求?部分下选择谁可以在您的服务台作为客户提出请求。默认情况下,任何拥有帐户的人都可以提出请求,但您可以将其限制为已添加到您的服务台的特定用户。
-
在客户可以与谁共享请求?部分下选择如何共享请求。通常,您只希望客户能够在自己所在的组织内部共享请求信息。
-
单击保存按钮以保存更改。
如果您已经将客户权限缩小,仅允许特定客户在您的服务台提出请求,您需要添加/邀请他们。要邀请客户加入服务台,请执行以下步骤:
-
浏览到您想要添加客户的服务台。
-
从左侧面板中选择客户选项。
-
单击添加客户按钮。
-
输入客户的电子邮件地址以邀请他们,然后单击添加按钮,如下所示:

图 11.11 – 添加客户
客户将收到电子邮件,邮件中包含如何访问客户门户以及在必要时创建帐户的步骤。
如果您的服务台为多个组织的客户提供服务,您可以创建这些组织并将客户添加到其中。通过将客户分组到各自的组织中,您可以控制如何在不同客户之间共享请求。
向服务台添加合作者
合作者是 Jira 用户,他们不是您的支持团队成员(不是代理),但在领域知识和理解上有专业的知识,可以帮助代理诊断和解决客户请求。在 Jira 服务管理中,合作者是服务台团队项目角色中的用户,但不在jira-servicedesk-users组中,作为合作者添加用户是轻松授予该用户访问服务台项目权限的方式。合作者不占用 Jira 服务管理许可证。
要向您的服务台添加合作者,请按照以下步骤操作:
-
浏览到您想要添加合作者的服务台项目管理员页面。
-
从左侧面板中选择用户和角色选项。
-
单击将用户添加到角色按钮。
-
搜索并选择要添加的用户,选择服务台团队角色,然后点击添加按钮。
当将用户设置为协作者时,你只是赋予用户访问服务台的权限,以便他们可以查看、评论和为请求添加附件。
问题类型和请求类型
Jira 使用问题类型来定义问题的目的,而 Jira Service Management 则使用请求类型来实现相同的目的。在后台,每个请求类型都映射到一个问题类型。两者之间的主要区别在于,请求类型是展示给客户的,通常有一个更具描述性的名称。例如,一个问题类型被称为事件,而相应的请求类型则被称为报告系统故障。你可以将请求类型视为带有更具信息量的显示名称的问题类型。正如我们将在本节后面看到的那样,另一个请求类型的关键特点是,你可以将它们组织成组,帮助用户找到他们需要的内容。
设置请求类型
要为您的服务台创建一个新的请求类型,请执行以下操作:
-
浏览到要创建新请求类型的服务台项目设置页面。
-
从左侧面板中选择请求类型选项。
-
从左侧选择该请求类型应属于的组。我们将在本节稍后讨论组。
-
输入请求类型的名称。你可以尽可能详细地描述,以便客户能够轻松理解其目的。
-
点击图标下的图片以选择请求类型的新图标。
-
选择请求类型所映射的问题类型。
-
输入一个可选描述。该描述将在请求名称下方显示,帮助客户决定创建哪种类型的请求。
-
点击创建请求类型按钮以创建新的请求类型:

图 11.12 – 创建请求类型
你可以通过拖动请求类型上下排列它们。你在列表中设置的顺序将在客户门户中反映出来。请确保对此进行深思熟虑,以确保列表顺序逻辑清晰。例如,你可以按字母顺序排列,或将最常见的请求类型放在顶部。
组织请求类型到组中
随着请求类型数量的增加,你可以将相似的请求类型归为一组。因此,当客户访问门户时,所有请求类型将被逻辑地组织起来,便于导航。例如,以下是客户门户的截图,我们有六个请求类型组,其中五个来自 Jira Service Management 的项目模板;第六个示例请求组是自定义的。点击示例请求组后,我们也可以看到三个自定义请求类型:

图 11.13 – 自定义请求类型和组
如我们在本节前面所见,一个请求类型可以添加到一个或多个组中。你可以选择现有的某个组,或者通过简单地输入新组的名称来创建一个新组。当一个请求类型属于两个或更多组时,在门户中选择每个组时都会显示该请求类型。
为请求类型设置字段
Jira 服务管理允许你为每个请求类型设置不同的字段布局。这里需要注意的重要事项是,在设置 Jira 服务管理的字段时,你并不是创建新的自定义字段(就像在 Jira 软件中那样)。你只是将现有字段添加或移除到请求表单中,以便客户创建新请求时使用。你可以将其看作是将字段添加到屏幕上。如果你想添加一个尚不存在的字段,你必须先创建一个新的自定义字段,正如在第五章《字段管理》中所描述的那样,然后使其在请求表单中可用。
与请求类型一样,Jira 服务管理允许你为字段提供自定义显示名称,这与字段的实际名称是独立的。这意味着该字段在显示给客户时可以更加具有信息性。例如,对于 Jira 摘要字段,你可以将其显示名称设置为您遇到的问题是什么?。由于显示名称与字段名称是独立的,你现有的过滤器和搜索查询将继续按原样工作。
要为请求类型设置字段布局,请按照以下步骤操作:
-
浏览到你想要设置字段布局的服务台项目设置页面。
-
从左侧面板中选择请求类型选项。
-
点击你想要设置字段的请求类型的编辑字段链接。这将列出当前在客户创建新请求时显示的所有字段:

图 11.14 – 向请求表单中添加字段
-
点击添加字段按钮,并选择一个现有字段(包括系统字段和自定义字段)来添加到请求类型中。
-
点击字段的显示名称以更改客户在显示字段时看到的内容。这不会改变字段在 Jira 中的实际名称——它只是让显示更加用户友好。
-
通过点击必填列来更改字段的必填要求。请注意,如果该值灰显,你无法更改它。摘要字段就是一个示例。
在为请求类型设置好字段布局后,你可以点击顶部的查看此请求表单链接,以查看结果的预览。如以下截图所示,我们将到期日期字段添加到了表单中,但它现在显示为您需要此项的时间是?:

图 11.15 – 请求表单中显示的字段
需要记住的一点是,此字段布局对于每个请求类型都是特定的,因此,如果你有多个共享相同字段布局的请求类型,则需要单独配置每个请求类型。
为请求类型设置工作流
就像字段一样,你还可以控制工作流状态在 Jira 服务管理中的显示方式。请注意,你不能更改实际的工作流,但你可以使工作流对客户更加清晰,让他们明确了解他们的请求进展。
为请求类型设置工作流,请执行以下步骤:
-
浏览到你想要设置工作流的服务台项目设置页面。
-
从左侧面板选择请求类型选项。
-
点击你想要设置工作流的请求类型的编辑字段链接。
-
选择工作流状态标签页。这将列出工作流中所有可用的工作流状态,如下图所示:

图 11.16 – 自定义工作流
如前面的截图所示,实际的 Jira 工作流状态名称列在左侧列中。对于每个状态,你可以选择为它设置一个不同的显示名称,客户将看到该显示名称。
例如,进行中是 Jira 中的一个常规工作流状态,表示请求当前正在支持人员处理中。我们可以将其更改为调查中,这将在客户查看问题时显示。
注
你并没有更改工作流本身。你只是让它对客户更加友好。
服务级协议(SLA)
SLA 定义了服务提供商(你的组织)和最终用户(你的客户)之间的协议,涵盖服务的各个方面,如服务范围、质量或周转时间。
在支持服务的背景下,SLA 将为不同类型的支持请求定义不同的响应时间。例如,严重性 1 的请求响应时间为 1 小时,而严重性 2 的请求响应时间为 4 小时。
Jira 服务管理允许你根据响应时间定义 SLA 要求。你可以设置响应时间的计量规则,并为每个规则设置目标。
设置 SLA
Jira 服务管理的 SLA 分为两个组成部分:时间测量和需要达成的目标。时间可以用于多种目的。常见的例子包括请求解决的整体时间和客户请求的响应时间。要设置 SLA 指标,请按照以下步骤操作:
-
浏览到你想要设置 SLA 的服务台项目设置页面。
-
从左侧面板选择SLA选项,然后点击创建 SLA选项。
对于任何 SLA,您需要定义何时开始计时以及何时停止计时,并可以在过程中选择暂停。Jira 提供了许多选项来选择何时开始和停止计时。最常见的选项包括请求进入或离开工作流状态时;其他选项包括设置字段的值,如负责人或解决方案。
一个简单的示例是,Jira 服务管理在请求创建时开始计时。每次代理请求客户提供更多信息时,计时将暂停,直到客户做出回应。一旦请求最终关闭,计时将停止。以下步骤显示了如何为简单示例设置 SLA 时间度量:
-
对于开始列,我们将选择问题已创建选项,表示一旦请求创建,即可开始计时。
-
对于暂停于列,我们将选择状态:等待客户选项,表示当请求进入等待客户工作流状态时,可以暂停计时。
-
对于停止列,我们将选择已进入状态:已取消、已进入状态:已关闭和解决方案:已设置选项,表示一旦请求被取消、关闭或设置了解决方案,计时将停止。
如下图所示,对于每一列,您可以选择多个条件:

图 11.17 – SLA 示例 1
这允许您设置多个入口点来开始和停止时间。一个使用示例是衡量响应时间。例如,您可能需要保证代理在一小时内响应新请求。如果请求被返回给客户以获取更多信息,则在客户更新请求并提供所需信息时,也要求一小时的响应时间。以下几点显示了如何为此 SLA 设置时间度量:
-
对于开始列,我们将选择问题创建和已进入状态:处理中选项。因此,当问题首次创建时,我们将开始计时,并且当问题被返还给我们的代理处理时,也将开始计时。
-
对于停止列,我们将选择已进入状态:等待信息和已进入状态:已关闭选项。当代理将请求返回给客户以获取更多信息或请求完成时,计时将停止。
这两个示例之间的区别在于,在第二个示例中,我们不会在请求进入等待客户状态时暂停计时,而是完全停止计时。这意味着,当请求进入等待客户状态时,当前计时周期结束,当请求进入处理中状态时,一个新的计时周期将开始,如下图所示:

图 11.18 – SLA 示例 2
一旦我们定义了如何测量时间,下一步是设置 SLA 目标。SLA 目标定义了我们刚才设置的每个场景允许的时间。如果以我们之前提到的响应时间为例,我们可能会这样设置目标:

图 11.19 – SLA 目标
在我们的示例中,我们已经定义了,对于优先级设置为最高的请求,响应时间为 1 小时(1h);高和中优先级的请求响应时间分别为 4 小时和 8 小时。其他所有请求将在 12 小时内得到响应。
如你所见,定义 SLA 目标时有几个组件,如下所示:
-
问题:这些是将应用目标的事务/请求。使用 JQL 来缩小问题的选择范围。
-
目标:这是目标的时间值。你可以在此使用标准的 Jira 时间表示法,其中 3h 表示 3 小时,45m 表示 45 分钟,2h30m 表示 2 小时 30 分钟。
-
日历:这些定义了 SLA 适用的工作日和工作时间。例如,24/7 日历意味着时间将计算每天每小时。如我们稍后将看到的,你可以创建自己的自定义日历,来定义你的工作日、工作时间,甚至是假期。
在定义 SLA 标准时,我们需要使用 JQL。就像进行高级搜索一样,Jira Service Management 提供了语法自动补全功能,以帮助我们验证查询,如下图所示:

图 11.20 – SLA 目标标准
接下来,我们将看看如何为 SLA 创建和配置日历。
设置自定义日历
如我们所见,在设置 SLA 时,你可以选择一个定义工作日和工作时间的日历,这些时间可以计入目标。Jira Service Management 提供了默认 24/7 日历和示例 9-5 日历,这些日历只会计入周一到周五每天上午 9 点到下午 5 点之间的时间。
你可以创建自定义日历,以便包含不同的工作时间、时区和假期。要为你的服务台创建自定义日历,请按照以下步骤操作:
-
浏览到你想要添加日历的服务台的项目设置页面。
-
从左侧面板中选择SLA选项。
-
点击日历选项,然后点击添加日历按钮。
-
为新日历输入名称和描述,并配置相关选项。
Jira Service Management 允许你使用以下选项来配置你的日历:
-
时区:设置日历使用的时区。
-
工作日:这是设置可计入 SLA 的工作日。
-
工作时间:这些是每个工作日可以包括在 SLA 中的时间。
-
假期:这将添加假期,如圣诞节,使其在 SLA 中被排除
如下图所示,我们已设置日历,使工作时间为周二至周五的早上 9 点到下午 5 点。这意味着在计算 SLA 指标时,周一、周六和周日会被排除在外:

图 11.21 – SLA 日历工作日
我们还将圣诞节和新年作为假期添加,这样在这些日期 SLA 就不会应用:

图 11.22 – SLA 日历假期
添加假期时,如果假期每年都会在同一天发生,例如圣诞节,可以勾选每年重复选项,这样你就不需要每年手动添加。
使用队列管理请求
队列是具有预定义条件的请求列表,供代理人员逐个处理。你可以将它们视为 Jira 过滤器。它们帮助你和你的团队将进入的请求整理成更易于管理的组,从而优先处理它们。Jira Service Management 使用 Jira 的搜索机制来配置队列。有关 Jira 搜索选项的更多详细信息,请参阅第十章,搜索、报告与分析。
创建新队列
当你首次创建服务台时,会自动为你创建几个默认队列。其中包括一个分配给我的队列,列出所有分配给当前登录用户的未解决请求,还有一个每个请求类型的队列。作为服务台管理员,你可以为你的团队创建新的队列。要创建新队列,请按照以下步骤操作:
-
浏览到你要为其添加队列的服务台。请注意,队列不在项目设置控制台中管理。
-
从左侧面板选择队列选项,并点击切换队列下拉菜单中的新队列选项。
-
为队列输入一个名称,名称应能反映其目的以及其中包含的请求类型。
-
使用 UI 控件来创建搜索条件。如果你熟悉 JQL 或需要在查询中使用排除逻辑,可以点击高级链接,直接使用 JQL。
-
选择在队列显示问题列表时要显示的字段。点击更多选项以查找更多可添加的字段。你也可以拖动字段左右移动,以重新排列它们。你可以选择显示最有用信息的字段。
-
点击创建按钮以创建队列,如下图所示:

图 11.23 – 创建新队列
如前面的截图所示,当你修改搜索条件和字段选择时,底部会有一个预览区域,显示你的搜索结果和字段布局。
创建知识库文章
随着您的团队努力解决客户问题,知识碎片将逐渐积累。这些内容包括客户常见问题及其故障排除步骤。Jira Service Management 允许您提取这些信息并创建知识库,帮助客户自行找到解决方案。默认情况下,Jira Service Management 仅支持使用 Atlassian Confluence 创建知识库,但也可以通过第三方插件使用其他工具。
要将 Jira Service Management 与 Confluence 集成,您需要在 Jira 和 Confluence 之间创建一个应用链接。如果您已经完成了此操作,请跳至下一节。要为 Confluence 创建应用链接,请执行以下步骤:
-
浏览到 Jira 管理控制台。
-
从左侧面板选择应用程序选项卡和应用链接选项。
-
点击创建链接按钮。
-
选择Atlassian 产品选项,输入您的 Confluence 实例的完全限定 URL,并点击继续按钮,如下图所示:

图 11.24 – 使用 Confluence 创建应用链接
- 按照屏幕上的向导完成链接过程。
一旦与 Confluence 创建了应用链接,就可以将其用于 Jira Service Management。每个服务台需要与一个 Confluence 空间进行单独集成。要为服务台设置 Confluence 知识库,请按照以下步骤操作:
-
浏览到您想为其设置 Confluence 知识库的服务台项目设置页面。
-
从左侧面板中选择知识库选项。
-
勾选链接到 Confluence 空间选项。
-
从应用程序下拉菜单中选择已链接的 Confluence 空间(它的名称可能不是 Confluence)。
-
选择将创建知识库文章的 Confluence 空间。如果您尚未创建空间,请点击创建知识库空间链接。
-
点击链接按钮以完成集成设置,如下图所示:

图 11.25 – 添加知识库
注意
您可以将一个服务台链接到一个 Confluence 空间。
集成完成后,当坐席查看请求时,创建文章选项将变为可用。点击该选项,坐席可以在预配置的 Confluence 空间中创建新的知识库文章,如下图所示:

图 11.26 – 创建知识库文章
从客户的角度来看,客户门户(对于启用了知识库功能的服务台)将提供一个新的搜索框。客户可以搜索查看是否已经有相关信息可供参考。如下面的截图所示,当搜索文件时,服务台返回了过去请求中的一篇知识文章。如果这是客户正在寻找的内容,它将为客户和代理节省宝贵的时间:

图 11.27 – 搜索知识库文章
你可以通过选择性启用应当启用知识库的请求类型来进一步微调这一点——例如,你可能只希望启用支持或查询请求类型,而不启用事件类型。在下一部分,我们将看看如何为你的服务台自动化某些任务。
过程自动化
在运行服务台时,许多琐碎且重复的任务会浪费团队大量的时间。例如,当请求被关闭后,如果客户随后添加了评论,则需要重新打开该请求,并将其重新放入队列中,供代理再次处理。通常,这需要代理手动重新打开请求,或者你作为 Jira 管理员,需要配置服务台项目使用的工作流,以便自动重新打开请求。如果有许多需要这种自动化的服务台项目,这会让代理感到繁琐,并让你感到不堪重负。
好消息是,Jira 服务管理具有一个过程自动化功能,可以大大减少一些重复性任务,并允许每个服务台所有者(拥有管理项目权限的用户)设置自动化规则,如下图所示:

图 11.28 – 过程自动化规则
按照以下步骤设置自动化规则:
-
浏览到你想为其设置自动化规则的服务台项目的项目设置页面。
-
从左侧面板中选择自动化选项。
-
点击添加规则按钮以创建新的自动化规则。
-
从对话框中选择一个预设的自动化规则模板,或者从列表中选择自定义规则选项,从头开始创建一个。
-
为新的自动化规则输入一个名称。
-
配置自动化规则并点击保存。
配置自动化规则时需要考虑几个方面。首先,每个规则由三个部分组成,分别是WHEN(触发条件)、IF(条件)和THEN(动作),如下图所示。理解这些时,可以将规则理解为:当请求上发生某事,如果符合标准,则执行以下动作。所以,如果我们以客户在关闭请求上添加评论为例,规则可能是这样的:当添加评论时,如果请求处于已关闭状态,则将请求状态更改为重新打开:

图 11.29 – 创建新的流程自动化规则
你可以通过点击表示每个组件的 UI 元素来配置自动化规则的这些组件。在设计规则时,有几个要点需要记住:
-
你只能有一个 WHEN,它作为规则的入口点。不过,它可以有多个触发条件,因此每个规则可以通过多个动作触发。
-
你可以有多个 IF(即 ELSE IF),因此你可以设置多个标准来评估规则触发时的情况。
-
你只能有一个 THEN,它可以有多个需要执行的动作。
其他选项包括以下内容:
-
规则应该以触发它的用户身份运行,还是以服务台项目为特定用户运行。由于并非所有操作都可以由触发操作的用户执行,特别是当用户是客户时,使用项目的默认选项更为安全。
-
规则是否可以通过另一个自动化规则触发。这非常有用,因为它允许你将多个规则串联在一起,以自动化你的流程。然而,你需要小心,确保没有规则会互相触发,导致陷入循环中。
总结
在本章中,你学习了如何使用 Jira Service Management 将 Jira 转变为强大的服务台解决方案。Jira Service Management 基于 Jira 许多现成的功能,如工作流引擎和搜索查询(JQL),并提供了一个全新的用户界面,以消除旧 Jira 界面带来的摩擦。这使得客户的整体体验更加愉快。
我们探讨了如何为客户门户定制品牌,还讨论了如何将请求类型分组,这有助于客户更好地导航。我们还探讨了如何使用 SLA 帮助衡量支持团队的指标。最后,我们探讨了如何设置自动化规则以帮助支持流程更加高效。在下一章中,我们将深入了解如何使用第三方应用扩展 Jira 的功能和能力。
第十二章:Jira 和第三方应用
正如我们在前几章中看到的,Jira 是一个高度可定制的产品,允许你根据自己的需求自定义许多功能。当然,任何产品都不完美,尽管 Jira 拥有丰富的功能,但仍然存在一些无法满足所有人需求的空白。意识到这一点,Atlassian 允许其他人(包括合作伙伴、独立软件开发者和客户)通过 Jira 高度可扩展的应用基础设施扩展 Jira。
在本章中,你将学习以下主题:
-
应用及其定义
-
Atlassian 市场
-
安装应用并管理已安装的应用
-
使用应用来扩展 Jira 的功能和能力
Atlassian 市场和第三方应用
在 Jira 的上下文中,应用是一个可以安装到 Jira 中的独立软件包,用于扩展其功能。一个应用通常由多个模块组成,如自定义字段、报告和工作流后置功能。你常常会听到人们提到应用、附加组件和插件。在 Jira 的上下文中,这三者指的都是同样的东西,因此在本书中我们将使用应用这一术语。但如果你看到插件或附加组件的术语,实际上我们指的也是同样的东西。
大多数应用都在 Atlassian 市场上注册并列出,网址为marketplace.atlassian.com。市场允许你作为最终用户浏览和搜索应用,阅读用户评论,并获取应用供应商的文档和联系方式。例如,在搜索可以与 Slack 集成的应用时,我们可以在市场上看到以下应用:

图 12.1 – Atlassian 市场
市场上的 Jira 应用可以是免费的,也可以是收费的。收费应用的费用基于你的 Jira 用户层级进行收费。每个在市场上列出的收费应用都有一个定价标签,说明其定价结构,如下所示:

图 12.2 – 应用定价
应用也有不同的可用性等级,具体取决于托管类型。有些应用支持 云、数据中心 和 服务器 三种选项,而其他应用可能仅支持其中一两种。检查你感兴趣的应用是否支持你的托管类型非常重要。这对于数据中心部署尤其重要;如果你安装了服务器版本的应用,可能会导致意外的行为和错误。
Marketplace 的一个有用功能是,如果应用支持 Data Center 或 Server,你可以直接从网站下载该应用。通常,你不需要这样做;正如我们在本章稍后看到的,Jira 默认已与 Marketplace 原生集成,因此你可以直接在 Jira 内查找并安装应用。但如果 Jira 因网络或安全原因无法连接到 Marketplace,你可以手动下载并安装应用。
现在我们已经简要了解了 Atlassian Marketplace,接下来让我们看看如何使用 Jira 查找、安装和管理应用。
通用插件管理器
通用插件管理器(UPM)是你用来查找、安装和管理 Jira 实例中的应用的主要工具。UPM 默认与 Atlassian Marketplace 集成,因此,如果你的 Jira 实例有外部互联网连接,你将能够直接从 UPM 搜索并安装应用。
UPM 有两个主要界面:
-
查找应用 – 这个界面允许你直接从 Atlassian Marketplace 搜索并安装第三方应用到你的 Jira 中。
-
管理应用 – 这个界面允许你管理已安装的 Jira 应用。你可以管理、禁用、更新和卸载应用。
我们将详细介绍每个界面,以及如何使用它们来安装、更新和管理 Jira 中的第三方应用。
从 Atlassian Marketplace 搜索和安装应用
如果你的 Jira 实例有外部互联网连接并启用了 Atlassian Marketplace 连接,你可以直接从 UPM 搜索并安装应用。这是将应用安装到 Jira 的最简单方法,因为 UPM 会确保下载最新的兼容版本。要通过 UPM 从 Atlassian Marketplace 安装应用,请按照以下步骤操作:
-
浏览到 Jira 管理控制台。
-
选择管理应用选项卡,然后选择查找新应用。
-
在搜索 Marketplace文本框中搜索你要查找的应用。你还可以使用各种控件浏览和过滤搜索结果。
-
如果应用是免费的,点击安装按钮以安装应用;如果应用是付费应用,则点击免费试用按钮,如下所示:

图 12.3 – 在 UPM 中查找应用
如果应用是免费的,点击安装按钮将让 Jira 下载并安装该应用。如果应用是付费应用,Jira 会安装该应用,并引导你完成生成试用许可证的过程。
安装完成后,应用就可以使用了。一些复杂的应用可能需要进一步配置才能使用;在这些情况下,你可以使用管理应用界面。
手动安装应用
如果由于某种原因,Jira 无法连接到 Atlassian 市场,或者你想安装的应用程序不在市场上,你可以从管理应用程序界面手动安装应用程序。要手动安装应用程序,请按照以下步骤操作:
-
浏览到 Jira 管理控制台。
-
选择管理应用程序标签页,然后选择管理应用程序选项。
-
点击上传应用程序选项:

图 12.4 – 手动安装应用程序
- 从对话框中选择你想要安装的应用程序,然后点击上传:

图 12.5 – 上传应用程序
提示
你可以通过直接选择应用程序文件或通过应用程序归档文件的 URL 来上传并安装应用程序。
当你以这种方式手动安装应用程序时,你需要确保所安装的应用程序版本与 Jira 版本兼容,并且是正确的托管类型。每个在 Atlassian 市场上的应用程序都有一个版本列表,显示应用程序的兼容性,因此请确保下载正确的应用程序版本。如果你安装了不兼容的应用程序,在大多数情况下,它会被自动禁用,你可以简单地卸载它,但有时这可能会导致更严重的问题,甚至可能导致你的 Jira 实例崩溃。
管理已安装的应用程序
所有已安装的应用程序都列在 UPM 的管理应用程序界面中。你可以通过选择管理应用程序选项来访问该界面。
管理应用程序界面默认会列出所有用户安装的应用程序,如下所示:

图 12.6 – UPM 管理应用程序
默认情况下,仅显示用户安装的应用程序。这是因为许多 Jira 的核心功能也是作为应用程序实现的,因此这样可以帮助保持列表简洁。你可以切换显示所有系统中的应用程序类型。
你可以点击列表中的应用程序以展开并查看其详细信息。这将向你展示关于已安装应用程序的很多有用信息,并允许你管理它:
-
立即购买 – 如果应用程序是付费应用,并且你尚未购买许可证,你可以点击立即购买按钮进行购买。
-
配置 – 如果应用程序在安装后需要额外的配置,通常会有一个配置按钮。点击该按钮将带你进入应用程序的主配置页面。
-
卸载 – 这将从你的 Jira 实例中卸载该应用程序。请注意,对于某些应用程序,卸载可能也会删除与该应用程序相关的任何数据。如有疑问,你应该先禁用该应用程序。
-
禁用/启用 – 这将禁用或启用该应用程序。一旦禁用,应用程序仍然安装在 Jira 中,但其功能将不可用。
-
更新 – 如果市场上有该应用程序的更新版本,您可以点击 更新 按钮自动更新应用程序。然而,在更新应用程序之前,您应始终检查新版本是否与您的环境兼容。有时,新版本可能会对 Java、数据库以及其他系统组件提出新的要求。
-
版本 – 您安装的应用程序的版本。这是一个非常重要的信息,供应商在解决问题时通常会要求提供该信息。
-
文档 – 此链接将引导您访问应用程序在供应商网站上的文档。
-
支持与问题 – 此链接将引导您访问供应商的支持门户,您可以在此请求支持。它还可以带您到供应商的网站,提供如何请求支持的详细信息。
-
启用模块 – 展开时,这将列出应用程序包含的所有模块。通常,在安装后,所有模块都会默认启用。您可以选择性地禁用应用程序中的某些模块。您可能希望这样做,以限制用户访问某些功能,或者根据供应商支持人员提供的故障排除过程中的指示进行操作。请注意,这是面向高级用户的操作,如果禁用错误的模块,可能导致应用程序无法正常工作,甚至丢失数据。

图 12.7 – 管理应用程序
配置 UPM
除了安装和卸载应用程序外,UPM 还具有一些其他有用功能,可以帮助您管理和解决问题。在 UPM 底部,有四个选项:

图 12.8 – 配置 UPM
我们将在接下来的章节中详细查看每个选项,从审计日志开始。
审计日志
Jira 会跟踪应用程序的安装、卸载或更新情况。如果您需要定期审核系统中发生的变化,这是一个非常有用的工具。通常,应用程序安装后,过了一段时间,人们忘记了谁安装了该应用程序,或者该应用程序是否仍在使用。如果应用程序是一个昂贵的付费应用程序,这尤其是一个问题。通过查看审计日志,您可以找到最初安装该应用程序的人或最后更新它的人。如下面所示,我们可以看到 Tempo Timesheets 应用程序是在 2022 年 9 月 20 日安装的。

图 12.9 – 审计日志
注意
请注意,审计日志会定期清除;默认情况下为 90 天后清除。
Jira 更新检查
当您开始在 Jira 中安装第三方应用程序时,升级 Jira 到新版本,尤其是大版本,将变得更加复杂,因为您需要确保您使用的应用程序与您正在升级到的 Jira 版本兼容。如果您安装了许多应用程序,这有时会是一个繁琐的任务。
Jira 更新检查工具来自 UPM,帮助您更轻松地完成此任务,它会自动检查您拥有的所有应用程序并生成兼容性报告,如下所示:

图 12.10 – Jira 更新检查
只需选择您目标的 Jira 版本,然后点击 检查按钮。如前面的报告所示,我们有三个应用程序被列为兼容,一个不兼容,但有一个可用的更新版本是兼容的。请注意,此工具仅适用于 Atlassian 市场上的应用程序;不在市场上的应用程序无法使用此工具进行检查。
设置
设置选项让您控制 UPM 的工作方式。例如,如果您希望 UPM 能够连接到 Atlassian 市场直接下载和安装应用程序。对于某些组织,由于安全原因,您可能不希望允许这样做,因此您可以禁用此选项。
另一个常见的选项是允许最终用户请求安装他们需要的应用程序。Jira 然后会向 Jira 管理员发送请求的电子邮件,这有助于减少用户和管理员之间的摩擦。下图显示了您可以更改的 UPM 设置:

图 12.11 – UPM 设置
进入安全模式
最后的选项是将 Jira 置于安全模式。当 Jira 进入安全模式时,所有用户安装的应用程序将被禁用。这是一个在故障排除时非常有用的工具。当 Jira 出现问题时,通常很难准确找出根本原因,尤其是当您安装了许多应用程序时。在这种情况下,排除法是最佳选择;通过将 Jira 置于安全模式,并逐个重新启用应用程序,您可以缩小问题的原因范围,如果是某个应用程序引起的。
请注意,当您将 Jira 置于安全模式时,所有第三方应用程序都会被禁用,这有时会对最终用户造成不利影响。因此,在启用安全模式之前,请确保与他们进行沟通。
使用应用程序扩展 Jira
现在我们已经看到如何查找和安装第三方应用程序,接下来我们将查看一些常见的用例,您可以使用应用程序来扩展 Jira 的核心功能。在本节中,我们将使用一些 Atlassian 市场上流行的应用程序来说明如何通过应用程序扩展 Jira。
使用应用程序扩展自定义字段
在 第五章 中,字段管理,我们介绍了自定义字段并查看了 Jira 提供的开箱即用的字段类型。通过第三方应用程序,我们可以进一步扩展选项列表。到目前为止,我们看到的大多数字段主要用于捕获和显示数据,但自定义字段能做的远不止这些。在本节中,我们将介绍 Jira 的电子签名应用。
正如其名称所示,Jira 电子签名应用允许用户在对问题进行更改时捕获电子签名,通常是在工作流过渡过程中。这在审批流程中尤其有用,例如 CFR 21 第十一部分的合规要求,其中需要签名并且需要记录以供审计使用。
该应用通过添加一个名为电子签名的新自定义字段来提供此功能。安装该应用后,你可以将该字段添加到 Jira 中。

图 12.12 – 添加电子签名自定义字段
在将字段添加到 Jira 后,确保将其放置在需要验证和捕获电子签名的屏幕上。例如,用于批准工作流过渡的屏幕。在屏幕上添加该字段后,当你转换问题时,屏幕会要求你输入 Jira 凭据。如果输入了正确的凭据,工作流过渡可以完成,签名将被记录在问题中。

图 12.13 – 验证电子签名
如我们所见,虽然任何字段的主要目的是捕获和存储数据,但应用程序可以包含具有非常不同功能的有用自定义字段。
使用应用扩展工作流
在第七章中,工作流与业务流程,我们讨论了如何使用 Jira 工作流及其组件来管理项目。Jira 提供了许多有用的组件,如条件、验证器和 post 函数,但要充分发挥 Jira 工作流的强大功能,你需要使用一些第三方应用。在本节中,我们将介绍一些流行的应用及其提供的有用工作流组件。
我们要看的应用是JSU 自动化套件 for Jira 工作流(JSU)。该应用提供了多个有用的工作流组件。一个非常常见的 Jira 使用场景是仅在特定的工作流过渡期间使某个字段成为必填项。例如,当用户创建问题时,可能不知道问题的到期日期,因此会留空该字段。当问题被某人接手并过渡到进行中时,将需要提供一个到期日期,因此我们需要确保用户在问题过渡前填写了到期日期。JSU 提供了一个字段必填(JSU)验证器,可以在工作流过渡完成前检查所选字段是否已提供值。如下所示,我们添加了字段必填(JSU)验证器,并选择了描述和到期日期字段作为必填项:

图 12.14 – 添加验证器
现在,如果一个问题在没有为 Description 或 Due Date 提供值的情况下转换为 In Progress 状态,将显示错误消息:

图 12.15 – 字段必填验证器
很显然,为了使其工作,您需要确保在工作流转换中应用屏幕,并将所有必填字段放置在屏幕上。
另一个 JSU 提供的有用功能是作为工作流转换的一部分自动设置 Jira 中任何字段的值。Jira 开箱即用提供了一个 post 函数,允许您为某些系统字段设置值,这不仅允许您为任何字段设置值,还包括评论,甚至更新其他问题的字段。
举个例子,我们已经添加了 post 函数来更新 %%CURRENT_USER%%。因此,如果一个问题被转换为 In Progress 状态,所有其子任务的负责人将自动分配给执行转换操作的用户。

图 12.16 – 添加后置函数
第三方应用程序如 JSU 提供了许多有用的工作流条件、验证器和后置函数,您可以用来丰富工作流的功能。
使用脚本定制 Jira
到目前为止,我们所看到的应用程序都是预打包的、专为特定功能设计的解决方案。这些解决方案非常好,因为它们为人们可能遇到的常见问题或所有人都需要的功能提供了解决方案。
然而,有时候您可能有一些要求,这些要求并不被 Atlassian Marketplace 上可用的任何应用程序覆盖。现在您可以为此创建一个自定义应用程序,但通常您只需要一个以特定方式捕获或显示数据的自定义字段,或者具有一些专业业务逻辑的工作流验证器。在这些情况下,您可以使用一个名为 ScriptRunner 的应用程序。
ScriptRunner 是一个将脚本能力引入 Jira 的应用程序。如果您了解如何编写 Groovy 脚本,ScriptRunner 将允许您创建自定义字段、工作流组件(如验证器)和由您自己的 Groovy 脚本定义的后置函数。这样,您可以使用自己的业务逻辑实现这些组件,而无需创建一个完整的应用程序。
在这一部分,我们将介绍 ScriptRunner 应用程序以及如何使用它来创建自定义字段。安装完 ScriptRunner 应用程序后,当您进入 Jira 管理控制台时,将会看到一个新的 ScriptRunner 标签。正如我们所见,ScriptRunner 提供了许多不同的选项供您创建脚本,包括一些内置脚本。由于本节我们专注于创建自定义字段,因此我们将关注 Fields。

图 12.17 – ScriptRunner
要创建一个自定义脚本字段,选择字段选项,然后选择自定义脚本字段选项,如下所示:

图 12.18 – 自定义脚本字段
现在我们已经选择创建一个脚本字段,我们需要提供一些字段的基本信息以及脚本本身。在我们的示例中,我们将创建一个简单的字段,显示问题的评论数:
-
为我们的字段输入一个名称,例如
评论数。 -
为我们的字段选择一个模板。这将决定我们字段的外观。以我们的示例为例,我们将选择数字字段模板。
-
输入以下脚本,当字段被显示时将运行它。使用 ScriptRunner,你可以将脚本作为内联代码或文件加载。内联代码使用起来比较方便,但将代码保存为文件会更容易维护,因为你可以将代码文件保存在代码库中,以便更好地跟踪更改。在我们的示例中,我们将使用内联选项:
import com.atlassian.jira.component.ComponentAccessor def commentManager = ComponentAccessor.getCommentManager() def numberOfComments = commentManager.getComments(issue).size() return numberOfComments ? numberOfComments as Double : null -
在预览问题键文本框中输入一个问题键,并点击预览按钮。这将测试我们的脚本与该问题的兼容性。
-
点击添加按钮来创建我们的自定义字段。

图 12.19 – 添加自定义脚本字段
一旦我们的自定义脚本字段创建完成,我们需要确保该字段应用于正确的上下文并添加到必要的字段中。完成这些操作后,你应该能看到字段显示问题的评论数:

图 12.20 – 自定义脚本字段结果
由于脚本在每次渲染字段时都会运行,它的值将自动更新。如果你希望字段中的值可被搜索,确保为其分配一个搜索模板。由于我们的字段显示的是数字,我们可以使用数字搜索器或数字范围搜索器。
更好的时间跟踪和报告
在第四章,处理问题中,我们简要介绍了用户如何跟踪他们在处理问题时所花费的时间。这是一个非常有用的功能,许多组织使用它来跟踪项目的进展。然而,Jira 内置的时间跟踪功能相当基础,且获取日志时长的报告并不容易。再次强调,应用程序来救援!对于时间跟踪和报告,根据你的需求,有多个可供选择的选项。
如果你仅仅想要一个更好的工具来查看用户记录的工时并创建时间跟踪报告,那么Worklogs - 时间跟踪和报告应用程序非常适合你。安装后,顶部会出现一个新的Worklogs选项。点击该选项将带你进入由该应用程序提供的Worklogs报告视图:

图 12.21 – 时间跟踪报告
在此,你可以选择项目、用户/组、日期范围以及许多其他选项,以生成关于用户输入的时间跟踪数据的报告。如前所示,在九月份,两位用户分别在两个不同的项目上记录了时间。你可以将表格报告视图更改为饼图和柱状图,并将报告导出为 Excel 电子表格。这是一个非常有用的工具,补充了开箱即用的时间跟踪功能。
如果你需要更强大和稳定的功能,你可能想了解 Tempo Timesheets - Jira 时间跟踪 (Tempo) 应用。Tempo 应用将 Jira 中的基本时间跟踪功能提升到了一个全新的水平。
安装了 Tempo 后,顶部会出现一个新的 Tempo 选项。点击该选项将列出 Tempo 的不同功能。Tempo 提供了你在时间跟踪和生成数据报告时所需的所有功能。例如,每个用户可以在 日历 和 时间表 视图中查看自己记录的时间,如下所示。这是一个非常棒的工具,可以帮助用户跟踪自己的时间记录,并在每个月底生成报告以供计费使用:

图 12.22 – Tempo
Tempo 还允许你创建基于时间跟踪数据的保存报告,后续可以重新使用,类似于保存的过滤器。例如,你可以为每个项目创建一个报告,并将其作为定期项目进展更新的一部分发送给客户。
除了常规的时间跟踪和报告,Tempo 还具有高级功能,例如允许用户提交时间表进行审批,将用户组织成团队以便更好地进行资源管理和规划,通过设置账户跨多个团队和项目进行跟踪等。
选择应用及其供应商
现在我们已经了解了第三方应用是什么以及它们如何对你有所帮助,你可能想去 Atlassian Marketplace,找到尽可能多的有用应用并将它们安装到自己的 Jira 实例中。事实上,这样做是非常危险的,往往会让人陷入困境,比如在 Jira 升级时。
尽管第三方应用非常有用,但在选择和安装时必须小心。选择安装应用时,有几个重要因素需要考虑,并且你必须做足功课:
-
这个应用程序是否得到了良好的维护和支持?一个应用程序是否真的好用并不重要,如果它没有得到维护和支持,当你遇到问题或需要升级 Jira 时,你将无法获得任何帮助。查看其他用户的评论,看看该应用程序是否在支持多个版本的 Jira 上有良好的记录,并查看供应商是否提供支持渠道。你可以在 Atlassian Marketplace 上的应用页面找到所有这些信息。
-
该应用程序是否具有云迁移路径?如果你考虑将来迁移到 Atlassian Cloud,了解该应用程序是否同时提供等效的云版本以及迁移路径非常重要。这将使你决定迁移到云时更加轻松。
-
该应用程序是否与其他已安装的应用程序发生冲突?有时,来自不同供应商的应用程序会发生冲突,而你可能直到安装并运行后才会发现这个问题。在某些情况下,应用程序供应商可能已经意识到这些冲突,并在其文档中提到,但这并非总是如此。因此,重要的是在生产环境中安装前,在临时环境中测试新应用程序。
如我们所见,选择适合自己 Jira 的应用程序时必须小心,特别是当该应用程序将为你的组织提供重要功能时。通常,一个应用程序会变得如此重要,以至于你的用户无法离开它。因此,选择正确的应用程序供应商和应用程序本身同样重要。一个好的供应商会在你遇到问题和 BUG 时为你提供支持,需要升级到 Jira 的新版本时提供帮助,以及如果你选择迁移到云端时给予支持。
维护你已安装的应用程序清单以及它们的使用情况通常是个好主意。保持清单更新,并定期进行检查,因为你不想保留不再需要的应用程序,尤其是当应用程序是付费的情况下。如果你有多个 Jira 管理员,确保在添加或移除应用程序时通知每个人,这样如果出现问题,就不会有人感到措手不及。
总结
在本章中,我们了解了第三方应用程序,它们是什么以及它们能做些什么。我们查看了 Atlassian Marketplace,你可以从中搜索可能对你有用的应用程序。我们还学习了如何使用通用插件管理器来安装和管理应用程序,以及它的一些附加功能,帮助排查 Jira 中的问题,特别是当问题与应用程序相关时。我们还了解了一些流行的应用程序,以及如何使用它们来扩展 Jira 的功能,例如添加新的自定义字段类型和工作流后置函数,这样你就可以在 Jira 中做更多的事情。最后,我们还讨论了选择安装哪个应用程序时需要考虑的一些重要因素。Jira 是一个非常棒的工具,第三方应用程序帮助使这个工具更加完美,但你必须确保选择适合自己的应用程序,以确保你的长期成功。


浙公网安备 33010602011771号