Skip to content
Snippets Groups Projects

feat: Update endpoints to add release type support

9 files
+ 579
327
Compare changes
  • Side-by-side
  • Inline
Files
9
+ 336
276
openapi: '3.1.0'
openapi: "3.1.0"
info:
info:
version: 1.0.0
version: 1.0.0
title: Eclipse Foundation Downloads API
title: Eclipse Foundation Downloads API
license:
license:
name: Eclipse Public License - 2.0
name: Eclipse Public License - 2.0
url: https://www.eclipse.org/legal/epl-2.0/
url: https://www.eclipse.org/legal/epl-2.0/
 
servers:
servers:
- url: https://api.eclipse.org/download
- url: https://api.eclipse.org/download
description: Production endpoint for the download information
description: Production endpoint for the download information
 
tags:
tags:
- name: Files
- name: Files
description: Definitions in relation to retrieval of mailing lists
description: Definitions in relation to retrieval of mailing lists
- name: Releases
- name: Releases
description: Definitions in relation to retrieval of mailing lists
description: Definitions in relation to retrieval of mailing lists
 
paths:
paths:
/file/{file_id}:
/file/{file_id}:
parameters:
parameters:
- name: file_id
- name: file_id
in: path
in: path
description: The ID of the file to retrieve
description: The ID of the file to retrieve
required: true
required: true
schema:
schema:
type: string
type: string
get:
get:
tags:
tags:
- Files
- Files
summary: File by ID
summary: File by ID
description: Returns a file indexes metadata by its file ID
description: Returns a file indexes metadata by its file ID
responses:
responses:
200:
200:
description: Success
description: Success
content:
content:
application/json:
application/json:
schema:
schema:
$ref: '#/components/schemas/File'
$ref: "#/components/schemas/File"
500:
500:
description: Error while retrieving data
description: Error while retrieving data
/release/{releaseType}:
parameters:
/release/{releaseType}:
- name: releaseType
parameters:
in: path
- name: releaseType
description: The type of release to retrieve
in: path
required: true
description: The type of release to retrieve
schema:
required: true
type: string
schema:
enum:
type: string
- epp
- name: release_name
- eclipse_packages
in: query
- name: release_name
description: The name of the release to retrieve
in: query
required: true
description: The name of the release to retrieve
schema:
required: true
type: string
schema:
- name: release_version
type: string
in: query
- name: release_version
description: The version of the release to retrieve
in: query
schema:
description: The version of the release to retrieve
type: string
schema:
get:
type: string
tags:
get:
- Releases
tags:
summary: Releases by release type
- Releases
description: Returns a list of releases, or a single release, applicable to the query parameters
summary: Releases by release type
responses:
description: Returns a list of releases, or a single release, applicable to the query parameters
200:
responses:
description: Success
200:
content:
description: Success
application/json:
content:
schema:
application/json:
$ref: "#/components/schemas/Release"
schema:
400:
$ref: '#/components/schemas/Release'
description: Bad Request
500:
content:
description: Error while retrieving data
application/json:
/releases/{releaseName}:
schema:
parameters:
$ref: "#/components/schemas/Error"
- name: releaseName
500:
in: path
description: Error while retrieving data
description: The name of the release to retrieve
required: true
schema:
type: string
get:
tags:
- Releases
summary: Release Versions
description: Returns a list of versions available for the given release
responses:
200:
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/Releases'
500:
description: Error while retrieving data
/releases/{releaseName}/{releaseVersion}:
parameters:
- name: releaseName
in: path
description: The name of the release to retrieve
required: true
schema:
type: string
- name: releaseVersion
in: path
description: The version of the release to retrieve
required: true
schema:
type: string
get:
tags:
- Releases
summary: Release Version
description: Returns a given version for the named release
responses:
200:
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/Release'
500:
description: Error while retrieving data
 
/releases/{releaseType}/{releaseName}:
 
parameters:
 
- name: releaseType
 
in: path
 
description: The type of release to retrieve
 
required: true
 
schema:
 
type: string
 
- name: releaseName
 
in: path
 
description: The name of the release to retrieve
 
required: true
 
schema:
 
type: string
 
get:
 
tags:
 
- Releases
 
summary: Release Versions
 
description: Returns a list of versions available for the given release
 
responses:
 
200:
 
description: Success
 
content:
 
application/json:
 
schema:
 
$ref: "#/components/schemas/Releases"
 
400:
 
description: Bad Request
 
content:
 
application/json:
 
schema:
 
$ref: "#/components/schemas/Error"
 
500:
 
description: Error while retrieving data
 
503:
 
description: Service unavailable
 
content:
 
application/json:
 
schema:
 
$ref: "#/components/schemas/Error"
 
 
/releases/{releaseType}/{releaseName}/{releaseVersion}:
 
parameters:
 
- name: releaseType
 
in: path
 
description: The type of release to retrieve
 
required: true
 
schema:
 
type: string
 
- name: releaseName
 
in: path
 
description: The name of the release to retrieve
 
required: true
 
schema:
 
type: string
 
- name: releaseVersion
 
in: path
 
description: The version of the release to retrieve
 
required: true
 
schema:
 
type: string
 
get:
 
tags:
 
- Releases
 
summary: Release Version
 
description: Returns a given version for the named release
 
responses:
 
200:
 
description: Success
 
content:
 
application/json:
 
schema:
 
$ref: "#/components/schemas/Release"
 
400:
 
description: Bad Request
 
content:
 
application/json:
 
schema:
 
$ref: "#/components/schemas/Error"
 
500:
 
description: Error while retrieving data
 
503:
 
description: Service unavailable
 
content:
 
application/json:
 
schema:
 
$ref: "#/components/schemas/Error"
 
components:
components:
schemas:
schemas:
NullableString:
NullableString:
description: A nullable String type value
description: A nullable String type value
oneOf:
oneOf:
- type: 'null'
- type: "null"
- type: string
- type: string
DateTime:
DateTime:
type: string
type: string
format: datetime
format: datetime
description: |
description: |
Date string in the RFC 3339 format. Example, `1990-12-31T15:59:60-08:00`.
Date string in the RFC 3339 format. Example, `1990-12-31T15:59:60-08:00`.
More on this standard can be read at https://tools.ietf.org/html/rfc3339.
More on this standard can be read at https://tools.ietf.org/html/rfc3339.
Files:
Files:
type: array
type: array
items:
items:
$ref: '#/components/schemas/File'
$ref: "#/components/schemas/File"
File:
File:
type: object
type: object
properties:
properties:
file_id:
file_id:
type: integer
type: integer
description: placeholder
description: placeholder
file_name:
file_name:
type: string
type: string
description: placeholder
description: placeholder
download_count:
download_count:
type: integer
type: integer
description: placeholder
description: placeholder
size_disk_bytes:
size_disk_bytes:
type: integer
type: integer
description: placeholder
description: placeholder
timestamp_disk:
timestamp_disk:
type: integer
type: integer
description: placeholder
description: placeholder
md5sum:
md5sum:
$ref: '#/components/schemas/NullableString'
$ref: "#/components/schemas/NullableString"
description: placeholder
description: placeholder
sha1sum:
sha1sum:
$ref: '#/components/schemas/NullableString'
$ref: "#/components/schemas/NullableString"
description: placeholder
description: placeholder
Releases:
Releases:
type: array
type: array
items:
items:
$ref: '#/components/schemas/Release'
$ref: "#/components/schemas/Release"
Release:
Release:
type: object
type: object
properties:
properties:
release_name:
release_name:
type: string
type: string
description: The name of the release for the packages
description: The name of the release for the packages
release_version:
release_version:
type: string
type: string
description: The version of the release for the packages
description: The version of the release for the packages
packages:
packages:
type: object
type: object
properties:
properties:
java-package:
java-package:
$ref: '#/components/schemas/ReleasePackage'
$ref: "#/components/schemas/ReleasePackage"
jee-package:
jee-package:
$ref: '#/components/schemas/ReleasePackage'
$ref: "#/components/schemas/ReleasePackage"
cpp-package:
cpp-package:
$ref: '#/components/schemas/ReleasePackage'
$ref: "#/components/schemas/ReleasePackage"
committers-package:
committers-package:
$ref: '#/components/schemas/ReleasePackage'
$ref: "#/components/schemas/ReleasePackage"
php-package:
php-package:
$ref: '#/components/schemas/ReleasePackage'
$ref: "#/components/schemas/ReleasePackage"
dsl-package:
dsl-package:
$ref: '#/components/schemas/ReleasePackage'
$ref: "#/components/schemas/ReleasePackage"
embedcpp-package:
embedcpp-package:
$ref: '#/components/schemas/ReleasePackage'
$ref: "#/components/schemas/ReleasePackage"
modeling-package:
modeling-package:
$ref: '#/components/schemas/ReleasePackage'
$ref: "#/components/schemas/ReleasePackage"
rcp-package:
rcp-package:
$ref: '#/components/schemas/ReleasePackage'
$ref: "#/components/schemas/ReleasePackage"
parallel-package:
parallel-package:
$ref: '#/components/schemas/ReleasePackage'
$ref: "#/components/schemas/ReleasePackage"
scout-package:
scout-package:
$ref: '#/components/schemas/ReleasePackage'
$ref: "#/components/schemas/ReleasePackage"
ReleasePackage:
ReleasePackage:
type: object
type: object
properties:
properties:
name:
name:
type: string
type: string
description: The name of the release package
description: The name of the release package
package_bugzilla_id:
package_bugzilla_id:
type: string
type: string
description: Placeholder
description: Placeholder
download_count:
download_count:
type: string
type: string
description: Number of times this package has been downloaded
description: Number of times this package has been downloaded
website_url:
website_url:
type: string
type: string
description: The public URL for the package that includes more information about the release.
description: The public URL for the package that includes more information about the release.
incubating:
incubating:
type: boolean
type: boolean
description: placeholder
description: placeholder
class:
class:
type: string
type: string
description: placeholder
description: placeholder
body:
body:
 
type: string
 
description: Description of the release package
 
features:
 
type: array
 
items:
type: string
type: string
description: Description of the release package
files:
features:
type: object
type: array
properties:
items:
mac:
type: string
$ref: "#/components/schemas/ReleaseFiles"
files:
windows:
type: object
$ref: "#/components/schemas/ReleaseFiles"
properties:
linux:
mac:
$ref: "#/components/schemas/ReleaseFiles"
$ref: '#/components/schemas/ReleaseFiles'
windows:
$ref: '#/components/schemas/ReleaseFiles'
linux:
$ref: '#/components/schemas/ReleaseFiles'
ReleaseFiles:
ReleaseFiles:
type: object
type: object
properties:
properties:
32:
32:
oneOf:
oneOf:
- $ref: '#/components/schemas/ReleaseFile'
- $ref: "#/components/schemas/ReleaseFile"
- type: 'null'
- type: "null"
64:
64:
oneOf:
oneOf:
- $ref: '#/components/schemas/ReleaseFile'
- $ref: "#/components/schemas/ReleaseFile"
- type: 'null'
- type: "null"
ReleaseFile:
ReleaseFile:
type: object
type: object
properties:
properties:
url:
url:
type: string
type: string
description: The publicly available URL for the package
description: The publicly available URL for the package
size:
size:
type: string
type: string
description: the size of the file in bytes
description: the size of the file in bytes
file_id:
file_id:
$ref: '#/components/schemas/NullableString'
$ref: "#/components/schemas/NullableString"
description: The internal ID of the file
description: The internal ID of the file
file_url:
file_url:
type: string
type: string
description: the public facing URL for the file (no mirror)
description: the public facing URL for the file (no mirror)
download_count:
download_count:
type: string
type: string
description: The number of times this file has been downloaded
description: The number of times this file has been downloaded
checksum:
checksum:
type: object
type: object
properties:
properties:
sha1:
sha1:
$ref: '#/components/schemas/NullableString'
$ref: "#/components/schemas/NullableString"
description: the sha1 checksum for the release file
description: the sha1 checksum for the release file
md5:
md5:
$ref: '#/components/schemas/NullableString'
$ref: "#/components/schemas/NullableString"
description: the md5 checksum for the release file
description: the md5 checksum for the release file
sha512:
sha512:
$ref: '#/components/schemas/NullableString'
$ref: "#/components/schemas/NullableString"
description: the sha512 checksum for the release file
description: the sha512 checksum for the release file
 
 
Error:
 
type: object
 
properties:
 
status_code:
 
type: integer
 
description: HTTP response code
 
message:
 
type: string
 
description: Message containing error information
 
url:
 
type:
 
- string
 
- "null"
 
description: The URL
Loading