Connecting custom app to JIRA: Which API or library to use?

Hey everyone, I’m trying to figure out how to hook up my app to our company’s JIRA system. It’s a bit of a head-scratcher!

My setup:

  • Frontend: Angular
  • Backend: Java with Spring MVC
  • JIRA: On-premise installation

I’ve been poking around the JIRA dev docs, but I’m not sure which way to go. There seem to be a few options:

  1. JIRA Java Rest client
  2. JIRA Agile Rest API
  3. JIRA Maven dependency

Has anyone worked with these before? What’s the best approach for grabbing board, issue, and story data from JIRA?

Any tips or explanations would be super helpful. Thanks!

I’ve actually integrated JIRA with a custom app recently, and I found the JIRA Java REST client to be quite robust for our needs. It abstracts away a lot of the complexities of working with the REST API directly, which saved us considerable development time.

One thing to keep in mind is that you’ll need to ensure your JIRA version is compatible with the client library you choose. We ran into some issues initially because our on-premise JIRA was a bit outdated.

For grabbing board, issue, and story data, the Java client provides convenient methods that map directly to JIRA’s data model. This made it much easier to work with the data in our Java backend.

Performance-wise, we noticed that batching requests for large datasets was crucial to prevent timeouts. Also, caching frequently accessed data on your end can significantly reduce API calls and improve responsiveness.

Lastly, don’t forget to implement proper error handling and retries. JIRA’s API can sometimes be a bit finicky, especially with on-premise installations.

Having integrated JIRA with custom applications before, I’d suggest using the JIRA REST API directly. It offers the most flexibility and control over your integration. Since you’re using Java with Spring MVC, you can easily make HTTP requests to the JIRA API endpoints.

For authentication, consider using OAuth or API tokens, depending on your security requirements. When fetching board, issue, and story data, make sure to implement pagination to handle large datasets efficiently.

One crucial tip: thoroughly test your integration with different JIRA project configurations. Some fields or workflows might be customized in your company’s JIRA instance, which could affect your app’s functionality.

Lastly, implement robust error handling and logging. JIRA API responses can sometimes be inconsistent, especially with custom fields or plugins installed.

hey mandy, i’ve worked with JIRA’s REST API before and it’s pretty solid. for your setup, i’d recommend going with the JIRA REST API directly. it’s flexible and well-documented. you can make HTTP requests from your java backend to fetch board and issue data. just remember to handle authentication properly!