Skip to content
Ona Docs

CreateProjectPolicy

client.Projects.Policies.New(ctx, body) (*ProjectPolicyNewResponse, error)
POST/gitpod.v1.ProjectService/CreateProjectPolicy

Creates a new policy for a project.

Use this method to:

  • Set up access controls
  • Define group permissions
  • Configure role-based access

Examples

  • Create admin policy:

    Grants admin access to a group.

    projectId: "b0e12f6c-4c67-429d-a4a6-d9838b5da047"
    groupId: "f53d2330-3795-4c5d-a1f3-453121af9c60"
    role: PROJECT_ROLE_ADMIN
ParametersExpand Collapse
body ProjectPolicyNewParams
GroupID param.Field[string]Optional

group_id specifies the group_id identifier

formatuuid
ProjectID param.Field[string]Optional

project_id specifies the project identifier

formatuuid
Role param.Field[ProjectRole]Optional
ReturnsExpand Collapse
type ProjectPolicyNewResponse struct{…}
Policy ProjectPolicyOptional
GroupID stringOptional
formatuuid
Role ProjectRoleOptional

role is the role assigned to the group

One of the following:
const ProjectRoleUnspecified ProjectRole = "PROJECT_ROLE_UNSPECIFIED"
const ProjectRoleAdmin ProjectRole = "PROJECT_ROLE_ADMIN"
const ProjectRoleUser ProjectRole = "PROJECT_ROLE_USER"
const ProjectRoleEditor ProjectRole = "PROJECT_ROLE_EDITOR"

CreateProjectPolicy

package main

import (
  "context"
  "fmt"

  "github.com/gitpod-io/gitpod-sdk-go"
  "github.com/gitpod-io/gitpod-sdk-go/option"
)

func main() {
  client := gitpod.NewClient(
    option.WithBearerToken("My Bearer Token"),
  )
  policy, err := client.Projects.Policies.New(context.TODO(), gitpod.ProjectPolicyNewParams{
    GroupID: gitpod.F("f53d2330-3795-4c5d-a1f3-453121af9c60"),
    ProjectID: gitpod.F("b0e12f6c-4c67-429d-a4a6-d9838b5da047"),
    Role: gitpod.F(gitpod.ProjectRoleAdmin),
  })
  if err != nil {
    panic(err.Error())
  }
  fmt.Printf("%+v\n", policy.Policy)
}
{
  "policy": {
    "groupId": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
    "role": "PROJECT_ROLE_UNSPECIFIED"
  }
}
Returns Examples
{
  "policy": {
    "groupId": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
    "role": "PROJECT_ROLE_UNSPECIFIED"
  }
}