Mailgun and GitLab

When you use Mailgun to send emails for your GitLab instance and Mailgun integration is enabled and configured in GitLab, you can receive their webhook for tracking delivery failures. To set up the integration, you must:

  1. Configure your Mailgun domain.
  2. Enable Mailgun integration.

After completing the integration, Mailgun temporary_failure and permanent_failure webhooks are sent to your GitLab instance.

Configure your Mailgun domain

Version history
  • Deprecated the /-/members/mailgun/permanent_failures URL in GitLab 15.0.
  • Added the URL to handle both temporary and permanent failures in GitLab 15.0.

Before you can enable Mailgun in GitLab, set up your own Mailgun endpoints to receive the webhooks.

Using the Mailgun webhook guide:

  1. Add a webhook with the Event type set to Permanent Failure.
  2. Enter the URL of your instance and include the /-/mailgun/webhooks path.

    For example:

    https://myinstance.gitlab.com/-/mailgun/webhooks
    
  3. Add another webhook with the Event type set to Temporary Failure.
  4. Enter the URL of your instance and use the same /-/mailgun/webhooks path.

Enable Mailgun integration

After configuring your Mailgun domain for the webhook endpoints, you’re ready to enable the Mailgun integration:

  1. Sign in to GitLab as an Administrator user.
  2. On the top bar, select Main menu > Admin.
  3. On the left sidebar, go to Settings > General and expand the Mailgun section.
  4. Select the Enable Mailgun checkbox.
  5. Enter the Mailgun HTTP webhook signing key as described in the Mailgun documentation and shown in the API security (https://app.mailgun.com/app/account/security/api_keys) section for your Mailgun account.
  6. Select Save changes.