To use Danger JS with GitLab: you’ll need to create a new account for Danger to use, then set the following environment variable on your CI system:

You need access token OR oauth token

  • DANGER_GITLAB_API_TOKEN = An access token for the account which will post comments

  • DANGER_GITLAB_API_OAUTH_TOKEN = An oauth token for the account which will post comments

If you are using a GitLab version prior to 11.7 you will also need to define the following environment variable:

  • DANGER_GITLAB_HOST = Defaults to but you can use it for your own url

Then in your Dangerfiles you will have a fully fleshed out danger.gitlab object to work with. For example:

import { danger, warn } from "danger"

if ("WIP")) {
  warn("PR is considered WIP")

The DSL is expansive, you can see all the details inside the Danger JS Reference, but the TLDR is:

  /** The pull request and repository metadata */
  metadata: RepoMetaData
  /** The Merge Request metadata */
  mr: GitLabMR
  /** The commits associated with the merge request */
  commits: GitLabMRCommit[]

Got improvements? Help improve this document via sending PRs.