2022-01-07 11:49:33 +01:00
---
title: How to create and assign custom project roles
---
2022-09-30 13:01:32 +02:00
2022-01-26 13:48:55 +01:00
import VideoContent from '@site/src/components/VideoContent.jsx'
2022-01-25 15:19:32 +01:00
2022-01-07 12:08:55 +01:00
:::info availability
2022-09-30 13:01:32 +02:00
2022-01-07 12:08:55 +01:00
Custom project roles were introduced in **Unleash 4.6** and are only available in Unleash Enterprise.
2022-09-30 13:01:32 +02:00
2022-01-07 12:08:55 +01:00
:::
2022-01-07 11:49:33 +01:00
2022-01-25 15:19:32 +01:00
refactor: move docs into new structure / fix links for SEO (#2416)
## What
This (admittedly massive) PR updates the "physical" documentation
structure and fixes url inconsistencies and SEO problems reported by
marketing. The main points are:
- remove or move directories : advanced, user_guide, deploy, api
- move the files contained within to the appropriate one of topics,
how-to, tutorials, or reference
- update internal doc links and product links to the content
- create client-side redirects for all the urls that have changed.
A number of the files have been renamed in small ways to better match
their url and to make them easier to find. Additionally, the top-level
api directory has been moved to /reference/api/legacy/unleash (see the
discussion points section for more on this).
## Why
When moving our doc structure to diataxis a while back, we left the
"physical' files lying where they were, because it didn't matter much to
the new structure. However, that did introduce some inconsistencies with
where you place docs and how we organize them.
There's also the discrepancies in whether urls us underscores or hyphens
(which isn't necessarily the same as their file name), which has been
annoying me for a while, but now has also been raised by marketing as an
issue in terms of SEO.
## Discussion points
The old, hand-written API docs have been moved from /api to
/reference/api/legacy/unleash. There _is_ a /reference/api/unleash
directory, but this is being populated by the OpenAPI plugin, and mixing
those could only cause trouble. However, I'm unsure about putting
/legacy/ in the title, because the API isn't legacy, the docs are. Maybe
we could use another path? Like /old-docs/ or something? I'd appreciate
some input on this.
2022-11-22 10:05:30 +01:00
This guide takes you through [how to create ](#creating-custom-project-roles "how to create custom project roles" ) and [assign ](#assigning-custom-project-roles "how to assign custom project roles" ) [custom project roles ](../reference/rbac.md#custom-project-roles ). Custom project roles allow you to fine-tune access rights and permissions within your projects.
2022-01-07 11:49:33 +01:00
2023-10-17 16:05:06 +02:00
< VideoContent videoUrls = {["https://www.youtube.com/embed/2BlckVMHxgE"]}/ >
2022-01-19 15:05:28 +01:00
2022-01-27 12:48:23 +01:00
## Creating custom project roles
2022-01-19 15:05:28 +01:00
2022-01-27 12:48:23 +01:00
It takes about three steps to create custom project roles:
2022-01-07 13:45:12 +01:00
2022-01-10 14:38:03 +01:00
1. Navigate to the custom project roles page by using the admin menu (the gear symbol) and navigating to users.
2022-01-14 10:44:50 +01:00
![A visual representation of the current step: the Unleash Admin UI with the steps highlighted. ](/img/create-cpr-step-1.png )
2022-09-14 09:59:18 +02:00
2. Navigate to the "Project roles" tab.
2022-01-14 10:44:50 +01:00
![The admin/roles screen, with the project roles tab highlighted. The page shows a table of project roles with their descriptions. ](/img/create-cpr-step-2.png )
2022-09-14 09:59:18 +02:00
3. Use the "New project role" button to open the role creation form.
2022-01-14 10:44:50 +01:00
![The visual position of the 'new project role' button on the page. ](/img/create-cpr-step-3.png )
refactor: move docs into new structure / fix links for SEO (#2416)
## What
This (admittedly massive) PR updates the "physical" documentation
structure and fixes url inconsistencies and SEO problems reported by
marketing. The main points are:
- remove or move directories : advanced, user_guide, deploy, api
- move the files contained within to the appropriate one of topics,
how-to, tutorials, or reference
- update internal doc links and product links to the content
- create client-side redirects for all the urls that have changed.
A number of the files have been renamed in small ways to better match
their url and to make them easier to find. Additionally, the top-level
api directory has been moved to /reference/api/legacy/unleash (see the
discussion points section for more on this).
## Why
When moving our doc structure to diataxis a while back, we left the
"physical' files lying where they were, because it didn't matter much to
the new structure. However, that did introduce some inconsistencies with
where you place docs and how we organize them.
There's also the discrepancies in whether urls us underscores or hyphens
(which isn't necessarily the same as their file name), which has been
annoying me for a while, but now has also been raised by marketing as an
issue in terms of SEO.
## Discussion points
The old, hand-written API docs have been moved from /api to
/reference/api/legacy/unleash. There _is_ a /reference/api/unleash
directory, but this is being populated by the OpenAPI plugin, and mixing
those could only cause trouble. However, I'm unsure about putting
/legacy/ in the title, because the API isn't legacy, the docs are. Maybe
we could use another path? Like /old-docs/ or something? I'd appreciate
some input on this.
2022-11-22 10:05:30 +01:00
4. Give the role a name, an optional description, and the set of permissions you'd like it to have. For a full overview of all the options, consult the [custom project roles reference documentation ](../reference/rbac.md#custom-project-roles ).
2022-01-14 10:44:50 +01:00
![The project role creation form filled in with details for a "developer" role. To the left is the equivalent cURL command you could run if you wanted to use the API instead of the form. ](/img/create-cpr-step-4.png )
2022-01-07 11:49:33 +01:00
2023-10-17 16:05:06 +02:00
< VideoContent videoUrls = {["https://www.youtube.com/embed/IqaD8iGxkwk"]}/ >
2022-01-07 12:08:55 +01:00
## Assigning custom project roles
2022-01-07 11:49:33 +01:00
2023-09-11 15:41:47 +02:00
:::info Multiple project roles
2023-10-27 11:04:17 +02:00
Multiple project roles is an enterprise feature available from **Unleash 5.6** onwards. See [multiple project roles ](../reference/rbac.md#multiple-project-roles ) for more info.
2023-09-11 15:41:47 +02:00
:::
Assigning a custom project role is a pretty straightforward process and requires three steps, outlined below.
2022-01-19 15:05:28 +01:00
2022-01-07 13:45:12 +01:00
To assign a custom project role to a user:
1. Navigate to the project you want to assign the user a role in.
2022-01-14 10:44:50 +01:00
![The steps to navigate to a project: use the 'projects' navigation item and select your project. ](/img/assign-cpr-step-1.png )
2022-09-14 09:59:18 +02:00
2. Navigate to the project's _access_ tab.
2022-01-14 10:44:50 +01:00
![A project overview with the 'access' tab highlighted. ](/img/assign-cpr-step-2.png )
2022-01-07 13:45:12 +01:00
3. This step depends on whether the user has already been added to the project or not:
2022-09-14 09:59:18 +02:00
- If the user has already been added to the project, click on the edit icon coresponding with its line and from the overlay that will show up select the new role you want to assign it from the dropdown and save the changes.
2022-01-14 10:44:50 +01:00
![A list of users with access to the current project. To the right of each user is a dropdown input labeled role. ](/img/assign-cpr-step-3a.png )
2022-09-14 09:59:18 +02:00
- If the user _hasn't_ been added to the project, add them using the button 'Assing user/group'. From the overlay that will show up select the user, assign it a role and save the changes. Now you should be able to see the new user in the table.
2022-01-14 10:44:50 +01:00
![Adding a user to a project. The add user form is filled out with data for an "Alexis". The Role input is open and the custom "Developer" role is highlighted. ](/img/assign-cpr-step-3b.png )