mirror of
https://github.com/Unleash/unleash.git
synced 2025-06-27 01:19:00 +02:00
127 lines
5.9 KiB
Plaintext
127 lines
5.9 KiB
Plaintext
---
|
|
id: projects
|
|
title: Projects
|
|
pagination_next: reference/project-collaboration-mode
|
|
---
|
|
|
|
## Overview
|
|
|
|
Projects help you organize feature flags within Unleash. For example, you can use projects to group feature flags by development teams or different functional modules within your application.
|
|
|
|
Each instance requires at least one project. New instances get a default project that all members can access. You cannot delete this project, but you can [rename](#update-a-project) or [archive it](#archive-a-project).
|
|
|
|
You can configure which [environments](./environments) are available within a project. By default, all global environments are available. You can only enable and disable feature flags for the environments you've configured for the project.
|
|
|
|
By default, projects have an open [collaboration mode](./project-collaboration-mode), which means all members of your instance can access the project and submit change requests. To learn more, visit [Project Collaboration Mode](./project-collaboration-mode).
|
|
|
|
## Create a project
|
|
|
|
:::note Availability
|
|
|
|
**Plan**: [Pro](/availability#plans) and [Enterprise](https://www.getunleash.io/pricing).
|
|
|
|
:::
|
|
|
|
To create a new project:
|
|
1. Go to **Projects** > **New project** and enter a project name.
|
|
2. Optionally configure settings such as [environments](./environments), [stickiness](./stickiness), [collaboration mode](./project-collaboration-mode), and [change requests](./change-requests).
|
|
3. Click **Create project**.
|
|
|
|
|
|
## Update a project
|
|
|
|
:::note Availability
|
|
|
|
**Plan**: [Pro](/availability#plans) and [Enterprise](https://www.getunleash.io/pricing).
|
|
|
|
:::
|
|
|
|
You can update all aspects of a project except its ID.
|
|
|
|
To update a project, go to **Projects** and select the project you'd like to edit. In **Settings > Project settings**, you can update general settings such as project name, description, [stickiness](./stickiness), [collaboration mode](./project-collaboration-mode), and more. You can also configure user and API access, [change requests](./change-requests), and [actions](./actions), add [segments](./segments) and [environments](./environments), and update the [default strategy](#project-default-strategy).
|
|
|
|
The available project settings depend on a user's [root and project roles](./rbac).
|
|
|
|
## Archive a project
|
|
|
|
:::note Availability
|
|
|
|
**Plan**: [Pro](/availability#plans) and [Enterprise](https://www.getunleash.io/pricing). | **Version**: `6.3+`
|
|
|
|
:::
|
|
|
|
The archive projects functionality allows you to hide a project while maintaining historical project data. Archiving lets you manage short-lived projects, for example, to represent specific initiatives in your organization.
|
|
|
|
Before archiving a project, you must archive all feature flags within it. Archiving automatically disables all project [actions](./actions). Once you archive a project, you cannot add or move feature flags to it.
|
|
|
|
To archive a project:
|
|
|
|
1. Open the project and go to the **Settings** tab.
|
|
2. In **Project settings**, go to the **Archive project** section.
|
|
3. Click **Archive project**.
|
|
4. Confirm by clicking **Yes, I'm sure**.
|
|
|
|
### Revive a project
|
|
|
|
To revive an archived project, go to **Projects > Archived projects** and click **Revive project** on the project you want to restore.
|
|
|
|
## Delete a project
|
|
|
|
:::note Availability
|
|
|
|
**Plan**: [Pro](/availability#plans) and [Enterprise](https://www.getunleash.io/pricing).
|
|
|
|
:::
|
|
|
|
When deleting a project within the Admin UI, you must [archive it](#archive-a-project) first. Alternatively, you can [delete projects directly](./api/unleash/delete-project) using the API.
|
|
|
|
To delete a project:
|
|
|
|
1. Go to **Projects > Archived projects** and click **Permanently delete project** on the project you want to delete.
|
|
2. Confirm by clicking **Yes, I'm sure**.
|
|
|
|
## Move a feature flag between projects
|
|
|
|
A feature flag belongs to a single project. To move a feature flag between two projects, both projects must have the exact same environments enabled.
|
|
|
|
To move a feature flag between projects:
|
|
|
|
1. Go to **Projects** and select the feature flag's current project.
|
|
2. In the **Flags** tab, click the feature flag's name.
|
|
3. Go to **Settings > Project**.
|
|
4. Select the new project from the list.
|
|
5. Click **Save**, then click **Change project** to confirm your changes.
|
|
|
|
## Project default strategy
|
|
|
|
:::note Availability
|
|
|
|
**Version**: `5.2+`.
|
|
|
|
:::
|
|
|
|
Each project has a default strategy of [gradual rollout](./activation-strategies) to 100% of the user base. The default strategy only applies when **no active strategies** are defined for a flag in a specific environment.
|
|
|
|
You can change the default strategies of a project per environment. You can customize the default strategies by changing the rollout percentage and [stickiness](./stickiness) and adding [segments](./segments), [constraints](./activation-strategies#constraints), and [variants](./strategy-variants).
|
|
|
|
To change the default strategy for an environment in a project:
|
|
|
|
1. Go to **Projects > Project settings > Default strategy**.
|
|
2. Go to the environment you want to configure and click **Edit default strategy for 'environment'**.
|
|
3. Configure the strategy values, such as the rollout percentage, stickiness, segments, constraints, and variants.
|
|
4. Click **Save strategy**.
|
|
|
|

|
|
|
|
## Project roles
|
|
|
|
Unleash supports [predefined](./rbac#predefined-roles) and [custom roles](./rbac#custom-project-roles) at the project level. The two predefined project roles are Owner and Member. By default, the person creating the project becomes the Owner. If a project does not have an Owner, it is shown as owned by _System_.
|
|
|
|
## View project status
|
|
|
|
The [Project status](./technical-debt#project-status) dashboard provides an overview of your project's technical debt, information on project resources like API keys, recent activity within the project, and feature flag lifecycle information.
|
|
|
|
For additional, in-depth analysis, go to **Analytics** and filter by your project.
|
|
|
|
|