Skip to content

Push Operations Configuration

This feature is available in the Enterprise version


Managing push operations allows you to set additional control over what can and cannot be pushed to your repository. With push operations, you can reject changes based on commits, branch names, or file details.

A significant difference between push operations and Branch Settings is the more flexible configuration of restrictions. For example, with this functionality, you can prohibit pushing changes with commits that do not meet accepted standards.

Global Push Operations Configuration

A user with service administrator rights can create push operation rules to inherit them for all projects. Once global rules are enabled, they will automatically apply to all projects in the service; there is no need to update each project's settings individually.

To enable push operations at the service level:

  1. Go to Admin Panel -> Settings -> Push Operations Settings.
  2. Set the required options.
  3. Click the Save button to apply changes.

Configuring Push Operations for Each Project

To work with push rules, you need project administrator rights. Push operation rules set for an individual project override global rules and work only within that project. To use rules inside a project regardless of global rules, you need to activate the Use local settings option.

To enable push operations at the project level:

  1. Go to Project -> Settings -> Push Operations Settings.
  2. Set the required options.
  3. Click the Save button to apply changes.

Types of Push Operation Settings

Currently, the following settings are available:

Local Settings

This setting allows you to choose which settings will apply to the project—local (configured in the project settings) or global (configured in the admin panel).

User Presence Check

This setting restricts actions for users not registered in GitFlic. Changes are allowed only by committers whose email or alias is present in the system.

Authorized User Restriction

This setting restricts actions for users not authorized in GitFlic. Changes are allowed only by committers whose email and alias are currently authorized.

Blocked User Check

This setting restricts actions for users whose email is blocked.

Prohibition on Adding Files with Secrets

This setting restricts adding files containing secret information. If enabled, files whose extensions match the regular expressions below will not be added.

  • \\.(pem|key)$
  • [._]history$
  • aws\\/credentials$
  • id_rsa$
  • id_dsa$
  • id_ed25519$
  • id_ecdsa$
  • id_ecdsa_sk$
  • id_ed25519_sk$
  • (ssh|config)\\/(personal|server)_(rsa|dsa|ed25519|ecdsa|ecdsa_sk|ed25519_sk)

Commit Signature Verification

This setting prohibits all commits that are not signed with a verified GPG signature.

Creating branches with signature verification enabled

If the commit signature verification rule is enabled, to create a new branch via the web interface, the latest commit in the parent branch must be successfully signed.

Commit Message Regex Match

This setting restricts changes whose commits do not match the specified regular expression. Leave empty to allow any commits.

Commit Message Regex Mismatch

This setting restricts changes whose commits match the specified regular expression. Leave empty to allow any commits.

Branch Name Regex Match

This setting restricts the names of new branches. If the regular expression does not match the branch name, it will not be created. Leave empty to allow any branch names.

Branch Name Regex Mismatch

This setting restricts the names of new branches. If the regular expression matches the branch name, it will not be created. Leave empty to allow any branch names.

File Name Regex Match

This setting restricts changes whose file names do not match the specified regular expression. Leave empty to allow any file names.

File Name Regex Mismatch

This setting restricts changes whose file names match the specified regular expression. Leave empty to allow any file names.

Limit on Number of Branches and Tags Updated at Once

This setting restricts changes where the number of branches and tags updated exceeds the specified value. Leave empty to allow updating any number of branches and tags.

Branch Name Length Limit

This setting restricts the length of created branches. Leave empty to allow any branch name length.

Maximum File Size Limit

This setting restricts changes where file sizes exceed the specified size in MB. Leave empty to allow any file size.

Automated translation!

This page was translated using automatic translation tools. The text may contain inaccuracies.