Jira REST Java Client is a Java library (usable from any JVM language) which allows to easily talk to any Jira Server 4.2+ instance using new (and still evolving) REST API.
JRJC currently provides a thin layer of abstraction on top of REST API and related HTTP(S) communication. It provides a domain object model of JIRA entities on the client side - objects representing issues, priorities, resolutions, statuses, users, etc.
In the future though JRJC may be extended to handle things like caching (conditional GET, metadata) or provide a higher level of abstraction on top of existing REST API - completely shielding the user from the specifics of REST.
JRJC should be useful for integrating systems using JVM-based languages (like Java) with JIRA and specifically for integrating Atlassian products with themselves.
Javadoc is not overwhelmingly rich, but the code and the object model is rather self-explanatory and follows clear naming convention. But remember:
Use The Force, read the source.
Compatibility with Jira
The goal for the release lifecycle of this library is to provide fully compatible version with the most recent Jira Server version at the time of its release plug provide backward compatibility for officially supported Jira Server versions.
You can check current compatibility here.
The Jira REST Java Client works with Jira Server, but not with Jira Cloud.
Asking for help
https://community.atlassian.com is the most convenient place to ask JRJC development related questions. Try tagging your question with
jira-development, jrjc and I should be able to answer the question quickly.
There are already tons of questions expressed and answered as comments to these wiki pages here and that's getting difficult to manage and read.
Both JIRA REST API and JRJC are still being developed (are only in alpha phase). Your early feedback is priceless. Feel free to raise issues in JIRA project or here (for JRJC itself), ask on Atlassian forums, comment these pages.
It's for you!