Lesstep
GitLab · CI/CD jobs · resource groups · Checked October 28, 2026

GitLab: a job waiting for a resource

A job with resource_group runs only when the resource of its group is free. A resource group has one resource, so only one of its jobs runs at a time, across all the pipelines of the project. Until its turn, the job has the status waiting_for_resource, and its page says the following, with a View job currently using resource button when a job holds the resource (GitLab source lib/gitlab/ci/status/processable/waiting_for_resource.rb, read October 28, 2026):

This job is waiting for resource: production

When a job takes the resource and gives it back

Which job goes next: the process modes

The process mode can be changed only through the API (update a resource group, process_mode). With Prevent outdated deployment jobs on, a deployment job older than the latest deployment fails when its turn comes, with "The deployment job is older than the latest deployment, and therefore failed." (app/services/ci/resource_groups/assign_resource_from_resource_group_service.rb).

How to find the job using the resource

curl -H "PRIVATE-TOKEN: your-token" "https://gitlab.com/api/v4/projects/group%2Fproject/resource_groups/production/current_job"
curl -H "PRIVATE-TOKEN: your-token" "https://gitlab.com/api/v4/projects/group%2Fproject/resource_groups/production/upcoming_jobs"

query {
  project(fullPath: "group/project") {
    job(id: "gid://gitlab/Ci::Build/123") { status detailedStatus { action { buttonTitle path } } }
  }
}

What to do

GitLab pipelines in IntelliJ IDEA

Pipeline Inbox for GitLab CI, a plugin by Lesstep for JetBrains IDEs 2024.1 or later, lists the pipelines of a GitLab project with their jobs by stage. It shows a job that waits for its resource as "waiting for resource", with the number of the job that uses the resource when GitLab gives one (detailedStatus.action), and keeps the pipeline refreshing until the job runs. Before version 1.0.21, it did not say which job used the resource. Viewing is free; retrying, canceling and running jobs are Pro (US$1.50 a month, with a 30-day trial).

GITLAB is a trademark of GitLab Inc.; IntelliJ IDEA is a trademark of JetBrains s.r.o. This page is not affiliated with or endorsed by GitLab Inc. or JetBrains.

More: GitLab job dropped as stuck or over its timeout · GitLab "You are not authorized to run this manual job" · GitLab pipeline or job refused (400, 403, 409, 429) · GitLab pipeline failed with no jobs · GitLab job log refused or empty · GitLab pipeline plugins for IntelliJ IDEA, compared · 日本語