c48da97cfd
Two new lists are added to the contributor-agreement config section: 1. matchProjects will apply the enforcement only to matching projects. When omitted, enforcement applies to all projects. 2. excludeProjects will cause the enforcement to skip matches. When omitted, enforcement applies to all projects per matchProjects. Change-Id: Ide2d8c4718ffcfb3cf1701465fe08bea58e9d7c6
96 lines
3.4 KiB
Plaintext
96 lines
3.4 KiB
Plaintext
= Gerrit Code Review - Contributor Agreements
|
|
|
|
Users can be required to sign one or more contributor agreements before
|
|
being able to submit a change in a project.
|
|
|
|
Contributor agreements are global and can be configured by modifying
|
|
the `project.config` file on the `All-Projects` project. Push permission
|
|
needs to be granted for the `refs/meta/config` branch to be able to push
|
|
back the `project.config` file. Consult
|
|
link:access-control.html[access controls] for details on how access
|
|
permissions work.
|
|
|
|
To retrieve the `project.config` file, initialize a temporary Git
|
|
repository to edit the configuration:
|
|
----
|
|
mkdir cfg_dir
|
|
cd cfg_dir
|
|
git init
|
|
----
|
|
|
|
Download the existing configuration from Gerrit:
|
|
----
|
|
git fetch ssh://localhost:29418/All-Projects refs/meta/config
|
|
git checkout FETCH_HEAD
|
|
----
|
|
|
|
Contributor agreements are defined as contributor-agreement sections in
|
|
`project.config` of `All-Projects`:
|
|
----
|
|
[contributor-agreement "Individual"]
|
|
description = If you are going to be contributing code on your own, this is the one you want. You can sign this one online.
|
|
agreementUrl = static/cla_individual.html
|
|
autoVerify = group CLA Accepted - Individual
|
|
accepted = group CLA Accepted - Individual
|
|
matchProjects = ^/.*$
|
|
excludeProjects = ^/not/my/project/
|
|
----
|
|
|
|
Each `contributor-agreement` section within the `project.config` file must
|
|
have a unique name. The section name will appear in the web UI.
|
|
|
|
If not already present, add the group(s) used in the `autoVerify` and
|
|
`accepted` variables in the `groups` file:
|
|
----
|
|
# UUID Group Name
|
|
#
|
|
3dedb32915ecdbef5fced9f0a2587d164cd614d4 CLA Accepted - Individual
|
|
----
|
|
|
|
Commit the configuration change, and push it back:
|
|
----
|
|
git commit -a -m "Add Individual contributor agreement"
|
|
git push ssh://localhost:29418/All-Projects HEAD:refs/meta/config
|
|
----
|
|
|
|
[[contributor-agreement.name.description]]contributor-agreement.<name>.description::
|
|
+
|
|
Short text describing the contributor agreement. This text will appear
|
|
when the user selects an agreement.
|
|
|
|
[[contributor-agreement.name.agreementUrl]]contributor-agreement.<name>.agreementUrl::
|
|
+
|
|
An absolute URL or a relative path to an HTML file containing the text
|
|
of the contributor agreement. The URL must use the http or https
|
|
scheme. The path is relative to the `gerrit.basePath` variable in
|
|
`gerrit.config`.
|
|
|
|
[[contributor-agreement.name.autoVerify]]contributor-agreement.<name>.autoVerify::
|
|
+
|
|
If present, the user can sign the contributor agreement online. The
|
|
value is the group to which the user will be added after signing the
|
|
agreement. The group's UUID must also appear in the `groups` file.
|
|
|
|
[[contributor-agreement.name.accepted]]contributor-agreement.<name>.accepted::
|
|
+
|
|
List of groups that will be considered when verifying that a
|
|
contributor agreement has been accepted. The groups' UUID must also
|
|
appear in the `groups` file.
|
|
|
|
[[contributor-agreement.name.matchProjects]]contributor-agreement.<name>.matchProjects::
|
|
+
|
|
List of project regular expressions identifying projects where the
|
|
agreement is required. Defaults to every project when omitted.
|
|
|
|
[[contributor-agreement.name.excludeProjects]]contributor-agreement.<name>.excludeProjects::
|
|
+
|
|
List of project regular expressions identifying projects where the
|
|
agreement does not apply. Defaults to empty. i.e. no projects excluded.
|
|
|
|
GERRIT
|
|
------
|
|
Part of link:index.html[Gerrit Code Review]
|
|
|
|
SEARCHBOX
|
|
---------
|