blob: 9c999881f9466ae3372bad4f484a67a6755345ec [file] [log] [blame] [view]
# Configuration
The global configuration of the @PLUGIN@ plugin is stored in the `gerrit.config`
file in the `plugin.@PLUGIN@` subsection.
This page describes all available configuration parameters. For configuration
recommendations please consult the [config guide](config-guide.html).
## <a id="projectLevelConfigFile">
In addition some configuration can be done on the project level in
`@PLUGIN@.config` files that are stored in the `refs/meta/config` branches of
the projects.
Parameters that are not set for a project are inherited from the parent project
or the global configuration in `gerrit.config`.
A config setting on project level overrides the corresponsing setting that is
inherited from parent projects and the global configuration in `gerrit.config`.
**NOTE:** Some configuration parameters have a list of values and can be
specified multiple times (e.g. `disabledBranch`). If such a value is set on
project level it means that the complete inherited list is overridden. It's
*not* possible to just add a value to the inherited list, but if this is wanted
the complete list with the additional value has to be set on project level.
# <a id="globalConfiguration">Global configuration in gerrit.config</a>
<a id="pluginCodeOwnersDisabled">plugin.@PLUGIN@.disabled</a>
: Whether the code owners functionality is disabled for the project.\
If `true` submitting changes doesn't require code owner approvals.\
This allows projects to opt-out of the code owners functionality.\
Can be overridden per project by setting
[codeOwners.disabled](#codeOwnersDisabled) in
`@PLUGIN@.config`.\
By default `false`.
<a id="pluginCodeOwnersDisabledBranch">plugin.@PLUGIN@.disabledBranch</a>
: An exact ref, a ref pattern or a regular expression to disable the code
owners functionality for the matched branches.\
By using a negative lookahead, it's possible to match all but one
branches. E.g. to disable the code owners functionality for all branches
except the `refs/heads/master` branch the following regular expression
can be used: `^refs/(?!heads/master$).*`
For matched branches submitting changes doesn't require code owner
approvals.\
This allows branches to opt-out of the code owners functionality.\
Can be set multiple times.\
Can be overridden per project by setting
[codeOwners.disabledBranch](#codeOwnersDisabledBranch) in
`@PLUGIN@.config`.\
By default unset.
<a id="pluginCodeOwnersBackend">plugin.@PLUGIN@.backend</a>
: The code owners backend that should be used.\
Can be overridden per project by setting
[codeOwners.backend](#codeOwnersBackend) in
`@PLUGIN@.config`.\
The supported code owner backends are listed at the
[Backends](backends.html) page.\
By default `find-owners`.\
\
**NOTE:** Be careful with changing this parameter as it invalidates all
existing [code owner config files](user-guide.html#codeOwnerConfigFiles).
E.g. by changing the backend code owner configurations may now be read
from different files, or even worse from the same files but with another
syntax so that the existing code owner config files can no longer be
parsed.
<a id="pluginCodeOwnersFileExtension">plugin.@PLUGIN@.fileExtension</a>
: The file extension that should be used for code owner config files.\
Allows to use a different code owner configuration in a fork. E.g. if
the original repository uses `OWNERS` code owner config files (no file
extension configured) one could set `fork` as file extension in the fork
so that the fork uses `OWNERS.fork` files and the existing `OWNERS`
files are ignored.\
Can be overridden per project by setting
[codeOwners.fileExtension](#codeOwnersFileExtension) in
`@PLUGIN@.config`.\
By default unset (no file extension is used).
<a id="pluginCodeOwnersOverrideInfoUrl">plugin.@PLUGIN@.overrideInfoUrl</a>
: A URL for a page that provides host-specific information about how to
request a code owner override.\
The frontend displays a link to this page on the change screen so that
users can discover the override instructions easily.\
Can be overridden per project by setting
[codeOwners.overrideInfoUrl](#codeOwnersFileExtension) in
`@PLUGIN@.config`.\
By default unset (no override info URL).
<a id="pluginCodeOwnersEnableImplicitApprovals">plugin.@PLUGIN@.enableImplictApprovals</a>
: Whether an implicit code owner approval from the last uploader is
assumed.\
This setting has no effect if self approvals from the last uploader are
ignored because the [required label](#pluginCodeOwnersRequiredApproval)
is configured to [ignore self
approvals](../../../Documentation/config-labels.html#label_ignoreSelfApproval)
from the uploader.\
If enabled, code owners need to be aware of their implicit approval when
they upload new patch sets for other users (e.g. if a contributor pushes
a change to a wrong branch and a code owner helps them to get it rebased
onto the correct branch, the rebased change has implicit approvals from
the code owner, since the code owner is the uploader).\
If implicit code owner approvals are disabled, code owners can still
self-approve their own changes by voting on the change.\
Can be overridden per project by setting
[codeOwners.enableImplictApprovals](#codeOwnersEnableImplicitApprovals)
in `@PLUGIN@.config`.\
By default `false`.
<a id="pluginCodeOwnersGlobalCodeOwner">plugin.@PLUGIN@.globalCodeOwner</a>
: The email of a user that should be a code owner globally across all
branches.\
If global code owners should be omitted in the code owner suggestion
(e.g. because they are bots and cannot react to review requests), they
can be added to the `Service Users` group (since members of this group
are not suggested as code owners).\
Can be specified multiple time to set multiple global code owners.\
Can be overridden per project by setting
[codeOwners.globalCodeOwner](#codeOwnersGlobalCodeOwner) in
`@PLUGIN@.config`.\
By default unset (no global code owners).
<a id="pluginCodeOwnersReadOnly">plugin.@PLUGIN@.readOnly</a>
: Whether code owner config files are read-only.\
Can be overridden per project by setting
[codeOwners.readOnly](#codeOwnersReadOnly) in
`@PLUGIN@.config`.\
By default `false`.
<a id="pluginCodeOwnersEnableValidationOnCommitReceived">plugin.@PLUGIN@.enableValidationOnCommitReceived</a>
: Policy for validating code owner config files when a commit is received.
Allowed values are `true` (the code owner config file validation is
enabled and the upload of invalid code owner config files is rejected),
`false` (the code owner config file validation is disabled, invalid code
owner config files are not rejected) and `dry_run` (code owner config
files are validated, but invalid code owner config files are not
rejected).\
Should only be disabled if there is bot that validates the code owner
config files in open changes as part of a pre-submit validation.\
Can be overridden per project by setting
[codeOwners.enableValidationOnCommitReceived](#codeOwnersEnableValidationOnCommitReceived)
in `@PLUGIN@.config`.\
By default `true`.
<a id="pluginCodeOwnersEnableValidationOnSubmit">plugin.@PLUGIN@.enableValidationOnSubmit</a>
: Policy for validating code owner config files when a change is
submitted. Allowed values are `true` (the code owner config file
validation is enabled and the submission of invalid code owner config
files is rejected), `false` (the code owner config file validation is
disabled, invalid code owner config files are not rejected) and
`dry_run` (code owner config files are validated, but invalid code owner
config files are not rejected).\
Disabling the submit validation is not recommended.\
Can be overridden per project by setting
[codeOwners.enableValidationOnSubmit](#codeOwnersEnableValidationOnSubmit)
in `@PLUGIN@.config`.\
By default `true`.
<a id="pluginCodeOwnersRejectNonResolvableCodeOwners">plugin.@PLUGIN@.rejectNonResolvableCodeOwners</a>
: Whether modifications of code owner config files that newly add
non-resolvable code owners should be rejected on commit received and
submit.\
if `true` newly added non-resolveable code owners are reported as errors
and the commit is rejected.\
If `false` newly added non-resolvable code owners are only reported as
warnings and the commit is not rejected.\
This setting has no effect if the validation is disabled via
[enableValidationOnCommitReceived](#pluginCodeOwnersEnableValidationOnCommitReceived)
or [enableValidationOnSubmit](#pluginCodeOwnersEnableValidationOnSubmit).
Can be overridden per project by setting
[codeOwners.rejectNonResolvableCodeOwners](#codeOwnersRejectNonResolvableCodeOwners)
in `@PLUGIN@.config`.\
By default `true`.
<a id="pluginCodeOwnersRejectNonResolvableImports">plugin.@PLUGIN@.rejectNonResolvableImports</a>
: Whether modifications of code owner config files that newly add
non-resolvable imports should be rejected on commit received an submit.\
if `true` newly added non-resolveable imports are reported as errors and
the commit is rejected.\
If `false` newly added non-resolvable imports are only reported as
warnings and the commit is not rejected.\
This setting has no effect if the validation is disabled via
[enableValidationOnCommitReceived](#pluginCodeOwnersEnableValidationOnCommitReceived)
or [enableValidationOnSubmit](#pluginCodeOwnersEnableValidationOnSubmit).
Can be overridden per project by setting
[codeOwners.rejectNonResolvableImports](#codeOwnersRejectNonResolvableImports)
in `@PLUGIN@.config`.\
By default `true`.
<a id="pluginCodeOwnersAllowedEmailDomain">plugin.@PLUGIN@.allowedEmailDomain</a>
: Email domain that allows to assign code ownerships to emails with this
domain.\
Can be specified multiple times.\
Code ownerships that are assigned to emails with non-allowed domains are
ignored and rejected on push.\
By default unset (all email domains are allowed).
<a id="pluginCodeOwnersRequiredApproval">plugin.@PLUGIN@.requiredApproval</a>
: Approval that is required from code owners to approve the files in a
change.\
Any approval on the configured label that has a value >= the configured
value is considered as code owner approval.\
The required approval must be specified in the format
"\<label-name\>+\<label-value\>".\
The configured label must exist for all projects for which this setting
applies (all projects that have code owners enabled and for which this
setting is not overridden).\
If the definition of the configured label has [copy
rules](../../../Documentation/config-labels.html#label_copyAnyScore)
enabled so that votes are sticky across patch sets, also the code owner
approvals will be sticky.\
If the definition of the configured label [ignores self
approvals](../../../Documentation/config-labels.html#label_ignoreSelfApproval)
from the uploader, any vote from the uploader is ignored for the code
owners check.\
Can be overridden per project by setting
[codeOwners.requiredApproval](#codeOwnersRequiredApproval) in
`@PLUGIN@.config`.\
By default "Code-Review+1".
<a id="pluginCodeOwnersOverrideApproval">plugin.@PLUGIN@.overrideApproval</a>
: Approval that counts as override for the code owners submit check.\
Any approval on the configured label that has a value >= the configured
value is considered as code owner override.\
The override approval must be specified in the format
"\<label-name\>+\<label-value\>".\
Can be specifed multiple times to configure multiple override approvals.
If multiple approvals are configured, any of them is sufficient to
override the code owners submit check.\
The configured labels must exist for all projects for which this setting
applies (all projects that have code owners enabled and for which this
setting is not overridden).\
If the definition of the configured labels has [copy
rules](../../../Documentation/config-labels.html#label_copyAnyScore)
enabled so that votes are sticky across patch sets, also the code owner
overrides will be sticky.\
If the definition of a configured label [ignores self
approvals](../../../Documentation/config-labels.html#label_ignoreSelfApproval)
from the uploader, any override vote from the uploader on that label is
ignored for the code owners check.\
Can be overridden per project by setting
[codeOwners.overrideApproval](#codeOwnersOverrideApproval) in
`@PLUGIN@.config`.\
By default unset which means that the override functionality is
disabled.
<a id="pluginCodeOwnersEnableExperimentalRestEndpoints">plugin.@PLUGIN@.enableExperimentalRestEndpoints</a>
: Whether experimental REST endpoints are enabled.\
By default `false`.
<a id="pluginCodeOwnersMergeCommitStrategy">plugin.@PLUGIN@.mergeCommitStrategy</a>
: Strategy that defines for merge commits which files require code owner
approvals.\
\
Can be `ALL_CHANGED_FILES` or `FILES_WITH_CONFLICT_RESOLUTION`.\
\
`ALL_CHANGED_FILES`:\
All files which differ between the merge commmit that is being reviewed
and its first parent commit (which is the HEAD of the destination
branch) require code owner approvals.\
Using this strategy is the safest option, but requires code owners to
also approve files which have been merged automatically.\
Using this strategy makes sense if the code owners differ between
branches and the code owners in one branch don't trust what the code
owners in other branches have approved, or if there are branches that do
not require code owner approvals at all.\
\
`FILES_WITH_CONFLICT_RESOLUTION`:\
Only files which differ between the merge commmit that is being reviewed
and the auto merge commit (the result of automatically merging the 2
parent commits, may contain Git conflict markers) require code owner
approvals.\
Using this strategy means that files that have been merged automatically
and for which no manual conflict resolution has been done do not require
code owner approval.\
Using this strategy is only recommended, if all branches require code
owner approvals and if the code owners in all branches are trusted. If
this is not the case, it is recommended to use the `ALL_CHANGED_FILES`
strategy instead.\
*Example*: If this strategy is used and there is a branch that doesn't
require code owner approvals (e.g. a user sandbox branch or an
experimental branch) the code owners check can be bypassed by:\
a) setting the branch that doesn't require code owner approvals to the
same commit as the main branch that does require code owner approvals\
b) making a change in the branch that doesn't require code owner
approvals\
c) merging this change back into the main branch that does require code
owner approvals\
d) since it's a clean merge, all files are merged automatically and no
code owner approval is required\
\
Can be overridden per project by setting
[codeOwners.mergeCommitStrategy](#codeOwnersMergeCommitStrategy) in
`@PLUGIN@.config`.\
By default `ALL_CHANGED_FILES`.
<a id="pluginCodeOwnersFallbackCodeOwners">plugin.@PLUGIN@.fallbackCodeOwners</a>
: Policy that controls who should own paths that have no code owners
defined. This policy only applies if the inheritance of parent code
owners hasn't been explicity disabled in a relevant code owner config
file and if there are no unresolved imports.\
\
Can be `NONE` or `ALL_USERS`.\
\
`NONE`:\
Paths for which no code owners are defined are owned by no one. This
means changes that touch these files can only be submitted with a code
owner override.\
\
`ALL_USERS`:\
Paths for which no code owners are defined are owned by all users. This
means changes to these paths can be approved by anyone. If [implicit
approvals](#pluginCodeOwnersEnableImplicitApprovals) are enabled, these
files are always automatically approved. The `ALL_USERS` option should
only be used with care as it means that any path that is not covered by
the code owner config files is automatically opened up to everyone and
mistakes with configuring code owners can easily happen. This is why
this option is intended to be only used if requiring code owner
approvals should not be enforced.\
\
Can be overridden per project by setting
[codeOwners.fallbackCodeOwners](#codeOwnersFallbackCodeOwners) in
`@PLUGIN@.config`.\
By default `NONE`.
<a id="pluginCodeOwnersMaxPathsInChangeMessages">plugin.@PLUGIN@.maxPathsInChangeMessages</a>
: The @PLUGIN@ plugin lists owned paths in change messages when:
\
1. A code owner votes on the [code owners
label](#pluginCodeOwnersRequiredApproval):\
The paths that are affected by the vote are listed in the change message
that is posted when the vote is applied.\
\
2. A code owner is added as reviewer:\
The paths that are owned by the reviewer are posted as a change
message.\
\
This configuration parameter controls the maximum number of paths that
are included in change messages. This is to prevent that the change
messages become too big for large changes that touch many files.\
Setting the value to `0` disables including owned paths into change
messages.\
Can be overridden per project by setting
[codeOwners.maxPathsInChangeMessages](#codeOwnersMaxPathsInChangeMessages)
in `@PLUGIN@.config`.\
By default `100`.
# <a id="projectConfiguration">Project configuration in @PLUGIN@.config</a>
<a id="codeOwnersDisabled">codeOwners.disabled</a>
: Whether the code owners functionality is disabled for the project.\
If `true` submitting changes doesn't require code owner approvals.\
This allows projects to opt-out of the code owners functionality.\
Overrides the global setting
[plugin.@PLUGIN@.disabled](#pluginCodeOwnersDisabled) in
`gerrit.config` and the `codeOwners.disabled` setting from parent
projects.\
By default `false`.
<a id="codeOwnersDisabledBranch">codeOwners.disabledBranch</a>
: An exact ref, a ref pattern or a regular expression to disable the code
owners functionality for the matched branches.\
By using a negative lookahead, it's possible to match all but one
branches. E.g. to disable the code owners functionality for all branches
except the `refs/heads/master` branch the following regular expression
can be used: `^refs/(?!heads/master$).*`
For matched branches submitting changes doesn't require code owner
approvals.\
This allows branches to opt-out of the code owners functionality.\
Can be set multiple times.\
Overrides the global setting
[plugin.@PLUGIN@.disabledBranch](#pluginCodeOwnersDisabledBranch) in
`gerrit.config` and the `codeOwners.disabledBranch` setting from parent
projects.\
By default unset.
<a id="codeOwnersBackend">codeOwners.backend</a>
: The code owners backend that should be used for the project.\
Overrides the global setting
[plugin.@PLUGIN@.backend](#pluginCodeOwnersBackend) in `gerrit.config`
and the `codeOwners.backend` setting from parent projects.\
Can be overridden per branch by setting
[codeOwners.\<branch\>.backend](#codeOwnersBranchBackend).\
The supported code owner backends are listed at the
[Backends](backends.html) page.\
If not set, the global setting
[plugin.@PLUGIN@.backend](#pluginCodeOwnersBackend) in `gerrit.config`\
is used.\
\
**NOTE:** Be careful with changing this parameter as it invalidates all
existing [code owner config files](user-guide.html#codeOwnerConfigFiles).
E.g. by changing the backend code owner configurations may now be read
from different files, or even worse from the same files but with another
syntax so that the existing code owner config files can no longer be
parsed.
<a id="codeOwnersBranchBackend">codeOwners.\<branch\>.backend</a>
: The code owners backend that should be used for this branch.\
The branch can be the short or full name. If both configurations exist
the one for the full name takes precedence.\
Overrides the per repository setting
[codeOwners.backend](#codeOwnersBackend) and the
`codeOwners.\<branch\>.backend` setting from parent projects.\
The supported code owner backends are listed at the
[Backends](backends.html) page.\
If not set, the project level configuration
[codeOwners.backend](#codeOwnersBackend) is used.\
\
**NOTE:** Be careful with changing this parameter as it invalidates all
existing [code owner config files](user-guide.html#codeOwnerConfigFiles).
E.g. by changing the backend code owner configurations may now be read
from different files, or even worse from the same files but with another
syntax so that the existing code owner config files can no longer be
parsed.
<a id="codeOwnersFileExtension">codeOwners.fileExtension</a>
: The file extension that should be used for the code owner config files
in this project.\
Allows to use a different code owner configuration in a fork. E.g. if
the original repository uses `OWNERS` code owner config files (no file
extension configured) one could set `fork` as file extension in the fork
so that the fork uses `OWNERS.fork` files and the existing `OWNERS`
files are ignored.\
Overrides the global setting
[plugin.@PLUGIN@.fileExtension](#pluginCodeOwnersFileExtension) in
`gerrit.config` and the `codeOwners.fileExtension` setting from parent
projects.\
If not set, the global setting
[plugin.@PLUGIN@.fileExtension](#pluginCodeOwnersFileExtension) in
`gerrit.config` is used.
<a id="codeOwnersOverrideInfoUrl">codeOwners.overrideInfoUrl</a>
: A URL for a page that provides project-specific information about how to
request a code owner override.\
The frontend displays a link to this page on the change screen so that
users can discover the override instructions easily.\
Overrides the global setting
[plugin.@PLUGIN@.overrideInfoUrl](#pluginCodeOwnersOverrideInfoUrl) in
`gerrit.config` and the `codeOwners.overrideInfoUrl` setting from parent
projects.\
If not set, the global setting
[plugin.@PLUGIN@.overrideInfoUrl](#pluginCodeOwnersOverrideInfoUrl) in
`gerrit.config` is used.
<a id="codeOwnersEnableImplicitApprovals">codeOwners.enableImplicitApprovals</a>
: Whether an implicit code owner approval from the last uploader is
assumed.\
This setting has no effect if self approvals from the last uploader are
ignored because the [required label](#codeOwnersRequiredApproval)
is configured to [ignore self
approvals](../../../Documentation/config-labels.html#label_ignoreSelfApproval)
from the uploader.\
If enabled, code owners need to be aware of their implicit approval when
they upload new patch sets for other users (e.g. if a contributor pushes
a change to a wrong branch and a code owner helps them to get it rebased
onto the correct branch, the rebased change has implicit approvals from
the code owner, since the code owner is the uploader).\
If implicit code owner approvals are disabled, code owners can still
self-approve their own changes by voting on the change.\
Overrides the global setting
[plugin.@PLUGIN@.enableImplicitApprovals](#pluginCodeOwnersenableImplicitApprovals)
in `gerrit.config` and the `codeOwners.enableImplicitApprovals` setting
from parent projects.\
If not set, the global setting
[plugin.@PLUGIN@.enableImplicitApprovals](#pluginCodeOwnersenableImplicitApprovals)
in `gerrit.config` is used.
<a id="codeOwnersGlobalCodeOwner">codeOwners.globalCodeOwner</a>
: The email of a user that should be a code owner globally across all
branches.\
If global code owners should be omitted in the code owner suggestion
(e.g. because they are bots and cannot react to review requests), they
can be added to the `Service Users` group (since members of this group
are not suggested as code owners).\
Can be specified multiple time to set multiple global code owners.\
Overrides the global setting
[plugin.@PLUGIN@.globalCodeOwner](#pluginCodeOwnersGlobalCodeOwner) in
`gerrit.config` and the `codeOwners.globalCodeOwner` setting from parent
projects.\
If not set, the global setting
[plugin.@PLUGIN@.globalCodeOwner](#pluginCodeOwnersGlobalCodeOwner) in
`gerrit.config` is used.
<a id="codeOwnersReadOnly">codeOwners.readOnly</a>
: Whether code owner config files are read-only.\
Overrides the global setting
[plugin.@PLUGIN@.readOnly](#pluginCodeOwnersReadOnly) in
`gerrit.config` and the `codeOwners.readOnly` setting from parent
projects.\
If not set, the global setting
[plugin.@PLUGIN@.readOnly](#pluginCodeOwnersReadOnly) in
`gerrit.config` is used.
<a id="codeOwnersEnableValidationOnCommitReceived">codeOwners.enableValidationOnCommitReceived</a>
: Policy for validating code owner config files when a commit is received.
Allowed values are `true` (the code owner config file validation is
enabled and the upload of invalid code owner config files is rejected),
`false` (the code owner config file validation is disabled, invalid code
owner config files are not rejected) and `dry_run` (code owner config
files are validated, but invalid code owner config files are not
rejected).\
Should only be disabled if there is bot that validates the code owner
config files in open changes as part of a pre-submit validation.\
Overrides the global setting
[plugin.@PLUGIN@.enableValidationOnCommitReceived](#pluginCodeOwnersEnableValidationOnCommitReceived)
in `gerrit.config` and the `codeOwners.enableValidationOnCommitReceived`
setting from parent projects.\
If not set, the global setting
[plugin.@PLUGIN@.enableValidationOnCommitReceived](#pluginCodeOwnersEnableValidationOnCommitReceived)
in `gerrit.config` is used.
<a id="codeOwnersEnableValidationOnSubmit">codeOwners.enableValidationOnSubmit</a>
: Policy for validating code owner config files when a change is
submitted. Allowed values are `true` (the code owner config file
validation is enabled and the submit of invalid code owner config files
is rejected), `false` (the code owner config file validation is
disabled, invalid code owner config files are not rejected) and
`dry_run` (code owner config files are validated, but invalid code owner
config files are not rejected).\
Disabling the submit validation is not recommended.\
Overrides the global setting
[plugin.@PLUGIN@.enableValidationOnSubmit](#pluginCodeOwnersEnableValidationOnSubmit)
in `gerrit.config` and the `codeOwners.enableValidationOnSubmit` setting
from parent projects.\
If not set, the global setting
[plugin.@PLUGIN@.enableValidationOnSubmit](#pluginCodeOwnersEnableValidationOnSubmit)
in `gerrit.config` is used.
<a id="codeOwnersRejectNonResolvableCodeOwners">codeOwners.rejectNonResolvableCodeOwners</a>
: Whether modifications of code owner config files that newly add
non-resolvable code owners should be rejected on commit received and
submit.\
if `true` newly added non-resolveable code owners are reported as errors
and the commit is rejected.\
If `false` newly added non-resolvable code owners are only reported as
warnings and the commit is not rejected.\
This setting has no effect if the validation is disabled via
[enableValidationOnCommitReceived](#codeOwnersEnableValidationOnCommitReceived)
or [enableValidationOnSubmit](#codeOwnersEnableValidationOnSubmit).
Overrides the global setting
[plugin.@PLUGIN@.rejectNonResolvableCodeOwners](#pluginCodeOwnersRejectNonResolvableCodeOwners)
in `gerrit.config` and the `codeOwners.rejectNonResolvableCodeOwners`
setting from parent projects.\
If not set, the global setting
[plugin.@PLUGIN@.rejectNonResolvableCodeOwners](#pluginCodeOwnersRejectNonResolvableCodeOwners)
in `gerrit.config` is used.
<a id="codeOwnersRejectNonResolvableImports">codeOwners.rejectNonResolvableImports</a>
: Whether modifications of code owner config files that newly add
non-resolvable imports should be rejected on commit received an submit.\
if `true` newly added non-resolveable imports are reported as errors and
the commit is rejected.\
If `false` newly added non-resolvable imports are only reported as
warnings and the commit is not rejected.\
This setting has no effect if the validation is disabled via
[enableValidationOnCommitReceived](#codeOwnersEnableValidationOnCommitReceived)
or [enableValidationOnSubmit](#codeOwnersEnableValidationOnSubmit).
Overrides the global setting
[plugin.@PLUGIN@.rejectNonResolvableImports](#pluginCodeOwnersRejectNonResolvableImports)
in `gerrit.config` and the `codeOwners.rejectNonResolvableImports`
setting from parent projects.\
If not set, the global setting
[plugin.@PLUGIN@.rejectNonResolvableImports](#pluginCodeOwnersRejectNonResolvableImports)
in `gerrit.config` is used.
<a id="codeOwnersRequiredApproval">codeOwners.requiredApproval</a>
: Approval that is required from code owners to approve the files in a
change.\
Any approval on the configured label that has a value >= the configured
value is considered as code owner approval.\
The required approval must be specified in the format
"\<label-name\>+\<label-value\>".\
The configured label must exist for all projects for which this setting
applies (all child projects that have code owners enabled and for which
this setting is not overridden).\
If the definition of the configured label has [copy
rules](../../../Documentation/config-labels.html#label_copyAnyScore)
enabled so that votes are sticky across patch sets, also the code owner
approvals will be sticky.\
If the definition of the configured label [ignores self
approvals](../../../Documentation/config-labels.html#label_ignoreSelfApproval)
from the uploader, any vote from the uploader is ignored for the code
owners check.\
Overrides the global setting
[plugin.@PLUGIN@.requiredApproval](#pluginCodeOwnersRequiredApproval) in
`gerrit.config` and the `codeOwners.requiredApproval` setting from
parent projects.\
If not set, the global setting
[plugin.@PLUGIN@.requiredApproval](#pluginCodeOwnersRequiredApproval) in
`gerrit.config` is used.
<a id="codeOwnersOverrideApproval">codeOwners.overrideApproval</a>
: Approval that counts as override for the code owners submit check.\
Any approval on the configured label that has a value >= the configured
value is considered as code owner override.\
The override approval must be specified in the format
"\<label-name\>+\<label-value\>".\
Can be specifed multiple times to configure multiple override approvals.
If multiple approvals are configured, any of them is sufficient to
override the code owners submit check.\
The configured labels must exist for all projects for which this setting
applies (all projects that have code owners enabled and for which this
setting is not overridden).\
If the definition of the configured labels has [copy
rules](../../../Documentation/config-labels.html#label_copyAnyScore)
enabled so that votes are sticky across patch sets, also the code owner
overrides will be sticky.\
If the definition of a configured label [ignores self
approvals](../../../Documentation/config-labels.html#label_ignoreSelfApproval)
from the uploader, any override vote from the uploader on that label is
ignored for the code owners check.\
Overrides the global setting
[plugin.@PLUGIN@.overrideApproval](#pluginCodeOwnersOverrideApproval) in
`gerrit.config` and the `codeOwners.overrideApproval` setting from
parent projects.\
If not set, the global setting
[plugin.@PLUGIN@.overrideApproval](#pluginCodeOwnersOverrideApproval) in
`gerrit.config` is used.
<a id="codeOwnersMergeCommitStrategy">codeOwners.mergeCommitStrategy</a>
: Strategy that defines for merge commits which files require code owner
approvals.\
Can be `ALL_CHANGED_FILES` or `FILES_WITH_CONFLICT_RESOLUTION`
(see [plugin.@PLUGIN@.mergeCommitStrategy](#pluginCodeOwnersMergeCommitStrategy)
for an explanation of these values).\
Overrides the global setting
[plugin.@PLUGIN@.mergeCommitStrategy](#pluginCodeOwnersMergeCommitStrategy)
in `gerrit.config` and the `codeOwners.mergeCommitStrategy` setting from
parent projects.\
If not set, the global setting
[plugin.@PLUGIN@.mergeCommitStrategy](#pluginCodeOwnersMergeCommitStrategy)
in `gerrit.config` is used.
<a id="codeOwnersFallbackCodeOwners">codeOwners.fallbackCodeOwners</a>
: Policy that controls who should own paths that have no code owners
defined. This policy only applies if the inheritance of parent code
owners hasn't been explicity disabled in a relevant code owner config
file and if there are no unresolved imports.\
Can be `NONE` or `ALL_USERS` (see
[plugin.@PLUGIN@.fallbackCodeOwners](#pluginCodeOwnersFallbackCodeOwners)
for an explanation of these values).\
Overrides the global setting
[plugin.@PLUGIN@.fallbackCodeOwners](#pluginCodeOwnersFallbackCodeOwners)
in `gerrit.config` and the `codeOwners.fallbackCodeOwners` setting from
parent projects.\
If not set, the global setting
[plugin.@PLUGIN@.fallbackCodeOwners](#pluginCodeOwnersFallbackCodeOwners)
in `gerrit.config` is used.
<a id="codeOwnersMaxPathsInChangeMessages">codeOwners.maxPathsInChangeMessages</a>
: The @PLUGIN@ plugin lists owned paths in change messages when:
\
1. A code owner votes on the [code owners
label](#pluginCodeOwnersRequiredApproval):\
The paths that are affected by the vote are listed in the change message
that is posted when the vote is applied.\
\
2. A code owner is added as reviewer:\
The paths that are owned by the reviewer are posted as a change
message.\
\
This configuration parameter controls the maximum number of paths that
are included in change messages. This is to prevent that the change
messages become too big for large changes that touch many files.\
Setting the value to `0` disables including owned paths into change
messages.\
Overrides the global setting
[plugin.@PLUGIN@.maxPathsInChangeMessages](#pluginCodeOwnersMaxPathsInChangeMessages)
in `gerrit.config` and the `codeOwners.maxPathsInChangeMessages` setting
from parent projects.\
If not set, the global setting
[plugin.@PLUGIN@.maxPathsInChangeMessages](#pluginCodeOwnersMaxPathsInChangeMessages)
in `gerrit.config` is used.\
By default `100`.
---
Back to [@PLUGIN@ documentation index](index.html)
Part of [Gerrit Code Review](../../../Documentation/index.html)