Confirmed users
142
edits
(Added some example rest APIs) |
(tidied up explanation) |
||
| Line 192: | Line 192: | ||
|- | |- | ||
| Define, test, and publish json hyperschemas for all release engineering APIs | | Define, test, and publish json hyperschemas for all release engineering APIs | ||
| We have several APIs (e.g. clobberer, | | We have several APIs (e.g. buildapi, clobberer, (modern) mapper, mozpool, slavealloc, slaveapi, ...) but have no central standardised way of defining them, publishing them, documenting them, or sharing them. A cool project would be to use json hyperschema (see e.g. https://brandur.org/elegant-apis) to define all our apis, and have a framework for auto testing them, auto-documenting them, even potentially auto-generating client libraries for them e.g. in python, and auto-publishing the schemas to a central location for reference. Another interesting option might be using http://swagger.io/. | ||
Example REST apis that we have are: | Example REST apis that we have are: | ||
* Build API: https://wiki.mozilla.org/ReleaseEngineering/Applications/BuildAPI | * Build API: https://wiki.mozilla.org/ReleaseEngineering/Applications/BuildAPI | ||
* Clobberer: https://api.pub.build.mozilla.org/docs/usage/clobberer/#endpoints | * Clobberer: https://api.pub.build.mozilla.org/docs/usage/clobberer/#endpoints | ||
* (Modern) Mapper: https://wiki.mozilla.org/ReleaseEngineering/Applications/Mapper | |||
* Slave API: http://mozilla-slaveapi.readthedocs.org/en/latest/api/#slaves-slave-actions-disable | * Slave API: http://mozilla-slaveapi.readthedocs.org/en/latest/api/#slaves-slave-actions-disable | ||