Share private project via URL
Overview
I'd like to share a private project with non-Gitlab users. Sharing via link or some other form of ID would be useful.
Proposal
- Add an option to Public projects to exclude them from appearing in search.
This solves the problem by making the non-discoverable, but is still directly accessible if you share the path https://gitlab.com/username/my_awesome_project
with someone directly.
Alternative proposal
- A project or group Owner should be able to generate an invite URL from the Members page.
- You should be able to specify a permissions level and an expiration date.
- We should use the existing invite flow. This shouldn't require a specific email or user. Anyone should be able to use the link and be added to the project/group under the defined permissions level.
- Since the invite URL won't target a specific email address, we don't need to send an email invite.
- After clicking the URL with no active session, we should present the "To accept this invitation..." sign-in/registration page (as per the current invite flow).
- After clicking the URL with an active session, we should simply add
current_user
to the project. - A user shouldn't be able to decline the invite from an invite URL, only accept it.
- Currently open invite links should be visible in the Members table.
- Like pending invites, we should be able to edit the permissions level and expiration date. Also like pending invites, we should be able to remove the link and render it invalid.
- We shouldn't be able to resend an invite email, since there's no email to resend.
- We should be able to identify users in the Members table who have been added to the project or group from an invite URL.
- Consider modifying "Given access X months ago" to "Given access X months ago via invite link" or something similar.
Edited by Jeremy Watson (ex-GitLab)