GitLab PM Associate study materials
GitLab PM Associate study resources

GitLab PM Associate cheat sheet

GitLab PM Associate · Keep the key ideas within reach.

Quick reference

GitLab Platform Fundamentals

  • GitLab organizes work in a hierarchy: instance > group > subgroup > project; issues, merge requests, epics, and milestones belong to a project or group, and permissions inherit downward.

  • Five standard roles, lowest to highest: Guest, Planner, Reporter, Developer, Maintainer, Owner. Planner can manage issues and boards; Developer can push code and create merge requests; Maintainer can change project settings; Owner applies to groups only.

  • Visibility levels are Private, Internal, and Public. Internal makes a project visible to any signed-in user on the instance; Public exposes it to anonymous users.

  • A project is the unit of repository storage. It holds one repository, its issues, merge requests, CI/CD configuration, container registry, and package registry.

  • Groups provide shared members, shared epics, group-level milestones and labels, and can contain subgroups nested up to 20 levels deep.

  • Protected branches restrict push and merge rights by role; protected tags restrict who can create or delete release tags.

  • The GitLab DevOps lifecycle spans plan, create, verify, package, secure, release, configure, and monitor; each stage maps to specific features such as boards, repositories, CI pipelines, and environments.

  • Personal access tokens and SSH keys authenticate a user; project and group access tokens authenticate automation scoped to that project or group.

  • Instance-level administration (Admin Area) is separate from group and project settings; only administrators see instance-wide settings such as user management and instance CI/CD limits.

Quick reference

Planning and Project Management

  • Issue types: Issue is the default work item; Task and Objective/Key Result exist as work item types on newer versions. Epics exist at group level, not project level.

  • Labels are flat strings; scoped labels use a double colon (e.g., status::in review) and only one label per scope can be applied at a time, so applying status::done replaces status::in review.

  • Milestones group issues and merge requests by time; a group milestone is shared across all projects in the group, while a project milestone is local.

  • Boards are Kanban views driven by labels. A board has lists; each list is defined by a label, and moving a card applies and removes labels accordingly.

  • Issue weights estimate effort; the sum of weights rolls up to the milestone and epic, and issue health status (on track, needs attention, at risk) is set on epics and issues.

  • Iterations are time-boxed sprints scoped to a group; they differ from milestones because they are strictly sequential and date-bound.

  • Quick actions are slash commands typed in a comment or description (e.g., /assign, /label, /milestone, /due, /close) and execute when the note is submitted.

  • Confidential issues are visible only to project members with Reporter or higher; they are excluded from public search and from non-member views.

  • Roadmaps visualize epics across quarters along a timeline; dependencies between issues appear as blocking links and surface on the roadmap and issue view.

Quick reference

Source Code and Collaboration Workflows

  • A merge request merges a source branch into a target branch. Approval rules can require a minimum number of approvals and can be scoped to specific users or groups.

  • Merge methods: merge commit, semi-linear (fast-forward with a merge commit), and fast-forward. Squash can be enabled to collapse commits into one on merge.

  • Draft merge requests (title prefixed Draft: or WIP:) cannot be merged; they signal work in progress and are excluded from merge unless marked ready.

  • Merge trains queue merge requests and merge them sequentially against the updated target branch, preventing semantic conflicts between simultaneously approved MRs.

  • A fork is a copy of a project under a different namespace; merge requests from a fork to the upstream project are the standard external-contributor flow.

  • Code owners defined in a CODEOWNERS file can be required as approvers for matching paths; the file can live at the repository root, in docs/, or in .gitlab/.

  • Push rules at project or group level can reject commits by message regex, block secret files, or require signed commits; they apply before the push completes.

  • A commit reverts cleanly through the Revert button, which creates a new merge request that reverses the diff rather than rewriting history.

  • Squashing and rebasing options on the merge request page control whether the source branch is rewritten before merge; rebase rewrites commits, merge does not.

Quick reference

CI/CD and Delivery Visibility

  • Pipeline configuration lives in .gitlab-ci.yml at the repository root. Keywords include stages, jobs, script, image, rules, needs, artifacts, and cache.

  • A pipeline contains stages; stages contain jobs. Jobs in the same stage run in parallel; stages run sequentially by default unless needs: creates a directed acyclic graph.

  • rules: replaces only/except and evaluates top-down; the first matching rule applies. when: never in a matching rule excludes the job.

  • Predefined variables include CI_COMMIT_BRANCH, CI_COMMIT_SHA, CI_PIPELINE_ID, CI_JOB_TOKEN, CI_PROJECT_PATH, and CI_ENVIRONMENT_NAME; they are available inside job scripts.

  • Artifacts pass files between stages and are stored after the job; cache speeds up jobs by persisting paths across pipelines but is not guaranteed to exist.

  • Environments track deployments; a deployment to an environment with a stop action can be rolled back, and protected environments restrict who may deploy.

  • Manual jobs use when: manual and pause the pipeline until triggered; allow_failure: true on a manual job makes it optional and non-blocking.

  • Pipeline status values are created, pending, running, passed, failed, canceled, skipped, and manual; downstream pipelines are triggered with trigger: and appear as child pipelines.

  • Merge request pipelines run against the source branch and are configured with rules referencing CI_PIPELINE_SOURCE == "merge_request_event"; they gate merges via required status checks.

Quick reference

GitLab Platform Fundamentals

  • GitLab organizes work in a hierarchy: instance > group > subgroup > project; issues, merge requests, epics, and milestones belong to a project or group, and permissions inherit downward.

  • Five standard roles, lowest to highest: Guest, Planner, Reporter, Developer, Maintainer, Owner. Planner can manage issues and boards; Developer can push code and create merge requests; Maintainer can change project settings; Owner applies to groups only.

  • Visibility levels are Private, Internal, and Public. Internal makes a project visible to any signed-in user on the instance; Public exposes it to anonymous users.

  • A project is the unit of repository storage. It holds one repository, its issues, merge requests, CI/CD configuration, container registry, and package registry.

  • Groups provide shared members, shared epics, group-level milestones and labels, and can contain subgroups nested up to 20 levels deep.

  • Protected branches restrict push and merge rights by role; protected tags restrict who can create or delete release tags.

  • The GitLab DevOps lifecycle spans plan, create, verify, package, secure, release, configure, and monitor; each stage maps to specific features such as boards, repositories, CI pipelines, and environments.

  • Personal access tokens and SSH keys authenticate a user; project and group access tokens authenticate automation scoped to that project or group.

  • Instance-level administration (Admin Area) is separate from group and project settings; only administrators see instance-wide settings such as user management and instance CI/CD limits.

Quick reference

Planning and Project Management

  • Issue types: Issue is the default work item; Task and Objective/Key Result exist as work item types on newer versions. Epics exist at group level, not project level.

  • Labels are flat strings; scoped labels use a double colon (e.g., status::in review) and only one label per scope can be applied at a time, so applying status::done replaces status::in review.

  • Milestones group issues and merge requests by time; a group milestone is shared across all projects in the group, while a project milestone is local.

  • Boards are Kanban views driven by labels. A board has lists; each list is defined by a label, and moving a card applies and removes labels accordingly.

  • Issue weights estimate effort; the sum of weights rolls up to the milestone and epic, and issue health status (on track, needs attention, at risk) is set on epics and issues.

  • Iterations are time-boxed sprints scoped to a group; they differ from milestones because they are strictly sequential and date-bound.

  • Quick actions are slash commands typed in a comment or description (e.g., /assign, /label, /milestone, /due, /close) and execute when the note is submitted.

  • Confidential issues are visible only to project members with Reporter or higher; they are excluded from public search and from non-member views.

  • Roadmaps visualize epics across quarters along a timeline; dependencies between issues appear as blocking links and surface on the roadmap and issue view.

Quick reference

Source Code and Collaboration Workflows

  • A merge request merges a source branch into a target branch. Approval rules can require a minimum number of approvals and can be scoped to specific users or groups.

  • Merge methods: merge commit, semi-linear (fast-forward with a merge commit), and fast-forward. Squash can be enabled to collapse commits into one on merge.

  • Draft merge requests (title prefixed Draft: or WIP:) cannot be merged; they signal work in progress and are excluded from merge unless marked ready.

  • Merge trains queue merge requests and merge them sequentially against the updated target branch, preventing semantic conflicts between simultaneously approved MRs.

  • A fork is a copy of a project under a different namespace; merge requests from a fork to the upstream project are the standard external-contributor flow.

  • Code owners defined in a CODEOWNERS file can be required as approvers for matching paths; the file can live at the repository root, in docs/, or in .gitlab/.

  • Push rules at project or group level can reject commits by message regex, block secret files, or require signed commits; they apply before the push completes.

  • A commit reverts cleanly through the Revert button, which creates a new merge request that reverses the diff rather than rewriting history.

  • Squashing and rebasing options on the merge request page control whether the source branch is rewritten before merge; rebase rewrites commits, merge does not.

Quick reference

CI/CD and Delivery Visibility

  • Pipeline configuration lives in .gitlab-ci.yml at the repository root. Keywords include stages, jobs, script, image, rules, needs, artifacts, and cache.

  • A pipeline contains stages; stages contain jobs. Jobs in the same stage run in parallel; stages run sequentially by default unless needs: creates a directed acyclic graph.

  • rules: replaces only/except and evaluates top-down; the first matching rule applies. when: never in a matching rule excludes the job.

  • Predefined variables include CI_COMMIT_BRANCH, CI_COMMIT_SHA, CI_PIPELINE_ID, CI_JOB_TOKEN, CI_PROJECT_PATH, and CI_ENVIRONMENT_NAME; they are available inside job scripts.

  • Artifacts pass files between stages and are stored after the job; cache speeds up jobs by persisting paths across pipelines but is not guaranteed to exist.

  • Environments track deployments; a deployment to an environment with a stop action can be rolled back, and protected environments restrict who may deploy.

  • Manual jobs use when: manual and pause the pipeline until triggered; allow_failure: true on a manual job makes it optional and non-blocking.

  • Pipeline status values are created, pending, running, passed, failed, canceled, skipped, and manual; downstream pipelines are triggered with trigger: and appear as child pipelines.

  • Merge request pipelines run against the source branch and are configured with rules referencing CI_PIPELINE_SOURCE == "merge_request_event"; they gate merges via required status checks.