GitLab PM Associate study materials
GitLab PM Associate study resources

GitLab PM Associate practice questions

One question at a time. Build your GitLab PM Associate understanding.

First 50 of 200 questions. Each one lists the choices, the correct answer, and an explanation. The checker at the top of this page saves progress in this browser when it is available.

Continue in the practice tool above to load more questions, 50 at a time.

Question 1GitLab platform fundamentals

In GitLab, which visibility level makes a project's repository and issues viewable by anyone on the internet, including people who are not signed in?

  1. Internal
  2. Public Correct answer.
  3. Private
  4. Confidential

Explanation

GitLab offers three project visibility levels: Private, Internal, and Public. A Public project is visible to everyone, including anonymous users who are not logged in, subject to feature permissions. Internal projects are visible only to authenticated users of the instance.

Question 2GitLab platform fundamentals

A PM wants every new project created under a group to inherit the group's merge request approval rules. Which GitLab feature is designed for this?

  1. Instance-level CI/CD variables
  2. Group-level approval settings applied to descendant projects Correct answer.
  3. Project badges rendered on the repository page
  4. Personal access tokens on each developer account

Explanation

GitLab allows merge request approval settings to be configured at the group level and cascaded to projects beneath that group. This centralizes governance so individual projects do not need to re-declare the same approval rules. Instance variables, tokens, and badges do not control approval inheritance.

Question 3GitLab platform fundamentals

In GitLab, what does a protected branch primarily prevent?

  1. Direct pushes by users lacking the allowed role Correct answer.
  2. Use of CI/CD runners on that branch
  3. Cloning of the repository over HTTPS
  4. Creation of merge requests targeting the branch

Explanation

A protected branch restricts who may push directly to it and can also control who may merge into it. By default, only Maintainers can push to a protected branch unless the setting is changed. It does not block merge requests, cloning, or runner usage.

Question 4GitLab platform fundamentals

A team wants pipeline jobs to run only when a merge request is open for the source branch. Which GitLab CI/CD keyword best expresses this?

  1. except with the tags condition
  2. rules with the merge_request_event condition Correct answer.
  3. when set to manual
  4. only with the schedules condition

Explanation

The rules keyword supports a merge_request_event condition that evaluates true for merge request pipelines. Using rules:if with $CI_PIPELINE_SOURCE == "merge_request_event" is the current recommended approach. The legacy only/except syntax is deprecated for new configurations.

Question 5GitLab platform fundamentals

What is the purpose of a GitLab issue board?

  1. To define environment variables for pipelines
  2. To manage SSH keys for project members
  3. To visualize issues as cards moving across labeled lists Correct answer.
  4. To store binary release artifacts for download

Explanation

An issue board presents issues as cards organized into lists, typically by label, so a team can track workflow stages visually. Dragging a card between lists updates the associated label. Boards do not store artifacts, define variables, or manage SSH keys.

Question 6GitLab platform fundamentals

A PM needs to know which merge requests introduced a specific line of code and when. Which GitLab feature answers this directly?

  1. The group's audit events log
  2. Blame view on the file Correct answer.
  3. The repository's commit signature status
  4. The project's CI/CD pipeline graph

Explanation

The blame view annotates each line of a file with the commit, author, and date that last changed it. That lets a reviewer trace a line back to the merge request and commit. Pipeline graphs, audit events, and signature status do not provide per-line attribution.

Question 7GitLab platform fundamentals

Which GitLab object groups related issues and merge requests toward a shared deliverable and can be assigned a milestone?

  1. Epic Correct answer.
  2. Wiki page
  3. Snippet
  4. Badge

Explanation

Epics group related issues and merge requests under a single strategic objective and can carry a milestone and dates. They provide a higher-level planning view above individual issues. Snippets, wiki pages, and badges serve unrelated purposes.

Question 8GitLab platform fundamentals

What does the GitLab merge request "Squash commits" option do when enabled?

  1. Runs the pipeline twice to validate both branches
  2. Deletes the source branch automatically after merging
  3. Rebases the target branch onto the source branch
  4. Combines the branch commits into a single commit on merge Correct answer.

Explanation

Squashing combines all commits from the source branch into one commit when the merge request is merged, producing a cleaner target history. It does not itself delete branches or alter pipeline execution. Branch deletion is a separate setting.

Question 9GitLab platform fundamentals

A pipeline job needs a value that differs between the staging and production environments but should not be committed to the repository. Which GitLab feature is intended for this?

  1. CI/CD variables scoped to an environment Correct answer.
  2. A README section in the repository
  3. An issue label applied to the job
  4. A project badge with the value

Explanation

CI/CD variables can be scoped to specific environments so a job running in production receives a different value than the same job in staging. They are stored in project settings and kept out of the repository. README text, badges, and labels are not injected into job environments.

Question 10GitLab platform fundamentals

Which GitLab role is the minimum that can typically manage project members and settings?

  1. Guest
  2. Reporter
  3. Developer
  4. Maintainer Correct answer.

Explanation

Maintainer is the role that can change project settings and manage members, short of Owner-level actions on a group. Developers can push code and run pipelines but cannot administer the project. Reporter and Guest have progressively read-only or limited access.

Question 11GitLab platform fundamentals

What is the primary function of GitLab Container Registry?

  1. Managing merge request approval rules
  2. Hosting static websites for the group
  3. Storing and serving Docker images tied to a project Correct answer.
  4. Scheduling pipelines at fixed intervals

Explanation

The Container Registry lets a project store, version, and pull container images using standard Docker commands. Images are namespaced under the project path. It does not host static sites, schedule pipelines, or govern approvals.

Question 12GitLab platform fundamentals

A team wants each merge request to require a successful pipeline before it can be merged. Which setting enforces this?

  1. Auto-merge with a delayed schedule
  2. Pipelines must succeed in the merge request settings Correct answer.
  3. Merge checks with the squash option enabled
  4. Requiring a signed commit on the target branch

Explanation

The "Pipelines must succeed" merge check blocks merging until the head pipeline passes. This ties merge readiness to CI results. Squash options, auto-merge timing, and commit signing do not gate merges on pipeline success.

Question 13GitLab platform fundamentals

In GitLab, what distinguishes a milestone from a label?

  1. A milestone represents a time-boxed target, while a label is a flexible tag Correct answer.
  2. Both are identical and differ only in color
  3. A label is time-boxed, while a milestone is a free-form tag
  4. A milestone can only be applied to merge requests, while a label applies to issues

Explanation

Milestones track progress toward a dated target such as a release, aggregating issues and merge requests. Labels are free-form tags used for categorization, workflow states, and filtering. They serve complementary but distinct planning purposes.

Question 14GitLab platform fundamentals

Which GitLab feature lets a reviewer propose a specific code change directly inside a merge request diff?

  1. Squash
  2. Cherry-pick
  3. Revert commit
  4. Suggested change Correct answer.

Explanation

A suggested change lets a reviewer propose an exact edit within a diff, which the author can apply with one click. Cherry-pick and revert operate on whole commits, and squash rewrites history on merge. Only suggested changes edit code inline in review.

Question 15GitLab platform fundamentals

What does GitLab Pages do?

  1. Runs dynamic server-side application code
  2. Publishes static websites from a repository via CI/CD Correct answer.
  3. Provides a hosted relational database
  4. Stores container images for deployment

Explanation

GitLab Pages publishes static site content generated by a CI/CD job to a project-specific URL. It serves static assets only and does not execute server-side code or provide databases. Container images are stored in the Container Registry instead.

Question 16GitLab platform fundamentals

A PM wants to see how long issues stay in each label-defined stage of the workflow. Which GitLab analytics feature is designed for this?

  1. Merge request approval rules
  2. Code owners file
  3. Value stream analytics Correct answer.
  4. Container scanning report

Explanation

Value stream analytics measures the time issues and merge requests spend in each defined stage, exposing flow bottlenecks. It is built for delivery-cycle insight rather than security or review policy. Scanning reports, code owners, and approval rules serve other purposes.

Question 17GitLab platform fundamentals

What is the role of a CODEOWNERS file in GitLab?

  1. It defines CI/CD job dependencies
  2. It designates who must review changes to matching paths Correct answer.
  3. It sets the default branch for the repository
  4. It encrypts files matching the listed patterns

Explanation

CODEOWNERS maps file path patterns to users or groups who should review changes to those paths. When approval rules reference code owners, their review can be required before merge. The file does not encrypt content, define job dependencies, or set the default branch.

Question 18GitLab platform fundamentals

A team wants merge requests to be merged automatically once all approvals and pipeline checks pass. Which GitLab feature enables this?

  1. Fast-forward merge
  2. Auto-merge Correct answer.
  3. Cherry-pick
  4. Draft status

Explanation

Auto-merge queues a merge request so it merges automatically when the required approvals and successful pipeline conditions are satisfied. It removes the need for a manual click at the moment conditions clear. Cherry-pick, fast-forward, and draft status do not schedule automatic merging.

Question 19GitLab platform fundamentals

Which statement best describes the relationship between a GitLab group and its projects?

  1. A project can contain multiple groups, each with its own members
  2. A group can contain multiple projects and subgroups that share members and settings Correct answer.
  3. A project cannot belong to more than one group
  4. A group is a synonym for a single repository

Explanation

Groups act as containers that hold projects and nested subgroups, allowing members and settings to be shared across them. A project belongs to exactly one group namespace at a time. Groups are not repositories, and projects do not contain groups.

Question 20GitLab platform fundamentals

What does the GitLab dependency scanning feature do?

  1. Detects known vulnerabilities in a project's open-source dependencies Correct answer.
  2. Measures issue cycle time across stages
  3. Publishes the project as a static website
  4. Formats source code to a shared style

Explanation

Dependency scanning analyzes a project's libraries and packages against vulnerability databases and reports findings in the security dashboard. It is distinct from code formatting, flow analytics, and Pages publishing. Results feed merge request security widgets.

Question 21GitLab platform fundamentals

A merge request shows a red pipeline. What is the most direct interpretation for a PM?

  1. At least one job in the pipeline failed Correct answer.
  2. The source branch is protected
  3. The merge request has no reviewers assigned
  4. The repository is private

Explanation

A failed pipeline status means one or more jobs did not complete successfully, which may block merging if that check is enabled. Reviewer assignment, branch protection, and visibility do not determine pipeline color. The PM should open the pipeline to find the failing job.

Question 22GitLab platform fundamentals

Which GitLab feature would a PM use to define a recurring nightly pipeline run?

  1. Webhooks
  2. Pipeline schedules Correct answer.
  3. Protected tags
  4. Issue templates

Explanation

Pipeline schedules run pipelines on a cron-style cadence, such as nightly builds. They are configured per project with a target branch and optional variables. Webhooks react to events, protected tags restrict tag changes, and issue templates standardize issue text.

Question 23GitLab platform fundamentals

A group has many projects and the PM wants one dashboard summarizing merge request throughput across them. Which GitLab capability supports this?

  1. Group-level merge request analytics Correct answer.
  2. An individual's SSH key list
  3. A single project's CI/CD editor
  4. A project's wiki sidebar

Explanation

Merge request analytics can be viewed at the group level to aggregate throughput and time-to-merge across all projects in the group. This gives leadership a cross-project view without visiting each project. The CI editor, SSH keys, and wiki sidebar are unrelated.

Question 24GitLab platform fundamentals

Why might a PM choose an internal visibility for a project on a self-managed GitLab instance?

  1. To prevent all users from cloning the repository
  2. To make the repository readable by anonymous internet visitors
  3. To restrict access to only the project's direct members
  4. To let any signed-in instance user view it without exposing it publicly Correct answer.

Explanation

Internal visibility exposes a project to every authenticated user on the instance while keeping it hidden from anonymous visitors. This suits organizations that want broad internal transparency without public exposure. Private restricts to members, and Public exposes to anyone.

Question 25GitLab platform fundamentals

A merge request targets a protected branch, and the author lacks merge rights. What outcome should the PM expect?

  1. The merge is blocked until someone with sufficient rights merges it Correct answer.
  2. The merge request is converted into an issue
  3. The target branch is automatically unprotected
  4. The merge proceeds because the pipeline passed

Explanation

Protected branches restrict who may merge into them, so a user without the required role cannot complete the merge even with a passing pipeline. Another user with sufficient rights must perform the merge. Pipeline success does not override branch protection, and the branch is not auto-unprotected.

Question 26GitLab platform fundamentals

Which GitLab construct is used to create a reusable, shareable collection of CI/CD pipeline configuration that other projects can include?

  1. A snippet with public visibility
  2. A CI/CD template repository referenced with the include keyword Correct answer.
  3. A group-level label applied to pipeline jobs
  4. A project wiki page holding YAML snippets

Explanation

GitLab's include keyword lets a project pull pipeline configuration from another project, a remote URL, or a built-in template, so shared logic lives in one maintained place. Teams commonly keep a dedicated templates project and reference it by path and ref.

Question 27GitLab platform fundamentals

A PM wants to distinguish work that must ship in the next release from work that is merely nice to have. Which two GitLab metadata fields are most directly suited to that?

  1. Weight and time estimate
  2. Confidential flag and subscribers
  3. Assignee and due date
  4. Milestone for the release and labels for priority Correct answer.

Explanation

Milestones group issues toward a dated deliverable such as a release, while labels carry free-form classification like priority or type. Used together they let a PM filter a board to the release and then separate must-have from optional work.

Question 28GitLab platform fundamentals

A PM needs a written, version-controlled document inside a project where long-form design decisions live alongside the code. Which GitLab feature fits?

  1. The project's container registry
  2. The merge request approvals configuration
  3. The CI/CD variables settings page
  4. The project wiki Correct answer.

Explanation

A project wiki provides pages that are stored in a separate Git repository, so documentation is versioned and can be edited in the GitLab UI or cloned locally. It suits long-form design notes that do not belong in code comments.

Question 29GitLab platform fundamentals

Which statement describes how GitLab CI/CD pipeline stages behave by default?

  1. All jobs in all stages start simultaneously when the pipeline is created
  2. Jobs in a later stage start only after all jobs in earlier stages succeed Correct answer.
  3. Stages are ignored unless a manual approval is configured
  4. Jobs run in reverse stage order to allow rollbacks first

Explanation

By default stages run sequentially: every job in a stage must succeed before jobs in the next stage begin. This ordering is what lets a team place build before test and test before deploy.

Question 30GitLab platform fundamentals

Which GitLab feature gives a project a built-in, searchable discussion area separate from issues and merge requests?

  1. Releases
  2. Snippets Correct answer.
  3. Milestones
  4. Epics

Explanation

Snippets store shareable text or files, and each snippet has its own comment thread, which teams sometimes use for lightweight discussion. Issues and merge requests remain the primary discussion surfaces, but snippets are the separate built-in container.

Question 31GitLab platform fundamentals

A PM opens a project and wants to confirm who currently has Maintainer access. Where in the GitLab UI is that information shown?

  1. Project information, then Members Correct answer.
  2. Deployments, then Environments
  3. Settings, then CI/CD
  4. Repository, then Files

Explanation

The Members page under project information lists every user and group with access to the project along with their role. Access levels are visible there, so a PM can audit who holds Maintainer or Owner rights.

Question 32GitLab platform fundamentals

Which GitLab artifact type is produced by a job and can be downloaded later for inspection even after the job finishes?

  1. A CI/CD variable
  2. A pipeline schedule
  3. A runner tag
  4. A job artifact Correct answer.

Explanation

Jobs can declare artifacts, such as test reports or build output, which GitLab stores and exposes for download from the job page. They persist after the job ends, subject to the configured expiry.

Question 33GitLab platform fundamentals

A PM wants each merge request in a project to be reviewed by at least two people before merging. Which configuration achieves this?

  1. Set the merge request approvals rule to require two approvals Correct answer.
  2. Mark the target branch as protected with Maintainer push rights
  3. Enable the squash commits option
  4. Turn on auto-merge for the project

Explanation

Approval rules on a project or protected branch specify how many approvals a merge request needs before it can merge. Requiring two approvals blocks merging until two eligible reviewers approve.

Question 34GitLab platform fundamentals

A PM notices that a merge request's pipeline shows a job marked as allowed to fail, and the pipeline overall is green. What does that status mean?

  1. The job was skipped because no runner was available
  2. The job is still queued and will run later
  3. The job failed but was configured with allow_failure, so the pipeline continues Correct answer.
  4. The job passed on a retry after an earlier failure

Explanation

The allow_failure keyword lets a job fail without failing the pipeline, which is common for optional or experimental checks. The job shows a warning state while the overall pipeline can still succeed.

Question 35GitLab platform fundamentals

A PM wants deploy jobs to run only when a Git tag is created, not on every commit to the default branch. Which pipeline configuration expresses that?

  1. A needs clause pointing at the build job
  2. A cache clause keyed on the branch name
  3. An artifacts clause with an expiry
  4. A rules clause that matches tag pipelines Correct answer.

Explanation

The rules keyword evaluates conditions such as whether the pipeline was triggered by a tag, and jobs run only when a rule matches. Restricting the deploy job to tag pipelines keeps deployments tied to releases.

Question 36GitLab platform fundamentals

A PM is comparing two projects and wants to know which one has a higher percentage of merge requests merged without review comments. Which GitLab capability supports that comparison?

  1. The project's CI/CD runner list
  2. The group's audit events log
  3. Merge request analytics in the value stream and analytics area Correct answer.
  4. The repository file blame view

Explanation

Merge request analytics aggregate data such as throughput, time to merge, and review activity across projects, which supports comparison between teams. The value stream and analytics area is where these aggregate metrics live.

Question 37GitLab platform fundamentals

What happens to an issue when a merge request description contains a closing pattern such as Closes #42 and that merge request is merged into the default branch?

  1. Issue 42 is locked to prevent further comments
  2. Issue 42 is closed automatically and the merge request is linked in its timeline Correct answer.
  3. Issue 42 is deleted permanently
  4. Issue 42 is moved to the next milestone

Explanation

GitLab detects closing patterns in merge request descriptions and commit messages, and merging into the default branch closes the referenced issue. The issue timeline records the linked merge request so the history stays traceable.

Question 38GitLab platform fundamentals

A PM wants a merge request to be blocked from merging until a specific job named security-scan succeeds, even though other jobs may fail. Which approach fits?

  1. Add security-scan to the cache configuration
  2. Give security-scan a longer timeout value
  3. Assign the security-scan job to a tagged runner
  4. Mark security-scan as a required status check in the project's merge request settings Correct answer.

Explanation

GitLab can require named jobs to succeed before a merge request is mergeable, independent of the overall pipeline result. This lets a team gate merging on a critical check while tolerating failures elsewhere.

Question 39GitLab platform fundamentals

A PM wants to see, for a single issue, every merge request, commit, and comment connected to it. Where is that consolidated view?

  1. The CI/CD pipeline editor
  2. The group's epics list
  3. The project's settings page
  4. The issue's activity and related items section Correct answer.

Explanation

Each issue page shows an activity feed plus related merge requests and mentions, giving a consolidated history of the work. This is the fastest way to trace how an issue was implemented.

Question 40GitLab platform fundamentals

Which GitLab feature lets a PM define reusable templates for issue descriptions so that bug reports consistently capture reproduction steps?

  1. Environment-specific CI/CD variables
  2. Protected branch rules
  3. Description templates stored in the project repository Correct answer.
  4. Merge request approval rules

Explanation

GitLab reads description templates from a designated directory in the repository and offers them when creating issues or merge requests. This enforces consistent structure such as reproduction steps and expected behavior.

Question 41GitLab platform fundamentals

A PM wants to know which issues are at risk because they are past their due date but still open. Which GitLab feature answers that question most directly?

  1. The container registry tag list
  2. An issue list filtered by due date and open state Correct answer.
  3. The project's commit history
  4. The pipeline schedule overview

Explanation

Issue lists support filtering by attributes including due date and state, so an overdue open-work view is a saved filter away. Saving the filter preserves the query for repeat use.

Question 42GitLab platform fundamentals

What is the effect of marking a project as internal on a self-managed GitLab instance?

  1. Only instance administrators can see the project
  2. Only project members can see the project
  3. Any authenticated user on the instance can see the project, but anonymous visitors cannot Correct answer.
  4. Anyone on the public internet can see the project without signing in

Explanation

Internal visibility exposes a project to every signed-in user on the instance while keeping it hidden from anonymous visitors. It is a middle ground between private and public for organizations that want broad internal sharing.

Question 43GitLab platform fundamentals

A PM wants a merge request to remain unmerged until a scheduled release date even after all approvals arrive. Which GitLab mechanism is designed for that?

  1. A merge request approval rule with a delayed merge setting Correct answer.
  2. A pipeline schedule set to the release date
  3. A project access token with an expiry date
  4. A protected tag matching the release version

Explanation

Approval rules can include a delay before merging becomes possible, so an approved merge request still waits until the configured time. This supports release trains that merge on a fixed cadence.

Question 44GitLab platform fundamentals

A PM wants to be notified in a chat channel whenever a merge request targeting the production branch is opened. Which GitLab integration is appropriate?

  1. A CODEOWNERS entry for the production branch
  2. A CI/CD cache shared between jobs
  3. A group-level milestone assigned to the branch
  4. A project integration such as a webhook or chat notification configured for merge request events Correct answer.

Explanation

Project integrations emit events such as merge request opened to external services, and webhooks can filter by event type. That delivers real-time notifications to a chat channel without polling.

Question 45GitLab platform fundamentals

A PM is told that a merge request's diff contains many whitespace-only changes that obscure the real edits. Which GitLab diff option addresses this?

  1. Enable squash commits on merge
  2. Switch the target branch to a protected branch
  3. Hide whitespace changes in the diff view Correct answer.
  4. Collapse the file tree sidebar

Explanation

The diff view offers a whitespace toggle that hides formatting-only changes so reviewers focus on substantive edits. It changes only the presentation of the diff, not the underlying commits.

Question 46GitLab platform fundamentals

A PM wants to know whether the team's average time from merge request creation to merge is trending upward across a quarter. Which GitLab metric answers this?

  1. Time to merge in merge request analytics Correct answer.
  2. Runner utilization percentage
  3. Pipeline duration in CI/CD analytics
  4. Issue weight distribution

Explanation

Time to merge measures the interval between merge request creation and merge, and merge request analytics plot it over time. A rising trend signals review bottlenecks rather than build slowness.

Question 47GitLab platform fundamentals

A PM sees that a project's pipeline for a merge request ran on the source branch rather than as a merged-results pipeline. What is the practical consequence?

  1. The pipeline cannot produce artifacts
  2. The merge request cannot be approved
  3. The result may differ from a pipeline that tests the code as it would exist after merging Correct answer.
  4. The pipeline will always fail on protected branches

Explanation

A branch pipeline tests the source branch alone, while a merged-results pipeline tests the source merged into the target, catching conflicts and integration breakage. Relying only on branch pipelines can let integration problems reach the target branch.

Question 48GitLab platform fundamentals

A PM wants to compare how many issues each team closed per week over the last two months, broken down by team label. Which approach in GitLab delivers that?

  1. A pipeline schedule that counts issues
  2. A protected branch rule on the issues repository
  3. An issue analytics chart grouped by label with a weekly time range Correct answer.
  4. A project wiki page listing closed issues manually

Explanation

Issue analytics support charts of issues created or closed over a chosen time range, and grouping by label separates teams. This produces the per-week, per-team throughput view without manual bookkeeping.

Question 49GitLab platform fundamentals

A PM wants a single merge request to be deployable to staging and production with different variable values, without duplicating jobs. Which GitLab construct is designed for this?

  1. Squash commits enabled per environment
  2. Multiple pipelines defined in separate projects
  3. Environments with environment-scoped CI/CD variables Correct answer.
  4. A separate branch per environment

Explanation

Environments represent deployment targets, and CI/CD variables can be scoped to an environment so the same job picks up different values per target. This avoids duplicating job definitions while keeping secrets out of the repository.

Question 50GitLab platform fundamentals

A PM wants to know whether a recently merged change caused a production incident, and needs to trace the deployed commit back to its merge request and author. Which GitLab capability supports that trace?

  1. Deployment records linked to the commit and its merge request Correct answer.
  2. The project's snippet history
  3. The group's label usage report
  4. The CI/CD runner autoscaling log

Explanation

Deployments record the exact commit deployed to an environment, and that commit links to its merge request and author. This chain lets a PM move from an incident to the change and the people who reviewed it.