JIRA整合OpenFire实现任务实时提醒

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介: 上一篇,主要介绍了搭建OpenFire和Spark实现即时沟通平台,比较简单就能完成。由于团队间配合的特殊性以及无法访问外网等诸多原因,在 部署了Jira后,一直缺乏一种即时提醒的功能。

上一篇,主要介绍了搭建OpenFire和Spark实现即时沟通平台,比较简单就能完成。由于团队间配合的特殊性以及无法访问外网等诸多原因,在 部署了Jira后,一直缺乏一种即时提醒的功能。只能依靠浏览器中定时刷新来查看是否有任务被分配。在完成了OpenFire和Spark插件后,就开始 着手设想是否可以通过Jabber协议,在Jira中有任务分派事件时,通过Jabber协议将事件信息转发出去的想法?在搜索了Jira插件后,发现有 一个插件正符合我的设想:Jabber Listener for JIRA。

下载地址:https://marketplace.atlassian.com/download/plugins/com.atlassian.jira.ext.jabbernotifier.jabber/version/12100

在JIRA上安装此插件后,需要做一些配置,这部分资料较少,这里将配置经验分享给大家,避免走同样的弯路。 官方配置说明:https://ecosystem.atlassian.net/wiki/display/JJABBER/JIRA+Jabber+Listener

下面做一下具体说明:

管理员账户登录JIRA,进入“管理员页面”,在“系统”--“高级”--“监听器”中添加监听器。如下图所示:(该步骤同官方文档)

下面编辑监听器详细信息,所有的属性信息在界面上均由详细说明,有空了再补上所有详细说明的翻译。下面将几个主要的属性做一下说明,也是我所配置的内容,留空的属性均有默认值。

XMPP Server:配置OpenFire服务器的地址(必须填写),如:107.22.173.36

XMPP Port:配置OpenFire服务器的端口,若没有修改过,则默认5222

XMPP Login:为JIRA建立一个发送通知用的账户,这里填账户名,如:JIRA_NOTIFIER

XMPP Password:上面账户密码

Users to notify:配置通知事件,如:assignee,即在当有任务分派事件时,通知用户

User‘s Jabber ID Property:配置通知的用户在OpenFire中的ID,可使用变量形式配置,如:{userName}@xxx,xxx为OpenFire服务器 名,在OpenFire的管理员页面首页可以看到。{userName}所取得值为被分派任务用户的JIRA账户名。 Notifiable Statuses:配置通知状态,默认值:ONLINE,AWAY,即当需要通知的OpenFire账号在线或离开状态时通知。

该属性当前版本存在 bug,提交的bug地址可见:https://ecosystem.atlassian.net/browse/JJABBER-30若不填写内容, 日志会报NullPointException,所以,这里必须填写配置,推荐使用:ONLINE,AWAY,OFFLINE,这样用户即时离线也会通 知,等到用户上线时会收到通知。

可以看到,为了让OpenFire与JIRA整合,还要做的一件事就是同步JIRA账户,保证 OpenFire的账户名与JIRA的账户名一致,才能使得监听器发送给正确的人,当然也可以配置JIRA的邮箱作为账户名等,支持的变量有: {email},{userName},{xmppServer},{xmppService},{projectKey}。

可能大家在配置的时候主要会碰到问题的是最后一点,其他应该都不会有问题,若依然无法发现,建议修改JIRA下的日志文件WEB-INF/classes/log4j.properties,新增以下两个属性,就能看到该插件的运作日志了,另外要注意的是,日志是JIRA程序目录下的logs目录,而是在application-data/jira/log目录下。

log4j.category.com.atlassian.jira.ext.jabbernotifier = DEBUG, console, filelog

log4j.additivity.com.atlassian.jira.ext.jabbernotifier = false

欢迎关注我的个人博客:程序猿DD

相关实践学习
【涂鸦即艺术】基于云应用开发平台CAP部署AI实时生图绘板
【涂鸦即艺术】基于云应用开发平台CAP部署AI实时生图绘板
目录
相关文章
|
前端开发 关系型数据库 MySQL
基于python+mysql的宠物领养网站系统
基于python+mysql的宠物领养网站系统
270 2
Jira-API的详细使用例子
下面是Jira-API的详细使用的例子,包含: • Jira的登陆,通过jql批量查询jira-issue, • 获得jira-project下的所有issue,assignee的详细信息, • 添加和更新defect • 下载和上传附件 • 通过Jira登录的cookies搭配requsts库发送自定义的一些http请求
2712 1
|
前端开发 应用服务中间件 Linux
使用Nginx搭建静态网站
使用Nginx搭建静态网站
2435 0
使用Nginx搭建静态网站
|
JavaScript
VUE之vxe-table高级表格(表格内增删改、导入、导出、自定义打印、列设置隐藏显示等)用法
VUE之vxe-table高级表格(表格内增删改、导入、导出、自定义打印、列设置隐藏显示等)用法
9186 0
VUE之vxe-table高级表格(表格内增删改、导入、导出、自定义打印、列设置隐藏显示等)用法
|
存储 SQL 关系型数据库
深入MySQL锁机制:原理、死锁解决及Java防范技巧
深入MySQL锁机制:原理、死锁解决及Java防范技巧
|
前端开发 Java C++
超简单使用Vite+Vue3构建共享开发和分模块打包的前端项目
使用Vite和Vue3构建支持共享组件和分模块独立打包的前端项目的方法。
1392 0
超简单使用Vite+Vue3构建共享开发和分模块打包的前端项目
|
JSON 资源调度 JavaScript
ES Module使用-原理-包管理工具npm(一)
ES Module使用-原理-包管理工具npm
481 0
ES Module使用-原理-包管理工具npm(一)
|
数据采集 算法 编译器
倚天710规模化应用 - 性能优化 -自动反馈优化分析与实践
编译器优化分成静态优化与动态优化,静态优化指传统编译器gcc/llvm时,增加的优化等级,如O1,O2,O3,Ofast,此时,编译器会依据编译优化等级增加一些优化算法,如函数inline、循环展开以及分支静态预测等等。一般情况下,优化等级越高,编译器做的优化越多,性能会更会好。在阿里生产环境中,单纯依赖于静态优化,并不能达到程序运行流畅目的,通过分析CPU硬件取指令、执行指令,往往会出现一些分支预测失败导致iCacheMiss率高的场景,限制了程序的性能进一步提升。基于此,业务引入了动态反馈优化工具,依据生产环境的实际运行数据,反哺指导编译器对程序代码进一步调整编译优化策略,提高分支预准确率
|
JavaScript 前端开发 测试技术
JS三大运行时全面对比:Node.js vs Bun vs Deno
JS三大运行时全面对比:Node.js vs Bun vs Deno
533 0
|
搜索推荐
【Axure教程】自定义表头的表格
【Axure教程】自定义表头的表格
【Axure教程】自定义表头的表格