Eclipse Project Management Infrastructure (PMI) RESTful API (1.0)

Download OpenAPI specification:Download

This describes the resources that make up the Eclipse Project Management Infrastructure (PMI) REST API. You can contribute to this document via our git repository. If you have any problems or requests please submit an issue.

Rate Limit

This API currently limits users to 1000 authenticated requests and 1000 anonymous requests an hour.

Pagination

Information about pagination is provided in the Link header of an API call. For example, let's make a curl request to the eclipse_profile API, to find out how many org_eclipse_oomph records exist for the user:

curl -I \"https://projects.eclipse.org/api/projects?page=1&pagesize=20\"

The -I parameter indicates that we only care about the headers, not the content. In examining the result, you'll notice some information in the Link header that looks like this:

<https://projects.eclipse.org/api/projects?page=2&amp;pagesize=2>; rel="next",
<https://projects.eclipse.org/api/projects?page=27&amp;pagesize=2>; rel="last",
<https://projects.eclipse.org/api/projects?page=1&amp;pagesize=2>; rel="first",
<https://projects.eclipse.org/api/projects?page=1&amp;pagesize=2>; rel="self"

Let's break that down. rel="next" says that the next page is page=2. This makes sense, since by default, all paginated queries start at page 1. rel="last" provides some more information, stating that the last page of results is on page 27. Keep in mind that you should always rely on these link relations provided to you. Don't try to guess or construct your own URL.

Error States

The common HTTP Response Status Codes are used.

Projects

Eclipse Projects are available through this resource. Note that it is available through the https://projects.eclipse.org domain.

Fetch Projects

Overview

Retrieve metadata for all projects.

query Parameters
github_only
boolean
Default: false

Select only the projects that have GitHub repositories or a GitHub organisation defined.

gitlab_only
boolean
Default: false

Select only the projects that have GitLab repositories defined.

spec_project
integer <int32>
Default: 0

Filter to specification projects only. Set to any non-zero integer to enable the filter.

spec_project_working_group
string

Filter projects by their specification project working group ID (e.g. jakarta-ee).

working_group
string

Filter projects by their associated working group ID.

industry_collaboration
string

Filter projects by their associated industry collaboration (working group) ID.

technology_types
string

Filter projects by technology type name.

state
string

Filter projects by state. Accepted values: Regular, Archived, Incubating (case-insensitive). Multiple values may be passed as a comma-separated list, e.g. state=Regular,Incubating. Values outside the allowed set are silently ignored.

page
integer <int32> >= 1
Default: 1

The index of the page to retrieve, defaults to 1.

pagesize
integer <int32> [ 1 .. 100 ]
Default: 20

The number of records to get per page, defaults to 20. Maximum value is 100.

order_by
string
Default: "ASC"

The order in which results are returned. Defaults to ASC. Accepted values: ASC, DESC, RANDOM. When RANDOM is used the response is cached for 5 hours.

Responses

Response samples

Content type
application/json
[]

Retrieve a Project

Overview

Retrieve information for a specific project.

Note that underscores in a project ID are treated as dots (e.g. technology_dash resolves to technology.dash). A .json suffix is also accepted and stripped.

Examples:

path Parameters
project_id
required
string

ID of the project. Underscores are treated as dots (e.g. technology_dashtechnology.dash). A .json suffix is accepted and stripped.

Responses

Response samples

Content type
application/json
[]

Fetch Releases for a Project

Overview

Retrieve a paginated list of releases associated with the given project.

path Parameters
project_id
required
string

ID of the project. Underscores are treated as dots.

query Parameters
page
integer <int32> >= 1
Default: 1

The index of the page to retrieve, defaults to 1.

pagesize
integer <int32> [ 1 .. 100 ]
Default: 20

The number of records to get per page, defaults to 20. Maximum value is 100.

order_by
string
Default: "ASC"

The order in which results are returned. Defaults to ASC. Accepted values: ASC, DESC.

Responses

Response samples

Content type
application/json
{}

Fetch Reviews for a Project

Overview

Retrieve a paginated list of reviews associated with the given project.

path Parameters
project_id
required
string

ID of the project. Underscores are treated as dots.

query Parameters
page
integer <int32> >= 1
Default: 1

The index of the page to retrieve, defaults to 1.

pagesize
integer <int32> [ 1 .. 100 ]
Default: 20

The number of records to get per page, defaults to 20. Maximum value is 100.

order_by
string
Default: "ASC"

The order in which results are returned. Defaults to ASC. Accepted values: ASC, DESC.

Responses

Response samples

Content type
application/json
{}

Proposals

Eclipse project proposals submitted for community review.

Fetch Proposals

Overview

Retrieve a paginated list of Eclipse project proposals.

Unlike the projects index, pagination metadata is included in the response body alongside the result array, in addition to the Link header.

query Parameters
spec_project
integer <int32>
Default: 0

Filter to specification projects only. Set to any non-zero integer to enable.

spec_project_working_group
string

Filter by specification project working group ID.

industry_collaboration
string

Filter by industry collaboration (working group) ID.

state
string

Filter by proposal state (case-insensitive). Accepts a single value (state=Active) or an array (state[]=Active&state[]=Draft).

page
integer <int32> >= 1
Default: 1

The index of the page to retrieve, defaults to 1.

pagesize
integer <int32> [ 1 .. 100 ]
Default: 20

The number of records to get per page, defaults to 20. Maximum value is 100.

order_by
string
Default: "ASC"

The order in which results are returned. Defaults to ASC. Accepted values: ASC, DESC, RANDOM.

Responses

Response samples

Content type
application/json
{
  • "result": [
    ],
  • "pagination": {
    }
}

Retrieve a Proposal

Overview

Retrieve a single Eclipse project proposal by its Drupal node ID.

path Parameters
nid
required
integer <int32>

The Drupal node ID of the proposal.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Interest Groups

Eclipse Interest Groups (IGs) facilitated by the Eclipse Foundation.

Fetch Interest Groups

Overview

Retrieve a paginated list of Eclipse Interest Groups.

query Parameters
project_id
string

Filter interest groups by their Foundation DB project ID (the field_ig_foundationdb_id field value).

page
integer <int32> >= 1
Default: 1

The index of the page to retrieve, defaults to 1.

pagesize
integer <int32> [ 1 .. 100 ]
Default: 20

The number of records to get per page, defaults to 20. Maximum value is 100.

order_by
string
Default: "ASC"

The order in which results are returned. Defaults to ASC. Accepted values: ASC, DESC.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Retrieve an Interest Group

Overview

Retrieve a single Eclipse Interest Group by its Drupal node ID.

path Parameters
nid
required
integer <int32>

The Drupal node ID of the interest group.

Responses

Response samples

Content type
application/json
{
  • "id": 1001,
  • "title": "Some Interest Group",
  • "description": {
    },
  • "logo": "",
  • "scope": {
    },
  • "leads": [ ],
  • "participants": [ ],
  • "project_id": "foundation-internal.ig.some-group",
  • "short_project_id": "some-group",
  • "state": "active",
  • "gitlab": {
    },
  • "resources": {
    },
  • "mailing_list": ""
}

GitHub

GitHub repository index for Eclipse projects.

Fetch GitHub Repositories for all Projects

Overview

Returns a map of Eclipse project IDs to their associated GitHub repositories. Optionally filter by a specific repository name substring.

query Parameters
repo
string

Filter by repository path (org/repo, e.g. eclipse-ee4j/batch-api). A LIKE '%<value>' pattern is applied, so a partial trailing match is sufficient.

Responses

Response samples

Content type
application/json
{
  • "ee4j.batch": {
    }
}

Fetch GitHub Repositories for a Project

Overview

Returns the GitHub repositories for a specific Eclipse project. Underscores in project_id are treated as dots.

path Parameters
project_id
required
string

ID of the project. Underscores are treated as dots.

Responses

Response samples

Content type
application/json
{
  • "ee4j.batch": {
    }
}

Simultaneous Releases

Eclipse simultaneous release trains (e.g. the annual Eclipse IDE release).

Fetch all Simultaneous Releases Deprecated

Overview

Returns a map of all simultaneous releases (Eclipse release trains), keyed by the release URL slug (e.g. 2023-12).

Responses

Response samples

Content type
application/json
{}

Retrieve a Simultaneous Release Deprecated

Overview

Returns a specific simultaneous release (Eclipse release train) by its URL slug.

path Parameters
simrel
required
string

The URL slug of the simultaneous release (e.g. 2023-12).

Responses

Response samples

Content type
application/json
{}