Skip to content
Ona Docs

ListSCMOrganizations

client.Runners.ListScmOrganizations(ctx, params) (*OrganizationsPage[RunnerListScmOrganizationsResponse], error)
POST/gitpod.v1.RunnerService/ListSCMOrganizations

Lists SCM organizations the user belongs to.

Use this method to:

  • Get all organizations for a user on a specific SCM host
  • Check organization admin permissions for webhook creation

Examples

  • List GitHub organizations:

    Lists all organizations the user belongs to on GitHub.

    runnerId: "d2c94c27-3b76-4a42-b88c-95a85e392c68"
    scmHost: "github.com"
  • Search GitLab groups:

    Returns the first page of GitLab groups matching the substring.

    runnerId: "d2c94c27-3b76-4a42-b88c-95a85e392c68"
    scmHost: "gitlab.com"
    query: "platform"
    pagination:
      pageSize: 25
ParametersExpand Collapse
params RunnerListScmOrganizationsParams
Token param.Field[string]Optional

Query param

PageSize param.Field[int64]Optional

Query param

maximum100
minimum0
Query param.Field[string]Optional

Body param: Optional substring filter applied to the organization name.

  • GitLab: forwarded to the upstream search parameter (server-side, case-insensitive substring on name/path).
  • GitHub and Bitbucket: not implemented as they don’t support searching Empty value means no filter.
RunnerID param.Field[string]Optional

Body param

formatuuid
ScmHost param.Field[string]Optional

Body param: The SCM host to list organizations from (e.g., “github.com”, “gitlab.com”)

minLength1
ReturnsExpand Collapse
type RunnerListScmOrganizationsResponse struct{…}
DeprecatedIsAdmin boolOptional

Deprecated: this field is unused by all known consumers and is scheduled for removal in a future release. Do not read it.

Originally intended to gate organization-level webhook creation in the dashboard, but that gating was never implemented. Populating this field on the GitLab path requires a second fully-paginated ListGroups call, which is the main reason we are deprecating it.

Name stringOptional

Organization name/slug (e.g., “gitpod-io”)

URL stringOptional

Organization URL (e.g., “https://github.com/gitpod-io”)

ListSCMOrganizations

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"),
  )
  page, err := client.Runners.ListScmOrganizations(context.TODO(), gitpod.RunnerListScmOrganizationsParams{
    RunnerID: gitpod.F("d2c94c27-3b76-4a42-b88c-95a85e392c68"),
    ScmHost: gitpod.F("github.com"),
  })
  if err != nil {
    panic(err.Error())
  }
  fmt.Printf("%+v\n", page)
}
{
  "organizations": [
    {
      "isAdmin": true,
      "name": "name",
      "url": "url"
    }
  ],
  "pagination": {
    "nextToken": "nextToken"
  }
}
Returns Examples
{
  "organizations": [
    {
      "isAdmin": true,
      "name": "name",
      "url": "url"
    }
  ],
  "pagination": {
    "nextToken": "nextToken"
  }
}