CLA Assistant¶
CLA Assistant is a tool that automates the process of managing Contributor License Agreements (CLAs) for open source projects. It integrates with GitHub to ensure that all contributors have signed the appropriate CLA before their pull requests can be merged.
Purpose and Problem Solved¶
CLA Assistant automates the process of managing Contributor License Agreements (CLAs) for open source projects. It ensures that all contributors have signed the appropriate CLA before their pull requests can be merged, helping maintain legal compliance and reducing manual tracking for maintainers.
Key Benefits and Value Proposition¶
** maintains legal compliance** and streamlines the contribution process.
Automated CLA checks on every pull request
Streamlined contributor experience with a simple signing process
Legal protection for project maintainers and organizations
Easy integration with GitHub workflows
Getting Started¶
Basic Setup Steps¶
CLA Assistant is already configured for this repository via the CLA Assistant dashboard.
The required CLAs (individual and corporate) are stored in
docs/source/contributing/cla/.When a contributor opens a pull request, CLA Assistant checks if the contributor has signed the appropriate CLA.
Quick Example¶
Open a pull request on GitHub.
If you have not signed the CLA, the CLA Assistant bot will comment with a link to sign.
Sign the agreement via the provided link.
The pull request status will update automatically once the CLA is signed.
Usage¶
Common Use Cases¶
First-time contributors: Prompted to sign the CLA before their PR can be merged.
Returning contributors: No action needed if the CLA is already signed.
Corporate contributors: Can sign a corporate CLA if contributing on behalf of an organization.
Command References and Syntax¶
No local CLI commands are required. All interactions happen via GitHub pull requests and the CLA Assistant web interface.
Configuration¶
Key Configuration Options¶
CLA documents: Located in
docs/source/contributing/cla/.Integration: Managed via the CLA Assistant dashboard and GitHub repository settings.
Example Configuration¶
To update the CLA text, edit the markdown files in
docs/source/contributing/cla/.To change integration settings, visit the CLA Assistant dashboard and log in with your GitHub account.
Testing¶
Standalone Testing¶
Open a test pull request from a GitHub account that has not signed the CLA.
Confirm that the CLA Assistant bot comments and blocks merging until the CLA is signed.
Project-Specific Testing¶
Fork the repository and open a pull request.
Verify that the CLA Assistant bot appears and the PR status is blocked until the CLA is signed.
After signing, ensure the PR status updates and merging is allowed.
Disabling the Feature¶
Temporarily or Permanently Disabling¶
Temporarily: Maintainers can manually override the CLA check in GitHub branch protection rules (not recommended for compliance).
Permanently: Remove the CLA Assistant integration via the CLA Assistant dashboard and update repository settings to remove required status checks.
Selective Disabling¶
Not supported for individual PRs; the check applies to all contributors and pull requests.