# 使用协作项目组进行开源协同
# 应用场景
协作项目组 (Share Group) 允许将你的项目权限共享给外部项目组,是工蜂 Git 支持开源协同的一种重要手段。
# 功能介绍
# 1. 添加协作项目组
首先进入项目成员(Member)页面,点击“协作项目组”(ShareGroup)标签,点击“将项目组邀请进项目”(Invite group to this project)。

然后选择协作项目组,并指定共享组访问项目的权限,点击“邀请”(Invite)按钮邀请项目组完成。被邀请的项目组下面成员立即拥有访问该项目权限。

# 2. 编辑和移除协作项目组
进入项目成员页面,点击“协作项目组”标签,点击下图中“编辑”(Edit acess level)按钮可修改共享组角色。点击“移除”(Remove share group from team)按钮可以停止共享项目权限。后续我们会加入共享有效期功能。

# 3. 查看项目的共享项目组
进入项目成员页面,点击“协作项目组”标签,列表显示了哪些项目组共享该项目。

# 4. 查看项目组的共享项目
进入某个项目组主页,点击“协作项目组”标签,列表显示了该项目组有哪些共享了权限的项目。

# 权限规则
无论是个人项目还是项目组(Group)下面的项目,都可以共享给外部项目组进行协作开发。共享角色权限是按受邀项目组整体进行团队赋权,可以指定不同的角色,最高角色权限不超过 Master 角色。
具体规则:
1、在共享项目中,如外部项目组成员角色权限低于或等于被指定的共享角色权限,则这些成员的共享角色与其在原项目组中角色一致。
2、如其在原项目组中角色权限高于指定的共享角色权限,则其共享权限为指定角色权限。
示例:A 项目组有两个成员 a,b,他们的角色分别为 Developer 和 Master,现受邀进入 B 项目,受邀时指定 A 项目组访问 B 项目的共享角色为 Master,那 a 与 b 的共享角色分别为 Developer 和 Master。如受邀时指定 A 项目组访问 B 项目的共享角色为 Developer,则 a 与 b 的共享角色分别为 Developer 和 Developer。
# Api 访问
# 问题答疑
# 1. 用户既属于某个项目的项目组成员,又属于这个项目的协作项目组成员,该用户访问这个项目的权限是什么?
答:该用户访问项目的权限是项目组成员角色,不考虑协作项目组共享角色,这样做的目的是防止该用户在项目中权限被放大。
# 2. 某个用户属于某个项目的多个协作项目组成员,该用户访问项目的权限是什么?
答:该用户访问项目的权限是取用户所在协作项目组里面的最大成员权限,且不会超过最大限定角色权限。