Webtools/BuildAPI
From MozillaWiki
< Webtools
Contents
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