Resource Requests in Jira: How to Staff Projects Across Teams Without the Spreadsheet Chaos
In any organization running more than a couple of projects at once, the hardest part of delivery isn't tracking tasks — Jira already does that well. The hard part is the layer above the tasks: deciding who works on what, when, and for how long, when every project is competing for the same specialist teams.
That negotiation — "I need a senior backend engineer at 50% for three weeks in March" — usually happens in spreadsheets, Slack threads, and meetings that should have been an email. Nothing is tracked, commitments are vague, and nobody notices an overload until the deadline is already slipping.
This guide explains how to handle that coordination as a structured resource request workflow inside Jira itself, instead of outside it.
What is a resource request (and why Jira doesn't have one natively)
A resource request is a formal ask from a project for capacity from a team: a role, an amount of time, over a date range. Think of it as a ticket — but instead of tracking work, it tracks the commitment of people to that work.
Native Jira has no concept of this. A Jira assignment is binary (a user is on an issue or not) and instantaneous (it says nothing about how much of that person's time you're claiming, or for which weeks). Even Jira Premium's Plans only lets you reason about capacity at the team level, after the fact — not negotiate it up front between a Project Manager and a Team Manager.
That gap is exactly where coordination breaks down at scale:
- Project Managers can't see whether the people they need are actually available before they commit to a date.
- Team Managers get asked for the same person by three projects and have no single place to weigh those asks.
- PMOs have no rollup of "demand we've raised" vs "capacity we've actually secured."
The resource request lifecycle
The fix isn't another spreadsheet — it's giving the request a state machine, so everyone can see exactly where each ask stands. A complete lifecycle looks like this:
- Draft — the Project Manager sketches the need (role, hours or percentage, date range) on a timeline.
- Submitted — the request is sent to the owning Team Manager.
- In review — the Team Manager evaluates it against their team's real capacity.
- Accepted (fully or partially) — capacity is allocated. Partial allocation matters: a TM can grant 60% of what was asked, and the system tracks the gap.
- Rejected — with a reason, so the PM can re-plan instead of guessing.
- Closed / Cancelled — the request is resolved or withdrawn, but stays in the history for audit.
The point of formalizing this isn't bureaucracy. It's that a request with a status can't get silently lost, and the difference between "what we asked for" and "what we got" becomes a number you can act on, not a feeling.
How to run cross-team resource requests in Jira
Here's the practical workflow, using Resource Management for Jira — a Forge-native app that adds this coordination layer directly inside Jira.
1. Set up your teams and real calendars
Before you can allocate people, the system needs to know your actual capacity. Define your team structure (with an RBS hierarchy and scoped Team Managers, so each manager only sees their own teams), then set effective calendars per person — working patterns, holidays, part-time schedules, and exceptions. This is what makes capacity true instead of a flat "40 hours = available" assumption.
Get the calendars right first. Every fulfillment number and overload warning downstream is only as accurate as the capacity model underneath it.
2. Plan the request on a timeline
As a Project Manager, create the request directly on an interactive timeline: pick the role, the allocation (as a percentage or hours), and the period. Because you're planning visually against real calendars, you immediately see context — not just "is this person free," but "what else are they already committed to in those weeks."