JiraRMI is a plug-in that exposes much of Jira's core functions over RMI allowing for rich integration between Jira and Java applications. It is similar to the Jira RPC (SOAP) plug-in, although more efficient and richer in functionality.
The JiraRMI plug-in is actually not really a plug-in but a Jira service. On Jira start-up, an RMI registry is created and the following RMI objects are registered:
Authentication Service – Authenticates users against Jira and manages JiraRMI sessions.
User Service – Create, update, and search for users using this service. Functions are also provided to reset users' passwords.
Group Service – Manages user groups, including user membership.
Project Service – Includes functions for managing projects, categories and components.
Issue Service – Provides functions for creating, updating and retrieving issues. Also allows you to progress workflow actions.
Work Log Service – Creates, updates, and retrieves issue work logs.
Search Service – Use this interface to search for issues using compound queries.
Workflow Service – Allows you to query project workflows.
Attachment Service – Allows you to manage attachments, including retrieving attachment contents.
Comment Service – Create, update, and retrieve comments using this interface.
Custom Field Service - Allows you to search for custom fields.
Change History Service - Examine the change history of an issue.
Issue Constants Service - Retrieve the issues constants: issue-type, priority, resolution, and status.
Version Service – Retrieves project version information.
JiraRMI was originally developed at ReserveAmerica and has been in production since June of this year.
Requirements:
· Java Runtime Environment (JRE) 1.5 or later
· Jira 3.12
Installation:
(1) Build the project using the ant file, build.xml.
(2) Copy the files listed below from the "dist" directory to the Jira installation directory,
< jira-dir >/atlassian-jira/WEB-INF/lib:
- jirarmi.jar
- ra-commons.jar
(3a) Modify the security policies in the file /conf/catalina.policy. Add the following lines:
grant codeBase "file:${catalina.home}/atlassian-jira/-" {
permission java.security.AllPermission;
};
(3b) (optional) Modify the log4j.properties in /atlassian-jira/WEB-INF/classes/lo4gj.properties.
Add the following lines (changing to the appropriate logging level):
log4j.category.com.reserveamerica.jirarmi = WARN, console, filelog
log4j.additivity.com.reserveamerica.jirarmi = false
log4j.category.com.reserveamerica.commons = WARN, console, filelog
log4j.additivity.com.reserveamerica.commons = false
(4) Start Jira using the following syntax: /bin/startup.bat -security
(5) Install the RMI service in Jira as follows:
(a) Go to Administration-->Services
(b) Add a service with the following parameters:
Name: JiraRMI Service
Class: com.reserveamerica.jirarmi.service.JiraRmiService
RMI Registry Port: 7099 (default). This is the port the client initially connects to in order to lookup RMI objects.
You may choose a different port if this one is already taken.
RMI Port: 7100 (default). This is the port over which actual RMI calls are made. You may choose a different
port if this one is already taken.
Session Expiration (seconds): 1800 (default)
Delay: 1
(6) If successful you should see the following Log4j log:
"[JiraRmiService] ...JiraRMI service successfully started."
Product's homepage