Rate limiting

Rate limiting

Why reports may load slowly

Sometimes, when you open or refresh a report, it can take longer than expected.
This doesn’t necessarily mean the app is slow — in many cases, it’s due to a process called rate limiting.

Rate limiting is Jira’s way of keeping its platform stable and responsive for all users.
It works by setting a maximum number of requests an app can make within a certain time frame. If that number is exceeded, Jira temporarily pauses new requests before allowing them to continue.

These limits can apply in two ways:

  • Ongoing request caps – controlling how many requests can be made over longer periods (like per hour)

  • Short burst controls – monitoring rapid spikes in activity over just a few seconds

When limits are reached, our app simply waits until Jira signals it can continue.
This is not an error — it’s a normal safeguard to ensure consistent performance for everyone.

Why this matters for our app

Our app needs to pull information from Jira every time you refresh a report.
The more complex the report, the more requests it needs to make.

Because Jira limits how quickly apps can send requests, these limits directly affect how fast we can load your data.

When you might notice it

You’re more likely to see delays if:

  • Many people in your team are using the app at the same time

  • You refresh multiple reports quickly

  • A report needs a lot of detailed information from Jira

  • Several reports are being updated simultaneously

In these cases, Jira may temporarily pause our requests to prevent overload.
During this pause, the app must wait before asking Jira for more data — and that’s when you see the loading time increase.

Why we can’t just “speed it up”

Unlike internet speed, rate limits are controlled entirely by Jira.
They’re there to protect the system’s performance for all customers, so we can’t bypass them.
Instead, we focus on designing our app to work as efficiently as possible within these limits.

What happens when limits are reached

When our app reaches limit, Jira responds with a special “please wait” signal.
This is not an error — it’s Jira’s way of saying, “I’m busy right now, try again in a moment.”

What Jira does

  • Jira sends a message to the app saying it has reached the limit.

  • This message includes a timer telling the app exactly how long it must wait before trying again (sometimes just a few seconds, sometimes longer if activity is high).

  • Until that time passes, any new requests for data are paused.

What you might see

As a user, you may notice:

  • Reports loading more slowly than usual

  • A short delay before data updates appear

  • In rare cases, a notification saying something like:
    “Loading is taking some time but we’re on it”

How we reduce waiting times

Even though Jira’s rate limits are outside our control, we’ve built the app to work as efficiently as possible within those limits.
This helps keep reports loading quickly and reduces the chance of hitting a pause.

Settings you can adjust

You have some control over how much data the app requests and how it requests it.
In App Settings, you can:

  • Change the Issue batch size option – This setting controls how many issues are loaded in each request. Larger batches mean fewer total requests and can help avoid hitting rate limits, but each request will be “heavier” and may take longer to process.
    In some cases, especially if a large batch contains several very big or complex issues, the processing step that collects their data may not finish within the 25-second limit. When that happens, the request fails, and retries won’t help — they will re-run the entire cycle for the same large batch of issues.
    By reducing the batch size, you can make each request lighter and ensure it finishes within the allowed time, even if it means sending more requests overall.
     Default: 100 issues per batch. You can set this between 1 and 100.

  • Change the Concurrent fetches option – This controls how many requests are sent to Jira at the same time. Fewer concurrent requests mean a lower chance of creating a sudden burst of activity that could trigger Jira’s rate limiting, but may result in reports taking longer to load.
    Increasing the value allows the app to fetch more data in parallel, which can speed up loading — especially when working with large datasets — but it also increases the risk of hitting rate limits if too many requests are sent too quickly.
    A lower value is safer for avoiding limits and can be useful when working in environments with many active users or when you notice frequent pauses caused by rate limiting. A higher value is better when you need maximum speed and are less concerned about hitting limits.
    Default: 20 parallel requests. You can set this between 2 and 30.

image-20250815-123903.png

In Report Settings, you can:

  • Use the Limit issues parameter – Instead of loading every issue that matches your JQL query, you can set a maximum number of issues to load. This is especially useful for large projects where loading all matching issues would take a long time.

image-20250811-110050.png

By adjusting these settings, you can fine-tune the balance between speed and staying within Jira’s request limits.

Frequently asked questions

Will these limits change over time?
Yes. Jira may adjust the limits to keep the system stable for all users. If changes happen, we’ll update our app to adapt and let you know if it affects your experience.

Will our app be affected right now?
Hard enforcement of these limits for free apps will begin on or after August 18, 2025.
However, Jira can apply them earlier if an app is causing high load on their system. If that happens, they’ll notify us directly.

Does this affect paid Jira apps too?
Yes. Atlassian is working on having consistent rate limits across their entire platform, for both free and paid apps.

How can I tell if we’re close to the limit?
Inside the app, you won’t see the exact numbers, but delays in report loading may indicate that we’re nearing the limit. Behind the scenes, Jira sends us “warning” signals when we’re close, so we can adjust our requests.

Will this break anything in the app?
No. The app will still work — it just might load data more slowly until Jira allows more requests again.

What message will I see if the limit is reached?
You may see:
“This app has reached the limit of allowed requests. Please try again later.”

What can be done to reduce API calls?
We already optimize requests where possible, and you can also adjust settings in the app (like batch size, concurrent fetches, or limiting issues per report) to further reduce the load.

Will I be notified directly about these changes?
No. Jira won’t contact customers directly. Instead, we’ll explain the situation if it affects you and guide you through the best settings to keep things running smoothly.