List repository collaborators with `triage` and `maintain` permissions

Hi there :wave:

as far as I can tell, the existing List repository collaborators endpoint includes a permissions in its response array items, but the permissions object is lacking the keys maintain and triage. The same keys are present for the List repository teams endpoint, albeit not documented in the example response.

Is this a bug? Is there a preview or media type format I can set to receive the additional keys? Is there any other REST API endpoint I can use to list all direct repository collaborators and their permission level, including triage and maintain

Hi @gr2m,
I can confirm I also found the list repository collaborators has not been updated to reflect the new maintain and triage roles

I tested the GraphQL API below and it returned a result with a collaborator of “permission”: “TRIAGE” for me.

query {
  repository (owner:"INSERT_OWNER_HERE",name:"INSERT_REPOSITORY_NAME_HERE")
  {
    name
    collaborators (first:100) {
      totalCount
      edges{
        node {
          login
          name
        }
        permission
      }
    }
  }
}

If you are not familiar with GraphQL you quickly try and test queries using GraphQL Explorer.

Hope this is a solution answer for your problem, good luck

1 Like

Thanks @byrneh! I’m aware of the GraphQL alternative, but in this case I need to send REST API requests due to better control of rate/abuse limits and more complex pagination.

Rate limits and pagination are supported with the GraphQL api and until (or if it at all) GitHub provide a REST API equivalent, GraphQL may be you only option. There is no equivalence of functionality between v3 and v4 API promised by GitHub either.
There is custom rate limit for GraphQL for user requests of 5,000, I checked the above simple query has a cost of 1, so each call reduces limit by 1 until reset.
For pagination the field pageinfo returns what is needed.

Good luck.

1 Like