gitpod-io / gitpod

The developer platform for on-demand cloud development environments to create software faster and more securely.
https://www.gitpod.io
GNU Affero General Public License v3.0
12.57k stars 1.2k forks source link

Allow users to move projects between teams #7101

Open gtsiolis opened 2 years ago

gtsiolis commented 2 years ago

Problem to solve

Currently, users can add or remove projects from a team. The addition and removal process contains some friction that could be avoided when a user simply wants to transfer a project to another team.

Also, while prebuilds are not removed, removing the project will remove access to existing prebuilds and prebuilds logs from the dashboard.

Proposal

Introduce a way to move a project to another team from the project settings.

Additionally, in the future we could consider dropping all prebuilds, removing the prebuilds configuration (webhook, etc) (https://github.com/gitpod-io/gitpod/issues/5517), etc. However, moving a project could justify keeping the prebuilds and configuration. 💭

Designs

TBD (To be discussed)

This could introduce a small section under General project settings with one action button that triggers a modal to select a namespace to transfer the project to. 💭

Front logo Front conversations

stale[bot] commented 2 years ago

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.

gtsiolis commented 1 year ago

Looping in @geropl and @jldec in case this is something we'd like to prioritize.

gtsiolis commented 1 year ago

Until we ship this feature, :a: removing the project from the initial team or :b: deleting the initial team first can make the project available to be added in any other team.

shaal commented 1 year ago

@gtsiolis removing a project from a team and manually adding it to a new team, also means:

  1. Losing all project's variables.
  2. Manually recreating these variables in the new team.
  3. Test all edge-cases to confirm prebuild, workspace and snapshots works with the "new" variables.
gtsiolis commented 1 year ago

Correct, @shaal! 💯

This issue acts as a placeholder for making as easy as going to project settings, clicking transfer, and selecting a different to move existing data like project variables and prebuilds to the project in the new team.

I know this is not ideal, but until we pick this up, the manual process you described above is the best option we have.

@shaal Thanks also for highlighting these friction points above, this can help everyone to understand the benefits of this feature request, especially as we move towards https://github.com/gitpod-io/gitpod/issues/14035, https://github.com/gitpod-io/gitpod/issues/9898, and more.

jldec commented 1 year ago

Great suggestion from @shaal for team-move design from #14133

Even better - choose a project I would like to move, which will create a link I can send to a client. That way, I don't have to be part of the team that is receiving the project.

shaal commented 1 year ago

TIL - The only way to move a project to another team is by doing it manually.

  1. Deleting the project from the current team it's in.
  2. Recreate the project in the new page team (you'll have to recreate the exact configuration and all the env vars)