Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

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


Wiki Markup
{float:right|background=#fafaea|margin=14px|padding=5px|width=300px|border: solid navy}
{div:style=margin-left: 5px}
!crowbar.png!
JIMI: _-verb ([Jimmy|http://dictionary.reference.com/browse/jimmy]: to force open)_
----
*Space Map*
{pagetree:root=@self|sort=natural|excerpt=false|reverse=false}
{div}
----
{div:style=margin-left: 5px}
*TOC*
{toc}
{div}
{float} 

{info:title=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.
{info}

h3. Development Drivers
I have inbound issue creation almost fixed through the (shameless self plug) [Jira Extendable Mail Handler|http://confluence.atlassian.com/x/CIIKCg] 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!

h3. 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!  

h3. 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|http://confluence.atlassian.com/x/CIIKCg]
- Extend the bot to connect to a conference room to enable an open 'query' mode with dangerous commands disabled

h3. 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. 

h4. Projects 'reused' in this plugin
In the best traditions of Open Source, this project borrows/extends code from:
- [Yet Another IM Plugin] ([BSD|http://www.opensource.org/licenses/bsd-license.php]), written by Bakhtiyor Khodjayev and Sanjar Akhmedov
- [CONFEXT:Beanshell Macro] ([BSD|http://www.opensource.org/licenses/bsd-license.php]), written by Bob Swift

{warning:title=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!*
{warning}

h2. [JIMI Installation]
h2. [JIMI Configuration]
h2. [JIMI Usage]

h2. 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|

h2. Open Issues
todo

{panel}
{gallery:title=Screenshots|columns=3|page=JIMI Usage}
{panel}

...