gitpod-io / gitpod-io/gitpod

Allow users to request access to an organization

Open
#7,007 2 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

component: dashboard feature: organizations meta: never-stale needs visual design team: webapp type: feature request
Dominant language
TypeScript
Stars
13.8k
Forks
1.4k
Avg merge
17h 58m
Merged PRs (30d)
5

Description

Problem to solve

The new Teams & projects feature allows users to create teams and invite team members. Team members ca add repositories as projects that can be part of only one team. There are use cases where users with proper permissions[^1] are trying to add projects but are not able to add the repository in a new team.

Currently, we inform the user when the project is already part of the proejct but it's not clear a) which user has added that project or b) which team currently owns the project, see also https://github.com/gitpod-io/gitpod/issues/5119 and https://github.com/gitpod-io/gitpod/pull/5128.

Commonly, the user who added a project in a team and the user who is tryng to add the project to a team are already collaborators for the same repository with proper permissions to add the repository as project. However, there's no way

[^1]: Proper permissions include the ability to install the GitHub app or add repository webhooks for GitLab, etc.

Proposal

Eventually, we could need a way to allow users to request access to a team which owns a shared project for which users contribute to. This can be used when 🅰️ users are trying to import (add) a project that is already added in another team and 🅱️ users try to discover relevant teams that could be relevant to repositories they contribute to.

The following will probably need to become separate issues:

  1. A good first MVC (minimum viable change) could be to allow to request access to a team when a user is trying to add a project that is already part of another team. This would also require to provide team owners a way to see pending requests and approve or reject.
  2. Next steps could include a) introducing public team pages where users could request access to a team and b) team owners can approve or reject requests.
  3. Other improvements could include suggesting teams top join that a) include projects from GitHub orgs or GitLab groups you are a member of or b) teams created from users using the same domain name with you.
  4. ...

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

The issue names no files, tests, or entry points. Start by narrowing the proposed first MVC around requesting access when a project already belongs to another team, then define the team-owner approval and rejection flow as done.

Written by the indexing model from the issue text.

Assessment

Tech stack
github, typescript
Domain
authorization
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
20/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.