Stash provides the following types of permissions to allow fully customisable control of access to code:
Global permissions
- Control user and group access to Stash projects and to the Stash server configuration.
- For example, these can be used to control the number of user accounts that can can access Stash for licensing purposes.
- See Global permissions.
Project permissions
- Apply the same access permissions to all repositories in a project.
- For example, these can be used to define the core development team for a project.
- See Using project permissions.
Repository permissions
- Extend access to a particular repository for other, non-core, users.
- For example, these can be used to allow external developers or consultants access to a repository for special tasks or responsibilities.
- See Using repository permissions.
Branch permissions
- Control commits to specific branches within a repository.
- For example, these can provide a way to enforce workflow roles such as the Release Manager, who needs to control merges to the release branch.
- See Using branch permissions.
Note that you can also allow public (anonymous) access to projects and repositories. See Allowing public access to code.