User Roles
Access in zCICD comes from two independent things:
- A role, assigned in the user's configuration
- Being a follower of the repository you want to work on
Both are normally required. A user with a role but no repository membership sees nothing; a follower with no role sees nothing either. The only exception is the Manager role, which does not need to be a follower.
No assigned role
A user without a zCICD role has no access to any branches, tasks or other zCICD records at all. They gain access either by being given the Manager role, or by being assigned one of the roles below and added as a follower of a repository.

The four main roles
The roles build on each other — each one includes everything the previous one can do.
1. Approver
The smallest set of rights. Approvers can:
- open a branch and its instance
- perform actions on the instance
- run tests
- approve or decline changes
Requires the cicd.approver role and repository follower membership.

2. Key User
Everything an Approver can do, plus:
- restore database dumps to a zCICD branch
Requires the cicd.key_user role and repository follower membership.

3. Developer
Broad access — exceeded only by Manager. Developers get additional menu items along the top bar of the CICD app, notably Prod, Test Runs, Releases and Tasks. Among other rights they can:
- manage Compressors and Jobs
- use Online coding (the web editor)
- open the Test TV
- read branch Logs
Requires the cicd.developer role and repository follower membership.

4. Manager
Full rights over the application: tasks, repositories, active database queries, database dumps, logging, configuration, image creation and registry upload.
Managers are the only users who do not need to be added as followers of a repository to have access to it. The whole Configuration and Logging menus are manager-only.
Requires the cicd.manager role.

Additional permissions
These four groups are assigned independently of the four roles above — having Developer does not grant them.
| Group | Grants |
|---|---|
cicd.download.dumps.anonymized | Access to the Dumps menu and the ability to download anonymised dumps |
cicd.download.dumps.all | The same, plus download of non-anonymised dumps. Implies the anonymised group |
cicd.make_branch | Creating branches from inside zCICD |
cicd.override.approve | Overriding the normal approval requirement on a branch |
cicd.download.dumps.all allows downloading production data that has not
been anonymised. Grant it deliberately.
Adding a user as a repository follower
- Navigate to Configuration > Repositories and open the repository.
- Add the user to the followers list at the bottom right of the form.

The user must already have one of the four roles for this to have any effect.