Jira Software Server primarily uses a REST API. The REST API uses JSON as its communication format and standard HTTP methods like GET, PUT, POST and DELETE. The URI structure for Jira's REST API is http://host:port/context/rest/api-name/api-version/resource-name
. There are two main API names available: auth
for authentication-related operations and api
for everything else. The current API version is 2, but there's also a symbolic version called latest
which resolves to the latest supported version. Authentication methods for the REST API include OAuth and HTTP basic authentication (when using SSL).
Jira also provides webhooks, which are user-defined callbacks over HTTP specific to the Jira REST API. While Jira previously had SOAP and XML-RPC APIs, these were removed in Jira 7.0 for Server. Atlassian encourages using the REST APIs instead.
There is also an Atlassian platform GraphQL API that can be used to access Jira data, among other Atlassian products.
Yes, the official Jira Software Server API does support webhooks. Here are the key points about webhooks in Jira Server:
You can subscribe to a wide variety of events in Jira Server webhooks, including:
Issue events:
Issue link events:
Comment events:
Project events:
Version events:
Sprint events:
Board events:
Feature enabled/disabled events for various Jira features
When registering a webhook, you need to provide:
You can register webhooks using:
There are some known limitations in older versions of Jira (5.2.x and earlier) regarding JQL usage with webhooks, so it's important to check the specific version documentation if using an older Jira instance.
Based on the search results, here are the key points about API rate limits for Jira Software Server:
There are no published specific rate limits for the Jira Software Server API.
The rate limiting logic is evolving continuously to maximize reliability and performance for customers.
While exact limits are not published, there are some general guidelines:
Jira limits the rate of REST API requests to ensure services remain reliable and responsive.
Rate limiting is not used to differentiate service levels for different customers or apps.
Rate limiting is based on concurrency and cost of requests.
Different types of authentication (user, app, app+user, anonymous) have separate cost budgets.
Minimizing the amount of data requested can help avoid rate limiting.
Using features like caching, pagination, and webhooks can reduce API request volume.
For large-scale processing, consider scheduling during off-peak hours.
Design apps to scale by using "App + user" cost budgets rather than a single "App" budget.
Implement backoff and retry logic to handle potential rate limiting.
Avoid excessive concurrency or multi-threading, as it may trigger rate limiting.
Use context parameters and efficient querying to minimize necessary API calls.
For bulk operations, anticipate and account for potential rate limiting.
While specific limits are not published, developers should design their integrations to be efficient and implement proper error handling for potential rate limiting responses. The Jira API may return 429 status codes if rate limits are exceeded.
Based on the search results, here are the key points regarding the most recent version of the Jira Software Server API:
The current API version is 2. This is mentioned in the documentation for Jira Server REST API.
There is also a symbolic version called "latest" which resolves to the latest version supported by a given Jira instance.
For Jira Server 8.3.4 specifically, which is the version mentioned in the question, the REST API documentation is available at https://docs.atlassian.com/software/jira/docs/api/REST/8.3.4/.
The REST API version does not necessarily correspond directly to the Jira Software version number. Even for newer Jira versions like 8.3.4, the API version is still 2.
When making API calls, you can use either the numeric version (2) or "latest" in the URL path, for example:
http://host:port/context/rest/api/2/resource-name
or
http://host:port/context/rest/api/latest/resource-name
There is a WADL document available that contains documentation for each resource in the Jira REST API.
In summary, the most recent version of the Jira Software Server API is version 2, regardless of the Jira Software version being used (within reason - very old versions may differ). When integrating with a Jira Server installation, you can use API version 2 or the "latest" symbolic version in your API calls.
Here are the key steps to get a developer account for Jira Software Server to create an API integration:
Create a Jira user account:
Generate an API token:
Set up authentication:
Make API requests:
Key points to consider:
Best practices:
By following these steps, you can set up a dedicated developer account to securely integrate with the Jira Software Server API. Let me know if you need any clarification or have additional questions!
Based on the search results, here are the key data models you can interact with using the Jira Software Server API, along with what is possible for each:
It's important to note that while there are some differences between Jira Server and Jira Data Center, the APIs are generally the same for both products. The main differences are in cluster-specific APIs for Data Center. Additionally, Atlassian is focusing more on cloud development, but Data Center continues to receive investment and has an active roadmap.