Jira Instant Messenger Interface (JIMI)

This feature is not avaliable in current versions of JEMH, this page remains for legacy purposes



Unknown macro: {float}


JIMI: -verb (Jimmy: to force open)


Space Map


TOC

JIMI Is now aggregated into JEMH

As a standalone component, JIMI wasn't going to do much without a lot of work. By bringing it into JEMH, JIMI will leverage the abilities of JEMH for issue update, even if JEMH isn't actually used.

Development Drivers

I have inbound issue creation almost fixed through the (shameless self plug) Jira Extendable Mail Handler and that's fine as far as it goes, but with an IM interface in addition to that there is the possibility of providing much speedier interface for doing 'stuff', finding issues, watching them. My inbox is choked with notifications, I need to know but I need my inbox. Keeping an IM window up that receives notifications is a great option, and has been done in other projects. By providing a server-side Command Line Interface (CLI) in addition to that a whole host of custom commands, tweaks and reports become possible.

The intention is that this plugin will provide mechanisms to perform a variety of activities quickly, for example, creating an issue by cut/pasting content into an IM window, manage watchers, potentially move issues from one component/project to another etc. It is not an attempt to provide full Jira capabilities via IM, that's possible, but heck, how much time do you think I have!

Current Features

  • XMPP (Jabber) Server compatibility verified
  • Users are optionally 'captcha'd (anti-bot measure) and authenticated (SSL connections to IM servers are needed for password security). Once logged in, a 'command line' becomes available, enabling unix-like operations like LS, CD, PWD.
  • Navigation support to show Jira projects/keys/categories
  • Admin support, can list out full system information, memory usage etc
  • Arbitrary Java execution (may be a security risk ) through support for IM uploadable Beanshell scripts!

Near Future Features

  • Verify Server compatibility for Yahoo,Skype,Msn
  • Enable CRON like alerts on certain events, for instance MemoryUsage eg PermGen, at predetermined intervals. TODO figure out how to persist such information per-user
  • Extend support to expose viewing/downloading of issues, attachments, watchers etc
  • Extend admin support to enable scripted import of users from LDAP, potentially by CSV upload
  • Amalgamation of issue creation code from Jira Extendable Mail Handler
  • Extend the bot to connect to a conference room to enable an open 'query' mode with dangerous commands disabled

Future Features

  • Enable per-user custom saving of beanshell scripts to enable 'custom commands'
  • Infiltration of other Jira API's (eg, Dashboards/Portlets for download or link).
  • Amalgamation of Event notification code I saw somewhere, potentially setup a custom IM activity watch-list There is huge scope for this interface, just boils down to time.

Projects 'reused' in this plugin

In the best traditions of Open Source, this project borrows/extends code from:

  • [Yet Another IM Plugin] (BSD), written by Bakhtiyor Khodjayev and Sanjar Akhmedov
  • [CONFEXT:Beanshell Macro] (BSD), written by Bob Swift

There be dragons

  • This is beta software, aspects are not fully implemented and may crash Jira, though I work to stop this.
  • Used properly/improperly, the uploading of arbitrary Java code to Jira is very dangerous (just IM System.exit(0), or 'System.exec("/bin/nastyRM -rf /"); to see what I mean! (no really, don't)), currently anyone who can authenticate could execute this code. It should be possible to disable this via the Services properties

Use only on development systems out of interest!

JIMI Installation

JIMI Configuration

JIMI Usage

Version History

0.?

more features from near-term feature list

0.1.1

Initial release providing basic BOT architecture, command parsing, virtual directories and navigation

Open Issues

todo