服务是在 JIRA 中定期运行的类。由于服务在 JIRA 中运行,因此它能够使用所有JIRA API——而且,由于它是用 Java 编写的,它可以使用任何 Java 库。
服务很有用,因为它们使您能够通过定期将数据拉入 JIRA 来与外部系统集成。JIRA 附带了许多预先编写的服务,并且可以在运行时编写和插入自定义服务。如果您希望服务对 JIRA 问题执行典型操作(例如,关闭满足特定条件的问题列表),则可以将 Jelly 服务配置为运行自定义Jelly 脚本。
编写新服务?
如果您不扩展内置的 JIRA 服务,您应该强烈考虑使用 SAL API 编写新服务。有关更多信息,请参阅我们的插件教程 - 通过 SAL 安排事件。
注册服务
对于自定义编写的服务,请确保您的服务类位于 JIRA 可以看到的类路径中 - 最佳位置通常是JIRA 安装目录<jira-application-dir>/WEB-INF/classes
中的子目录或<jira-application-dir>/WEB-INF/lib
子目录(作为 JAR 文件)。
要设置 JIRA 服务:
- 以具有JIRA 系统管理员 全局权限的用户身份登录。
- 选择管理 > 系统 > 高级 > 服务(选项卡)以打开服务页面。
键盘快捷键:g + g +开始输入服务 - 在 页面底部的添加服务表单中,填写以下字段:
- 名称——该服务的描述性名称。
- Class — 服务的完全限定类名。这很可能具有See Sample services提供的服务类名称的形式。要使用 JIRA 的内置服务类之一,首先单击“内置服务”链接以展开服务类列表,然后单击列表中特定类的名称。内置服务的完全限定类名将添加到Class字段。
com.atlassian.jira.service.services.
type.Type
Service
- 延迟— 服务运行之间的延迟(以分钟为单位)。
例如,要添加调试服务,请单击“内置服务”链接,然后单击“调试服务”链接:
- 完成添加服务表单上的字段后,单击添加服务按钮。这将打开“编辑服务”页面,您可以在其中配置新服务的选项。
您的服务选项将根据您选择的服务类型(即类别)而有所不同。 - 完成编辑服务页面上的其余选项后,单击更新按钮以保存新服务的选项。
在本页面:
此页面上的信息不适用于JIRA OnDemand。
编辑服务属性
要编辑服务的属性:
- 以具有JIRA 系统管理员 全局权限的用户身份登录。
- 选择管理 > 系统 > 高级 > 服务(选项卡)以打开 服务页面。
键盘快捷键:g + g +开始输入服务 - 单击与您要编辑其属性的服务关联的编辑链接。
例如,要更改从 JIRA 发送电子邮件的时间间隔,请编辑邮件队列服务并将延迟从默认值 1 分钟更改。
删除服务
要删除服务:
内置服务
JIRA 有一些开箱即用的有用服务,可以按原样使用或修改以在您自己的环境中使用。所有内置服务的源代码都是可用的,并且应该让您很好地了解编写自己的服务是多么简单。所有内置服务都包含在 JIRA 中,只需配置即可使用。
出口服务
导出服务对于定期备份 JIRA 很有用。每次运行时,它都会将所有数据从 JIRA 导出到作为参数提供的目录中。导出文件带有时间戳,因此该服务可以充当备份系统。
要测试此服务,请添加一个具有com.atlassian.jira.service.services.export.ExportService类的服务。JIRA 在新的 JIRA 安装中设置 ExportService(一旦安装向导完成)。因此,您可能会发现您已经拥有一个。
您可以在扩展的 JIRA 源存档(JIRA 客户可以从https://my.atlassian.com下载)的以下目录中找到此类 :<source-installation-directory>/jira-project/jira-components/jira-core/src/main/java/com/atlassian/jira/service/services/export
果冻服务
Jelly是一种脚本语言,它允许 JIRA 中的任务自动化。Jelly Service 定期运行 Jelly 脚本。例如,您可以使用它来定期运行搜索请求、遍历结果并添加评论、更改问题状态(请参阅Jelly 示例)。
如果您正在考虑编写自定义服务,通常定期调用 Jelly 脚本可能是更简单的选择。
在 Linux 中,输入文件和输出文件属性与系统的 / 文件夹相关。请小心选择 JIRA 可以访问的路径。
您可以在扩展的 JIRA 源存档(JIRA 客户可以从https://my.atlassian.com下载)的以下目录中找到此类 :<source-installation-directory>/jira-project/jira-components/jira-core/src/main/java/com/atlassian/jira/jelly/service
邮件处理服务
JIRA 邮件处理程序服务不能通过 JIRA 的服务页面进行配置(除了能够被删除)。有关在 JIRA 中配置邮件处理程序的更多信息,包括创建自定义邮件处理程序,请参阅从电子邮件创建问题和评论。
定制服务
如果您是希望编写自己的 JIRA 服务的 JIRA 开发人员,请注意 JIRA 服务类必须全部扩展com.atlassian.jira.service.JiraService。大多数通过扩展com.atlassian.jira.service.AbstractService或更专业的子类来实现。