Confirmed users
1,233
edits
(Created page with " This is a rough requirements doc for {{bug|487036}} (with further detail in {{bug|625417}}, duped).") |
|||
| (5 intermediate revisions by 2 users not shown) | |||
| Line 1: | Line 1: | ||
= Constructicon = | |||
Constructicon is a project to create an API against the buildbot db. The purpose is to replace all those scripts that scrape the builds ftp server. | |||
Authentication should not be required to make calls, as this API is read-only. We may wish to make it internal-only to begin with. | |||
Data should be returned json-encoded. | |||
== Related bugs == | |||
* {{bug|487036}} is the main bug | |||
* {{bug|625417}} is duped but has useful info | |||
= API calls = | |||
== Get changeset by buildid == | |||
* uris | |||
** {url_prefix}/changeset/buildid/{buildid}[/branch/{branch}] | |||
* params | |||
** buildid | |||
** branch | |||
* return | |||
** changesets | |||
== Get buildids by date == | |||
* uris | |||
** {url_prefix}/builds/date/{YYYY-MM-DD}[/repo/{repo}] | |||
* params | |||
** date in YYYY-MM-DD format | |||
** repo - optional | |||
* return | |||
** array of buildids from that date for a repo or all repos if not specified, links to download on ftp for each | |||
== Get latest build == | |||
* uris | |||
** {url_prefix}/latest[/product/{product}][/repo/{repo}] | |||
* params | |||
** product | |||
** repo | |||
** one of these must be specified | |||
= Later work = | |||
These will not be implemented in the first iteration, and may not be available from the buildbot data, in which case we'll need to draw on other sources (e.g. crash-stats) | |||
== Get All Products == | |||
* uris | |||
** {url_prefix}/products | |||
* params - None | |||
* return | |||
** array - an array of products | |||
== Get All Versions for a Product == | |||
* uris | |||
** {url_prefix}/versions/products/{product}[/current] | |||
* params | |||
** current - true if requesting all versions within a 90 day start/end date window. | |||
** product - The name of the product | |||
* return | |||
** An array of versions for a product | |||
== Get all Builds for a Product == | |||
* uris | |||
** {url_prefix}/builds/product/{product} | |||
** {url_prefix}/builds/product/{product}/start/{YYYY-MM-DD}/end/{YYYY-MM-DD} | |||
* params | |||
** end - The end of the date range by which to search; format YYYY-MM-DD | |||
** start - The beginning of the date range by which to search; format YYYY-MM-DD | |||
** product - The name of the product | |||
* return | |||
** array - An array of all builds for a product | |||
== Get all Builds for a Product / Version== | |||
* uris | |||
** {url_prefix}/builds/product/{product}/version/{version} | |||
** {url_prefix}/builds/product/{product}/version/{version}/start/{YYYY-MM-DD}/end/{YYYY-MM-DD} | |||
* params | |||
** end - The end of the date range by which to search; format YYYY-MM-DD | |||
** start - The beginning of the date range by which to search; format YYYY-MM-DD | |||
** product - The product name | |||
** version - The version string | |||
* return | |||
** array - An array of all builds for a product / version | |||