Allow users to request access to an organization
Nobody has claimed this yet.
- 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:
- 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.
- 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.
- 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.
- ...
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- 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