You're on your way to the next level! Join the Kudos program to earn points and save your progress.
Level 1: Seed
25 / 150 points
1 badge earned
Challenges come and go, but your rewards stay with you. Do more to earn more!
What goes around comes around! Share the love by gifting kudos to your peers.
Keep earning points to reach the top of the leaderboard. It resets every quarter so you always have a chance!
Join now to unlock these features and more
I'm writing an app for internal use that needs to collect data from a Jira Server. Basically, it will crawl the Jira server, starting with Projects and recursing down into Issues looking for specific bits of data.
Everything I've read seems to indicate that the REST API is best suited for this. In fact, everything I've read about the Java API seems to indicate that it's intended for writing plugins for JIRA, intended to be installed on the server.
The one thing that bothers me, though, is that the architecture diagram for the Java API here: https://developer.atlassian.com/server/jira/platform/integrating-with-jira-server/ has a "Common Component" labelled "REST". Is there a way to use that common component in my Java projects? I'm about to go down a path of creating a bunch of Jackson annotated objects so that I can Java-fy the REST API. I would love to avoid doing that work if it's already been done.
Correct, the Java API is internal, your code that uses that would be running inside a server.
REST is the external interface. It is provided by internal code though, so there's some commonality there.
Yes, you can use that common component if your projects are running in a context that draws in the Jira libraries that provide it.
But I think what you're looking for is the flat "no". Common component in the docs you're reading means "common within the context of the Jira application". So if you're not coding within Jira (and you've said you are not), then they're no use to you.
Is it a correct assumption that the Rest API is wider than Java API? I have my Jira plugin and there is some functionality that is only available via Rest. For example I don’t find a way to list all the Agile sprints for a project via Java API while it exists in the Rest
Absolutely not. The Java api can do anything in Jira that isn't prevented by the structure of the data. The REST api is a limited set of calls that have been made available by Atlassian coding for them to be exposed.
Recommended Learning For You
Level up your skills with Atlassian learning
Jira Align Program Essentials
Learn how to use Jira Align at the program level and how to plan for and manage your Program Increment (PI).
Managing Agile Boards and Reports
Learn how to pick the right board type for your team and customize it to fit your specific requirements.
Atlassian Certified Associate
Jira Software Board Configuration
Earn an associate-level credential from Atlassian that shows you can effectively configure Jira Software boards.