CircleCI-Archived / api-preview-docs

In-progress docs about the pre-release preview of CircleCI API v2
72 stars 39 forks source link

List projects by organisation #65

Open cob16 opened 4 years ago

cob16 commented 4 years ago

As a circle ci user, I would like to able to discover projects in any org via the API. Personally, this is so that I can do extended build statistics in a particular org.

Current workarounds

The current ways to get a list of repositories are very problematic.

  1. The v1 API has an endpoint that lists followed projects https://circleci.com/api/v1/projects. But this lists only my currently followed projects meaning that any program needs maintenance in that its account needs to have all projects followed.

  2. Using the GitHub API to list repositories https://api.github.com/users/cob16/repos and then trying to fetch all of these projects in circle ci. Of course, not all repositories will be set up to use circle ci to this is a very error-prone way to get a list

Suggested new route

The v2 API could have a way to list projects by the organisation

  1. As there is already a GET v2/projects/gh/<org>/<project>route for a single project. An extension to this would be v1/projects/gh/<org> (without the repo name part) that returns a list of projects
  2. The user route could list a user's projects via /v1/user/<org>/projects
danpalmer commented 4 years ago

Pinging the CircleCI team on this. This missing means that there's no way to traverse the full data model without a user manually providing the names of projects they want to use. This means that making relatively generic clients is not possible.

vinitshahdeo commented 3 years ago

@danpalmer Any update on the same? I'm looking for an endpoint(v1/projects/) to list all the projects of an organization.

stiyyagura0901 commented 2 years ago

@cob16 https://github.com/CircleCI-Public/api-preview-docs/issues/97#issuecomment-1049449891

Swaminathan11 commented 1 year ago

@stiyyagura0901 the all-projects field under the metrics section does not provide all the projects part of the organisation. Anyone knows the reason?

nickologist commented 1 year ago

There is an endpoint that has a list of all the pipelines. https://circleci.com/docs/api/v2/index.html#operation/listPipelines Each pipeline contains VCS details such as target_repository_url . I have not tested it yet, but would this be a good workaround ?