---
url: /howto/managing-roles.md
---

# How to Manage Roles in Teamscale

Teamscale allows creating new roles with the set of permissions you
would like to grant to users within projects or for administrative duties.
Therefore new project- and global roles can be created with a
custom set of permissions. Furthermore, existing roles can be edited
to change the permissions for all assignments of that role or deleted
if they are no longer needed.

:::tip Necessary Permissions
To edit roles, the global permission `Edit Roles` is required. Note that this is a powerful permission which
should only be granted to Teamscale administrators.
:::

\[\[toc]]

## Role Configuration Page

Project- and global roles can be created, edited and deleted on the
Roles page of the Admin perspective. There exists a section for global
roles and project roles as shown here:

![Roles Page](./admin-roles-page.png)

Existing roles can be edited using the button  and deleted using the  button.

## Creating a Project Role by Example

This section describes the creation of a new project role.

First, navigate to the [role configuration page](#role-configuration-page). Next, click the `+ New project role`
button which will show a dialog for creating a new role. In this example the role *Senior Developer* is created which should be able to
Mark yellow findings in addition to view the project. Click the button `+ Select Permissions` to add the granted permissions. From the dropdown menu, pick the `View Project` permission. Repeat the last previous two actions for
the `Mark Yellow Findings` permission as shown here:

![Creating a Project Role - Step 1](./admin-roles-project-role-select-permission.png)

After adding the roles fill the role name field with
*Senior Developer* and optionally add a short description. The result of these
steps is shown here:

![Creating a Project Role - Step 2](./admin-roles-create-role-dialog.png)

Lastly, click the `OK` button to create
the role. The role is now shown in the table for project roles and can
be assigned to users or groups as [outlined here](../managing-access-to-project/)
