上一篇凶硅,主要介紹了搭建OpenFire和Spark實(shí)現(xiàn)即時(shí)溝通平臺咏尝,比較簡單就能完成编检。由于團(tuán)隊(duì)間配合的特殊性以及無法訪問外網(wǎng)等諸多原因扰才,在 部署了Jira后,一直缺乏一種即時(shí)提醒的功能蕾总。只能依靠瀏覽器中定時(shí)刷新來查看是否有任務(wù)被分配。在完成了OpenFire和Spark插件后递雀,就開始 著手設(shè)想是否可以通過Jabber協(xié)議蚀浆,在Jira中有任務(wù)分派事件時(shí),通過Jabber協(xié)議將事件信息轉(zhuǎn)發(fā)出去的想法杨凑?在搜索了Jira插件后摆昧,發(fā)現(xiàn)有 一個(gè)插件正符合我的設(shè)想:Jabber Listener for JIRA绅你。
在JIRA上安裝此插件后忌锯,需要做一些配置,這部分資料較少汉规,這里將配置經(jīng)驗(yàn)分享給大家针史,避免走同樣的彎路碟狞。 官方配置說明:https://ecosystem.atlassian.net/wiki/display/JJABBER/JIRA+Jabber+Listener
下面做一下具體說明:
管理員賬戶登錄JIRA,進(jìn)入“管理員頁面”频祝,在“系統(tǒng)”--“高級”--“監(jiān)聽器”中添加監(jiān)聽器常空。如下圖所示:(該步驟同官方文檔)
下面編輯監(jiān)聽器詳細(xì)信息盖溺,所有的屬性信息在界面上均由詳細(xì)說明,有空了再補(bǔ)上所有詳細(xì)說明的翻譯昆禽。下面將幾個(gè)主要的屬性做一下說明,也是我所配置的內(nèi)容捡硅,留空的屬性均有默認(rèn)值。
XMPP Server:配置OpenFire服務(wù)器的地址(必須填寫)壮韭,如:107.22.173.36
XMPP Port:配置OpenFire服務(wù)器的端口泰涂,若沒有修改過逼蒙,則默認(rèn)5222
XMPP Login:為JIRA建立一個(gè)發(fā)送通知用的賬戶,這里填賬戶名是牢,如:JIRA_NOTIFIER
XMPP Password:上面賬戶密碼
Users to notify:配置通知事件驳棱,如:assignee社搅,即在當(dāng)有任務(wù)分派事件時(shí),通知用戶
User‘s Jabber ID Property:配置通知的用戶在OpenFire中的ID形葬,可使用變量形式配置笙以,如:{userName}@xxx猖腕,xxx為OpenFire服務(wù)器 名恨闪,在OpenFire的管理員頁面首頁可以看到。{userName}所取得值為被分派任務(wù)用戶的JIRA賬戶名老玛。 Notifiable Statuses:配置通知狀態(tài)互亮,默認(rèn)值:ONLINE余素,AWAY,即當(dāng)需要通知的OpenFire賬號在線或離開狀態(tài)時(shí)通知威根。
該屬性當(dāng)前版本存在 bug视乐,提交的bug地址可見:https://ecosystem.atlassian.net/browse/JJABBER-30若不填寫內(nèi)容佑淀, 日志會報(bào)NullPointException伸刃,所以谎砾,這里必須填寫配置景图,推薦使用:ONLINE,AWAY,OFFLINE挚币,這樣用戶即時(shí)離線也會通 知妆毕,等到用戶上線時(shí)會收到通知激捏。
可以看到远舅,為了讓OpenFire與JIRA整合痕钢,還要做的一件事就是同步JIRA賬戶任连,保證 OpenFire的賬戶名與JIRA的賬戶名一致,才能使得監(jiān)聽器發(fā)送給正確的人繁涂,當(dāng)然也可以配置JIRA的郵箱作為賬戶名等扔罪,支持的變量有: {email}矿酵,{userName}矗积,{xmppServer}棘捣,{xmppService}乍恐,{projectKey}。
可能大家在配置的時(shí)候主要會碰到問題的是最后一點(diǎn)壤巷,其他應(yīng)該都不會有問題胧华,若依然無法發(fā)現(xiàn)矩动,建議修改JIRA下的日志文件WEB-INF/classes/log4j.properties,新增以下兩個(gè)屬性释漆,就能看到該插件的運(yùn)作日志了悲没,另外要注意的是,日志是JIRA程序目錄下的logs目錄男图,而是在application-data/jira/log目錄下示姿。
log4j.category.com.atlassian.jira.ext.jabbernotifier = DEBUG, console, filelog
log4j.additivity.com.atlassian.jira.ext.jabbernotifier = false
歡迎關(guān)注我的個(gè)人博客:程序猿DD