使用应用程序扩展 Jira

既然我们已经了解了如何查找和安装第三方应用程序,下面我们就来看看可以使用应用程序扩展 Jira 核心功能的一些常见用例。在本节中,我们将利用 Atlassian Marketplace 上的一些常用应用程序来说明如何使用应用程序扩展 Jira。

使用应用程序扩展自定义字段

在第 5 章 "字段管理 "中,我们介绍了自定义字段,并查看了 Jira 提供的开箱即用字段类型。通过第三方应用程序,我们可以进一步扩展选项列表。到目前为止,我们看到的大多数字段主要用于捕获和显示数据,但自定义字段的功能远不止于此。在本节中,我们将介绍 Jira 应用程序的电子签名。

顾名思义,Jira 电子签名应用程序允许用户在对问题进行更改时捕获电子签名,这通常是工作流转换的一部分。这在审批流程中尤其有用,例如在符合 CFR 21 第 11 部分要求时,需要记录签名以备审计。

该应用程序通过添加名为 电子签名 的新自定义字段来提供此功能。安装应用程序后,您可以将此字段添加到 Jira 中。

image 2023 12 01 11 01 38 126
Figure 1. Figure 12.12 – Add electronic signature custom field

将字段添加到 Jira 后,确保将其放在需要验证和捕获电子签名的屏幕上。例如,用于已批准工作流程转换的屏幕。有了屏幕上的字段,当您转换问题时,就会看到要求您输入 Jira 认证的字段。如果输入了正确的凭证,工作流程转换就可以完成,签名也将被记录到问题中。

image 2023 12 01 11 02 11 765
Figure 2. Figure 12.13 – Validating the electronic signature

正如我们所看到的,虽然任何字段的主要目的都是捕获和存储数据,但应用程序可以包含有用的自定义字段,这些字段的功能截然不同。

使用应用程序扩展工作流程

第 7 章 工作流和业务流程 中,我们介绍了如何在项目中使用 Jira 工作流及其组件。Jira 提供了许多有用的组件,如条件、验证器和发布函数,但要充分发挥 Jira 工作流的威力,您需要使用一些第三方应用程序。在本节中,我们将介绍一些流行的应用程序及其提供的有用工作流组件。

我们要介绍的应用程序是用于 Jira 工作流的 JSU 自动化套件(JSU)。该应用程序包含多个有用的工作流组件。一个非常常见的 Jira 用例是,只有在某些工作流转换期间才需要某个字段。例如,当用户创建一个问题时,他可能不知道该问题的到期日期,因此将其留空。当该问题被某人选中并过渡到 进行中 时,就需要一个到期日期,因此我们要确保用户在问题过渡前输入一个到期日期值。JSU 附带一个 字段必填(Fields Required,JSU)验证器,它可以进行检查,确保在工作流转换完成之前为所选字段提供一个值。如下图所示,我们添加了 字段必填(JSU) 验证器,并将 描述到期日期 字段选为必填字段:

image 2023 12 01 11 03 30 181
Figure 3. Figure 12.14 – Add validator

因此,现在如果一个问题在没有提供 描述到期日期 值的情况下过渡到 进行中 状态,就会显示错误信息:

image 2023 12 01 11 04 00 957
Figure 4. Figure 12.15 – Field required validator

显然,要实现这一点,您需要确保将屏幕应用到工作流程转换中,并将所有必填字段放到屏幕上。

JSU 提供的另一个有用功能是自动为 Jira 中的任何字段设置值,作为工作流程转换的一部分。开箱即用的 Jira 自带的发布功能允许您为一些系统字段(如 Assignee 和 Resolution)设置值。这样,您就可以自动执行一些任务,例如在将问题移动到进行中时自动将其分配给自己,或在重新打开问题时清除问题的分辨率。但通常情况下,用户希望为其它字段(尤其是自定义字段)设置值。JSU 提供了这样一种发布功能,不仅可以为任何字段设置值,还可以设置注释,甚至更新其它问题的字段。

例如,我们在工作流程过渡中添加了 更新任何问题字段(JSU) 的发布函数。我们配置了后置函数,将问题下所有子任务的 Assignee 字段更新为当前用户(指定为 %%CURRENT_USER%%)。因此,现在如果一个问题过渡到 进行中 状态,其所有子任务的受让人将自动分配给执行过渡的用户。

image 2023 12 01 11 04 52 445
Figure 5. Figure 12.16 – Add post function

JSU 等第三方应用程序提供了许多有用的工作流条件、验证器和发布函数,您可以使用它们来丰富工作流的功能。