CreateMembership
client.Groups.Memberships.New(ctx, body) (*GroupMembershipNewResponse, error)
POST/gitpod.v1.GroupService/CreateMembership
Creates a membership for a user in a group.
Use this method to:
- Add users to groups
- Grant group-based permissions to users
Examples
-
Add a user to a group:
Creates a membership for a user in a group.
groupId: "d2c94c27-3b76-4a42-b88c-95a85e392c68" subject: id: "f53d2330-3795-4c5d-a1f3-453121af9c60" principal: PRINCIPAL_USER
Authorization
Requires org:admin permission on the organization or group:admin permission on the specific group.
CreateMembership
package main
import (
"context"
"fmt"
"github.com/gitpod-io/gitpod-sdk-go"
"github.com/gitpod-io/gitpod-sdk-go/option"
"github.com/gitpod-io/gitpod-sdk-go/shared"
)
func main() {
client := gitpod.NewClient(
option.WithBearerToken("My Bearer Token"),
)
membership, err := client.Groups.Memberships.New(context.TODO(), gitpod.GroupMembershipNewParams{
GroupID: gitpod.F("d2c94c27-3b76-4a42-b88c-95a85e392c68"),
Subject: gitpod.F(shared.SubjectParam{
ID: gitpod.F("f53d2330-3795-4c5d-a1f3-453121af9c60"),
Principal: gitpod.F(shared.PrincipalUser),
}),
})
if err != nil {
panic(err.Error())
}
fmt.Printf("%+v\n", membership.Member)
}
{
"member": {
"id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
"avatarUrl": "avatarUrl",
"groupId": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
"name": "name",
"subject": {
"id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
"principal": "PRINCIPAL_UNSPECIFIED"
}
}
}Returns Examples
{
"member": {
"id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
"avatarUrl": "avatarUrl",
"groupId": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
"name": "name",
"subject": {
"id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
"principal": "PRINCIPAL_UNSPECIFIED"
}
}
}