Skip to main content
What you’ll learn
  • How to authorize and connect GitLab via OAuth
  • How to configure MR comments and commit summaries
  • How the Merge Requests dashboard syncs with GitLab
The GitLab integration connects your GitLab repositories to TestDino using OAuth. Once connected, it posts AI-generated test summaries to merge requests and commits, and syncs MR data back into TestDino. No changes to your CI pipeline required.
NoteOnly one Git provider (GitHub or GitLab) can be active per project at a time. If you need GitHub, see GitHub Integration. Running GitLab on your own infrastructure? See GitLab Self-Managed Integration.

What the GitLab Integration Does

FeatureWhat It DoesWhere It Appears
MR CommentsPosts AI-generated summary with pass/fail counts, failure analysis grouped by file, and a link to the full reportGitLab merge request comments
Commit CommentsPosts the same AI summary attached to the specific commitGitLab commit detail page
MR State SyncSyncs merge request state (open, merged, closed) so TestDino stays current with your MR lifecycleTestDino → Pull Requests
Merge Request DashboardSyncs MR metadata (author, reviewers, status, branches) and displays test run KPIs, pass rate trends, and AI failure insights per MRTestDino → Pull Requests
TimelineSyncs commits, test runs, and code review events into a chronological feed per MRTestDino → MR Timeline
Files ChangedSyncs file diffs, additions, deletions, and code-level comments with resolved/unresolved statusTestDino → MR Files Changed
InfoGitLab does not support CI Checks (quality gates that block merges). That feature is available with the GitHub integration only. GitLab comment summaries still give your team full visibility into test results on every MR.

Prerequisites

  • A TestDino account with a project created (Getting Started)
  • An API key generated for your project (Generate API Keys)
  • The Playwright CLI configured and uploading results (CLI Overview)
  • GitLab Maintainer or Owner access on the repository you want to connect

Connect TestDino with GitLab

Connection is a two-step process: authorize TestDino via GitLab OAuth, then select which repository to connect in TestDino.

1. Authorize TestDino in GitLab

Go to Settings → Integrations → CI/CD in your TestDino project and select GitLab. This redirects you to GitLab to authorize TestDino. Sign in to GitLab (if not already) and approve the OAuth request. TestDino requests access to read your repositories, merge requests, and commits. GitLab Connected confirmation screen after OAuth authorization
NoteThis step grants TestDino access to your GitLab account. It does not connect a specific repo to your TestDino project yet. You can revoke access anytime from GitLab → Settings → Applications.

2. Connect a repository to your TestDino project

After authorization, the browser redirects back to TestDino. You land on the repository selection screen. Pick the repository you want to link to this project. TestDino repository selection screen listing GitLab repos available to connect After selecting a repo, the GitLab card in Settings → Integrations shows the connected repository name. TestDino Settings showing GitLab card in connected state with repo name and gear icon TestDino starts syncing MR metadata and attaching test runs to commits from this point forward.
The sections below cover what you can configure and access after the connection is active.

Configure MR Comments

GitLab merge request comment showing AI-generated test summary with pass/fail counts and failure analysis When a Playwright run finishes, TestDino can post an AI-generated test summary directly to the merge request or commit in GitLab. To control where and when these comments appear, you configure them through GitLab Settings in TestDino. Open Settings → Integrations → GitLab and click the ⚙️ icon on the GitLab card. This opens the GitLab Settings panel. GitLab Settings panel showing MR and commit comment toggles with environment overrides table

Default comment toggles

At the top, two toggles control the global defaults:
  • Merge Request Comments: posts a test summary to every MR on a mapped branch
  • Commit Comments: posts a test summary to every commit on a mapped branch
These defaults apply to all environments unless overridden below.

Environment overrides

Below the defaults, the Environment Overrides table lists each environment configured in your project (e.g., PROD, DEV, MAIN, QA, STAGE). Each row shows:
ColumnWhat It Controls
EnvironmentThe environment name (configured in Environment Mapping)
Branch PatternsWhich branches map to this environment (e.g., main, dev, staging)
MRToggle MR comments on or off for this specific environment
CommitsToggle commit comments on or off for this specific environment
Environment-level toggles override the global defaults. For example, you can enable MR comments globally but disable them for the DEV environment.
TipEnvironment overrides are optional. If the global toggles are on and no overrides are configured, TestDino posts comments on every MR and commit. Use overrides when you want different behavior per environment. For example: post both MR and commit summaries on PROD branches, but only MR summaries on DEV branches.

Merge Requests in TestDino

Once connected, TestDino syncs your GitLab merge requests into the Pull Requests view. Each MR shows:
TabWhat It Shows
OverviewMR status, test run KPIs (pass rate, duration, files changed), latest run with AI failure insights, and test results trend graph
TimelineChronological feed of commits, test runs, and code review events synced from GitLab
Files ChangedFile diffs with additions, deletions, and code-level comments with resolved/unresolved status
TestDino keeps MR state in sync with GitLab. When a merge request is opened, merged, or closed in GitLab, the status updates in TestDino automatically.
TipThe merge request view updates automatically as new commits and test runs arrive. No manual refresh needed.

Troubleshooting

  • Verify the global comment toggles are enabled in Settings → Integrations → GitLab → ⚙️
  • Confirm the branch that triggered the run is mapped to an environment (if using overrides)
  • Check that the CLI is uploading with the correct project API key
  • Verify the GitLab OAuth connection is still active in Settings → Integrations
  • Ensure the correct repository is connected to the TestDino project
  • Confirm tests have run on the MR branch at least once after connecting
  • Ensure you have Maintainer or Owner access on the GitLab repository
  • Try revoking the TestDino app in GitLab → Settings → Applications and reconnecting
  • The OAuth token may not have access to that repo. Revoke and re-authorize to refresh permissions
  • Ensure the repository is not archived in GitLab

GitLab Self-Managed

Connect TestDino to a self-managed GitLab instance via OAuth

GitHub Integration

Connect GitHub with PR comments, CI checks, and quality gates

Environment Mapping

Map branches to environments for targeted reporting

Pull Requests Dashboard

View all MRs with test run results, trends, and AI insights