[PATCH v3 00/10] REST API support

Andy Doan andy.doan at linaro.org
Thu May 19 13:30:52 AEST 2016


This patchset is inspired by the work done by Damien Lespiau. It creates
a REST API based on the original spec RFC'd by Stephen Finucane. The
only thing I know of that's missing from the patch set are bundles. I
think over time the Series support will make them less important, but we
could always tack bundles on to this if needed.

Changes since v2:
* Change pagination mechanism to LinkHeaders
* result-per-page is now in settings
* Static method for $test.api_url
* Export user__username via Person api
* Consolidate linkname handling in project viewset
* Better use of select/prefetch in Patch queries
* Use absolute urls rather than ids in Patch
* Remove headers, content, and diff from patch listing
* Split up headers in patch-detial
* Use more efficient querying of patch lists
* Drop filtering patch

Andy Doan (9):
  REST: Add base configuration hooks for a REST API
  REST: Add Projects to the API
  REST: Add Persons to the API
  REST: Add Patches to the API
  REST: Add Patch Checks to the API
  REST: Add Patch.mbox_url
  REST API: make patch.state a string rather than int
  REST API: expose patch.checks
  REST: Allow projects to be retrieved by linkname

Stephen Finucane (1):
  docs: Add prototype API specification

 docs/api.yaml                    | 392 +++++++++++++++++++++++++++++++++++++++
 patchwork/models.py              |   8 +-
 patchwork/rest_serializers.py    | 119 ++++++++++++
 patchwork/settings/base.py       |  12 ++
 patchwork/settings/dev.py        |   1 +
 patchwork/tests/test_rest_api.py | 364 ++++++++++++++++++++++++++++++++++++
 patchwork/urls.py                |  10 +
 patchwork/views/rest_api.py      | 166 +++++++++++++++++
 requirements-test.txt            |   2 +
 9 files changed, 1072 insertions(+), 2 deletions(-)
 create mode 100644 docs/api.yaml
 create mode 100644 patchwork/rest_serializers.py
 create mode 100644 patchwork/tests/test_rest_api.py
 create mode 100644 patchwork/views/rest_api.py

--
2.7.4



More information about the Patchwork mailing list