Issue closing pattern

note
This page explains how an administrator can configure issue closing patterns. For user documentation about the feature, see Closing issues automatically.

When a commit or merge request resolves one or more issues, it is possible to automatically close these issues when the commit or merge request lands in the project’s default branch.

Change the issue closing pattern

The default issue closing pattern covers a wide range of words. You can change the pattern to suit your needs.

To change the default issue closing pattern:

Linux package (Omnibus)
  1. Edit /etc/gitlab/gitlab.rb and change the gitlab_rails['gitlab_issue_closing_pattern'] value:

    gitlab_rails['gitlab_issue_closing_pattern'] = /<regular_expression>/.source
    
  2. Save the file and reconfigure GitLab:

    sudo gitlab-ctl reconfigure
    
Helm chart (Kubernetes)
  1. Export the Helm values:

    helm get values gitlab > gitlab_values.yaml
    
  2. Edit gitlab_values.yaml and change the issueClosingPattern value:

    global:
      appConfig:
        issueClosingPattern: "<regular_expression>"
    
  3. Save the file and apply the new values:

    helm upgrade -f gitlab_values.yaml gitlab gitlab/gitlab
    
Docker
  1. Edit docker-compose.yml and change the gitlab_rails['gitlab_issue_closing_pattern'] value:

    version: "3.6"
    services:
      gitlab:
        environment:
          GITLAB_OMNIBUS_CONFIG: |
            gitlab_rails['gitlab_issue_closing_pattern'] = /<regular_expression>/.source
    
  2. Save the file and restart GitLab:

    docker compose up -d
    
Self-compiled (source)
  1. Edit /home/git/gitlab/config/gitlab.yml and change the issue_closing_pattern value:

    production: &base
      gitlab:
        issue_closing_pattern: "<regular_expression>"
    
  2. Save the file and restart GitLab:

    # For systems running systemd
    sudo systemctl restart gitlab.target
    
    # For systems running SysV init
    sudo service gitlab restart
    

To test the issue closing pattern, use https://rubular.com. However, Rubular doesn’t understand %{issue_ref}. When testing your patterns, replace this string with #\d+, which matches only local issue references like #123.