> For the complete documentation index, see [llms.txt](https://developer.harness.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://developer.harness.io/open-source/use-harness-open-source/administration-1/project-management.md).

# Project Management

Harness Open Source projects contain your repositories and pipelines. They represent organizational divisions, such as products or teams, and you're provided with granular user access controls at the project level.

## Create a project <a href="#create-a-project" id="create-a-project"></a>

1. If this is your first project, select **New Project** from the home page.

   Otherwise, from the home page, select **Select project**, and then select **New Project**.
2. Enter a project **Name** and optional **Description**.
3. Select **Create Project**.

## Import a project <a href="#import-a-project" id="import-a-project"></a>

Harness Open Source supports importing projects from external sources such as GitLab groups and GitHub organizations.

1. If this is your first project, expand the dropdown next to **New Project** from the home page, then select **Import Project**.

   If you are adding a project, select **Select project** from the home page, expand the dropdown next to **New Project**, then select **Import Project**.
2. Select your **Git Provider** and optionally enter the **Host URL** if required.
3. Provide your authorization credentials to access your group or organization.

   For **Password/Token**, provide a token with permission to access the group or organization.

{% tabs %}
{% tab title="Bitbucket Server" %}
To import a Bitbucket Server project, your token must have project and repository "Read" permissions.

For more information, refer to Bitbucket Server's [Personal access tokens](https://confluence.atlassian.com/bitbucketserver072/personal-access-tokens-1005335924.html) documentation.
{% endtab %}

{% tab title="GitHub" %}
To import a GitHub organization, your token must have repo and read:org permissions.

For more information, refer to GitHub's [Creating classic personal access tokens](https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens#personal-access-tokens-classic) and [Available scopes](https://docs.github.com/en/apps/oauth-apps/building-oauth-apps/scopes-for-oauth-apps#available-scopes) documentation.
{% endtab %}

{% tab title="GitLab" %}
To import a GitLab group, your token must have read\_api and read\_repository scopes.

For more information, refer to GitLab's [Create a personal access token](https://docs.gitlab.com/ee/user/profile/personal_access_tokens.html#create-a-personal-access-token) and [Personal access token scopes](https://docs.gitlab.com/ee/user/profile/personal_access_tokens.html#personal-access-token-scopes) documentation.
{% endtab %}
{% endtabs %}

4. Select **Next step**.
5. Enter the **Name** of the group or organization that you want to import.
6. For **What to import**, you can select **Pipelines** if you want Harness Open Source to import pipelines from your repositories.
7. Enter the **Project name** that you want the group or organization to have. The **Description** is optional.
8. Select **Import Project**.

## Edit or delete a project <a href="#edit-or-delete-a-project" id="edit-or-delete-a-project"></a>

You can delete projects and edit project names and descriptions from the **Settings** page in your project.

{% hint style="warning" %}
Deleting a project **permanently** removes the project and all contents, **including repositories**.

**This can't be undone.**
{% endhint %}

## Switch projects <a href="#switch-projects" id="switch-projects"></a>

To switch projects, you can either select a project from the project drawer on the navigation menu, or go to the home page and select **Select project**.

![Select a project from the navigation menu.](/files/ztG1nO2SbEGYCurAfIzh)

## Project members <a href="#project-members" id="project-members"></a>

Administrators and project owners can manage [users](/open-source/use-harness-open-source/administration-1/user-management.md) who are members of the project and their [roles](#project-roles).

1. In your project, select **Members**, and then select **Add Member**.
2. Select a user from the dropdown.
3. Assign a **Role** to the user.
4. Select **Add member to this Project**.

## Project roles <a href="#project-roles" id="project-roles"></a>

Each project member is assigned a particular role. The following table summarizes the roles and access levels.

|                 | Project              | Members     | Repositories             | Webhooks             | Pipelines                     |
| --------------- | -------------------- | ----------- | ------------------------ | -------------------- | ----------------------------- |
| **Owner**       | Create, Edit, Delete | Add, Remove | Create, Edit, Delete     | Create, Edit, Delete | Create, Edit, Execute, Delete |
| **Contributor** | View access          | View access | Push access              | View access          | Edit YAML                     |
| **Executor**    | View access          | View access | View status check report | View access          | Execute                       |
| **Reader**      | View access          | View access | Read only                | View access          | Read only                     |
