A CLA Bot
The intention of this CI/CD component is to help you ensure contributors agree to your CLA. The bot will take care of most of the required interaction and keep track of who has or hasn't agreed to your guidelines. The interaction will be via discussion threads to merge requests.
How to use this CLA Bot
The project is still under development. Please get in touch if you intend to use it so we can help setting it up.
Note that not all features are fully implemented yet and breaking changes may happen. We will be happy to assist with those in case you are impacted!
There are currently two options to include CLA Bot: either using a CI/CD Component supplied on a GitLab instance or via installing the bot in a repository and executing it individually.
Eventually, there will be different options for the workflow around CLAs and how information is stored. One option will include keeping a list of contributors that have signed an agreement in a separate repository. This repository can hold information for several repositories, so could be used for a group/institution of developers for a number of their projects. To avoid contributors altering the workflow, we advise including the CI pipeline for the CLA Bot along with this 'storage' repository. Webhooks from the projects that should use CLAs will trigger the CLA Bot. Please refer to the terminology used for the remainder of the documents.
Please file an issue in case of any questions or get in touch via email.
Overall approach to execute CLA Bot
- CLA Bot runs via a CI pipeline, ideally located in its own project.
- Make sure the CI pipeline is triggered for merge requests, ideally for merge request events and comments on merge requests.
- Install the 'Webhook' to trigger the pipeline on those events.
Helpful project settings / Project requirements
- GitLab CE only allows to check pipelines succeed (i.e. direct MR pipelines, not the ones triggered via a webhook) and discussions are resolved before allowing to merge. Hence the project should be set up to only allow merging once all discussions are resolved. In case CLA Bot finds contributors still need to agree to your CLA, it will open a discussion and only resolve it once agreements are found.
- CLA Bot will need 'Project Token's
- The webhook will need a 'Trigger Token'
License
Copyright © 2025 Forschungszentrum Jülich GmbH, Germany (https://www.fz-juelich.de/)
This work is licensed under the following license(s):
- Insignificant files are licensed under CC0-1.0
- Source code files are licensed under AGPL-3.0-or-later
- Everything else is licensed under CC-BY-4.0
Please see the individual files for more information.
We provided the copyright and license information in accordance to the REUSE Specification 3.0.