aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Donnellan <ajd@linux.ibm.com>2019-08-22 17:13:01 +1000
committerDaniel Axtens <dja@axtens.net>2019-08-22 21:14:08 +1000
commit832d5b61130eb679665201434633b97921f2ef79 (patch)
tree75059f0cff16d5ce12f9418eca24039be1f4e81f
parent15ed7613a08ddf61637a286343968be47640867b (diff)
downloadpatchwork-832d5b61130eb679665201434633b97921f2ef79.tar
patchwork-832d5b61130eb679665201434633b97921f2ef79.tar.gz
docs: Add API v1.2
Add API v1.2, including the new fields for list archive URLs. Signed-off-by: Andrew Donnellan <ajd@linux.ibm.com> Signed-off-by: Daniel Axtens <dja@axtens.net>
-rw-r--r--docs/api/rest/index.rst11
-rw-r--r--docs/api/rest/schemas/v1.1.rst4
-rw-r--r--docs/api/rest/schemas/v1.2.rst5
-rw-r--r--docs/api/schemas/generate_schema.py4
-rw-r--r--docs/api/schemas/latest/patchwork.yaml57
-rw-r--r--docs/api/schemas/patchwork.j269
-rw-r--r--docs/api/schemas/v1.2/patchwork.yaml2369
7 files changed, 2512 insertions, 7 deletions
diff --git a/docs/api/rest/index.rst b/docs/api/rest/index.rst
index 1a094d7..d1169e5 100644
--- a/docs/api/rest/index.rst
+++ b/docs/api/rest/index.rst
@@ -33,6 +33,11 @@ If all you want is reference guides, skip straight to :ref:`rest-api-schemas`.
The API version was bumped to v1.1 in Patchwork v2.1. The older v1.0 API is
still supported. For more information, refer to :ref:`rest-api-versions`.
+.. versionchanged:: 2.2
+
+ The API version was bumped to v1.2 in Patchwork v2.2. The older APIs are
+ still supported. For more information, refer to :ref:`rest-api-versions`.
+
Getting Started
---------------
@@ -98,7 +103,7 @@ Versioning
----------
By default, all requests will receive the latest version of the API: currently
-``1.1``:
+``1.2``:
.. code-block:: http
@@ -109,7 +114,7 @@ changes breaking your application:
.. code-block:: http
- GET /api/1.1 HTTP/1.1
+ GET /api/1.2 HTTP/1.1
Older API versions will be deprecated and removed over time. For more
information, refer to :ref:`rest-api-versions`.
@@ -263,6 +268,7 @@ Supported Versions
1.0, 2.0, ✓
1.1, 2.1, ✓
+ 1.2, 2.2, ✓
Further information about this and more can typically be found in
:doc:`the release notes </releases/index>`.
@@ -278,6 +284,7 @@ Auto-generated schema documentation is provided below.
/api/rest/schemas/v1.0
/api/rest/schemas/v1.1
+ /api/rest/schemas/v1.2
.. Links
diff --git a/docs/api/rest/schemas/v1.1.rst b/docs/api/rest/schemas/v1.1.rst
index e18f813..1189f31 100644
--- a/docs/api/rest/schemas/v1.1.rst
+++ b/docs/api/rest/schemas/v1.1.rst
@@ -1,5 +1,5 @@
-API v1.1 (latest)
-=================
+API v1.1
+========
.. openapi:: ../../schemas/v1.1/patchwork.yaml
:examples:
diff --git a/docs/api/rest/schemas/v1.2.rst b/docs/api/rest/schemas/v1.2.rst
new file mode 100644
index 0000000..8a96519
--- /dev/null
+++ b/docs/api/rest/schemas/v1.2.rst
@@ -0,0 +1,5 @@
+API v1.2 (latest)
+=================
+
+.. openapi:: ../../schemas/v1.2/patchwork.yaml
+ :examples:
diff --git a/docs/api/schemas/generate_schema.py b/docs/api/schemas/generate_schema.py
index 39f5cf0..d4645d1 100644
--- a/docs/api/schemas/generate_schema.py
+++ b/docs/api/schemas/generate_schema.py
@@ -5,8 +5,8 @@ import os
import jinja2
ROOT_DIR = os.path.dirname(os.path.realpath(__file__))
-VERSIONS = [(1, 0), (1, 1), None]
-LATEST_VERSION = (1, 1)
+VERSIONS = [(1, 0), (1, 1), (1, 2), None]
+LATEST_VERSION = (1, 2)
def generate_schema():
diff --git a/docs/api/schemas/latest/patchwork.yaml b/docs/api/schemas/latest/patchwork.yaml
index 724b05e..394655d 100644
--- a/docs/api/schemas/latest/patchwork.yaml
+++ b/docs/api/schemas/latest/patchwork.yaml
@@ -12,7 +12,7 @@ info:
license:
name: GPL v2 License
url: https://www.gnu.org/licenses/gpl-2.0.html
- version: '1.1'
+ version: '1.2'
paths:
/api/:
get:
@@ -1368,6 +1368,11 @@ components:
readOnly: true
minLength: 1
maxLength: 255
+ list_archive_url:
+ title: List archive URL
+ type: string
+ readOnly: true
+ nullable: true
date:
title: Date
type: string
@@ -1418,6 +1423,11 @@ components:
readOnly: true
minLength: 1
maxLength: 255
+ list_archive_url:
+ title: List archive URL
+ type: string
+ readOnly: true
+ nullable: true
date:
title: Date
type: string
@@ -1631,6 +1641,11 @@ components:
readOnly: true
minLength: 1
maxLength: 255
+ list_archive_url:
+ title: List archive URL
+ type: string
+ readOnly: true
+ nullable: true
date:
title: Date
type: string
@@ -1863,6 +1878,21 @@ components:
type: string
readOnly: true
maxLength: 64
+ list_archive_url:
+ title: List archive URL
+ type: string
+ format: uri
+ maxLength: 2000
+ nullable: true
+ list_archive_url_format:
+ title: List archive URL format
+ type: string
+ format: uri
+ maxLength: 2000
+ nullable: true
+ description: >
+ URL format for the list archive's Message-ID redirector. {} will be
+ replaced by the Message-ID.
Series:
type: object
properties:
@@ -2033,6 +2063,11 @@ components:
type: string
readOnly: true
minLength: 1
+ list_archive_url:
+ title: List archive URL
+ type: string
+ readOnly: true
+ nullable: true
date:
title: Date
type: string
@@ -2070,6 +2105,11 @@ components:
type: string
readOnly: true
minLength: 1
+ list_archive_url:
+ title: List archive URL
+ type: string
+ readOnly: true
+ nullable: true
date:
title: Date
type: string
@@ -2162,6 +2202,21 @@ components:
format: uri
readOnly: true
maxLength: 2000
+ list_archive_url:
+ title: List archive URL
+ type: string
+ format: uri
+ maxLength: 2000
+ nullable: true
+ list_archive_url_format:
+ title: List archive URL format
+ type: string
+ format: uri
+ maxLength: 2000
+ nullable: true
+ description: >
+ URL format for the list archive's Message-ID redirector. {} will be
+ replaced by the Message-ID.
SeriesEmbedded:
type: object
properties:
diff --git a/docs/api/schemas/patchwork.j2 b/docs/api/schemas/patchwork.j2
index 5e2f5e4..55e4c3b 100644
--- a/docs/api/schemas/patchwork.j2
+++ b/docs/api/schemas/patchwork.j2
@@ -1373,6 +1373,13 @@ components:
readOnly: true
minLength: 1
maxLength: 255
+{% if version >= (1, 2) %}
+ list_archive_url:
+ title: List archive URL
+ type: string
+ readOnly: true
+ nullable: true
+{% endif %}
date:
title: Date
type: string
@@ -1425,6 +1432,13 @@ components:
readOnly: true
minLength: 1
maxLength: 255
+{% if version >= (1, 2) %}
+ list_archive_url:
+ title: List archive URL
+ type: string
+ readOnly: true
+ nullable: true
+{% endif %}
date:
title: Date
type: string
@@ -1644,6 +1658,13 @@ components:
readOnly: true
minLength: 1
maxLength: 255
+{% if version >= (1, 2) %}
+ list_archive_url:
+ title: List archive URL
+ type: string
+ readOnly: true
+ nullable: true
+{% endif %}
date:
title: Date
type: string
@@ -1880,6 +1901,23 @@ components:
readOnly: true
maxLength: 64
{% endif %}
+{% if version >= (1, 2) %}
+ list_archive_url:
+ title: List archive URL
+ type: string
+ format: uri
+ maxLength: 2000
+ nullable: true
+ list_archive_url_format:
+ title: List archive URL format
+ type: string
+ format: uri
+ maxLength: 2000
+ nullable: true
+ description: >
+ URL format for the list archive's Message-ID redirector. {} will be
+ replaced by the Message-ID.
+{% endif %}
Series:
type: object
properties:
@@ -2054,6 +2092,13 @@ components:
type: string
readOnly: true
minLength: 1
+{% if version >= (1, 2) %}
+ list_archive_url:
+ title: List archive URL
+ type: string
+ readOnly: true
+ nullable: true
+{% endif %}
date:
title: Date
type: string
@@ -2093,6 +2138,13 @@ components:
type: string
readOnly: true
minLength: 1
+{% if version >= (1, 2) %}
+ list_archive_url:
+ title: List archive URL
+ type: string
+ readOnly: true
+ nullable: true
+{% endif %}
date:
title: Date
type: string
@@ -2185,6 +2237,23 @@ components:
format: uri
readOnly: true
maxLength: 2000
+{% if version >= (1, 2) %}
+ list_archive_url:
+ title: List archive URL
+ type: string
+ format: uri
+ maxLength: 2000
+ nullable: true
+ list_archive_url_format:
+ title: List archive URL format
+ type: string
+ format: uri
+ maxLength: 2000
+ nullable: true
+ description: >
+ URL format for the list archive's Message-ID redirector. {} will be
+ replaced by the Message-ID.
+{% endif %}
SeriesEmbedded:
type: object
properties:
diff --git a/docs/api/schemas/v1.2/patchwork.yaml b/docs/api/schemas/v1.2/patchwork.yaml
new file mode 100644
index 0000000..ab351e9
--- /dev/null
+++ b/docs/api/schemas/v1.2/patchwork.yaml
@@ -0,0 +1,2369 @@
+# DO NOT EDIT THIS FILE. It is generated from a template. Changes should be
+# proposed against the template.
+---
+openapi: '3.0.0'
+info:
+ title: Patchwork API
+ description: >
+ Patchwork is a web-based patch tracking system designed to facilitate the
+ contribution and management of contributions to an open-source project.
+ contact:
+ email: patchwork@lists.ozlabs.org
+ license:
+ name: GPL v2 License
+ url: https://www.gnu.org/licenses/gpl-2.0.html
+ version: '1.2'
+paths:
+ /api/1.2/:
+ get:
+ description: List API resources.
+ operationId: api_list
+ parameters: []
+ responses:
+ '200':
+ description: ''
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/Index'
+ tags:
+ - api
+ /api/1.2/bundles/:
+ get:
+ description: List bundles.
+ operationId: bundles_list
+ parameters:
+ - $ref: '#/components/parameters/Page'
+ - $ref: '#/components/parameters/PageSize'
+ - $ref: '#/components/parameters/Order'
+ - $ref: '#/components/parameters/Search'
+ - in: query
+ name: project
+ description: An ID or linkname of a project to filter bundles by.
+ schema:
+ title: ''
+ type: string
+ - in: query
+ name: owner
+ description: An ID or username of a user to filter bundles by.
+ schema:
+ title: ''
+ type: string
+ - in: query
+ name: public
+ description: Show only public (`true`) or private (`false`) bundles.
+ schema:
+ title: ''
+ type: string
+ enum:
+ - 'true'
+ - 'false'
+ responses:
+ '200':
+ description: ''
+ headers:
+ Link:
+ $ref: '#/components/headers/Link'
+ content:
+ application/json:
+ schema:
+ type: array
+ items:
+ $ref: '#/components/schemas/Bundle'
+ tags:
+ - bundles
+ /api/1.2/bundles/{id}/:
+ get:
+ description: Show a bundle.
+ operationId: bundles_read
+ parameters:
+ - in: path
+ name: id
+ required: true
+ description: A unique integer value identifying this bundle.
+ schema:
+ title: ID
+ type: integer
+ responses:
+ '200':
+ description: ''
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/Bundle'
+ '404':
+ description: Not found
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/Error'
+ tags:
+ - bundles
+ /api/1.2/covers/:
+ get:
+ description: List cover letters.
+ operationId: covers_list
+ parameters:
+ - $ref: '#/components/parameters/Page'
+ - $ref: '#/components/parameters/PageSize'
+ - $ref: '#/components/parameters/Order'
+ - $ref: '#/components/parameters/Search'
+ - $ref: '#/components/parameters/BeforeFilter'
+ - $ref: '#/components/parameters/SinceFilter'
+ - in: query
+ name: project
+ description: >
+ An ID or linkname of a project to filter cover letters by.
+ schema:
+ title: ''
+ type: string
+ - in: query
+ name: series
+ description: An ID of a series to filter cover letters by.
+ schema:
+ title: ''
+ type: string
+ - in: query
+ name: submitter
+ description: >
+ An ID or email address of a person to filter cover letters by.
+ schema:
+ title: ''
+ type: string
+ responses:
+ '200':
+ description: ''
+ headers:
+ Link:
+ $ref: '#/components/headers/Link'
+ content:
+ application/json:
+ schema:
+ type: array
+ items:
+ $ref: '#/components/schemas/CoverLetterList'
+ tags:
+ - covers
+ /api/1.2/covers/{id}/:
+ get:
+ description: Show a cover letter.
+ operationId: covers_read
+ parameters:
+ - in: path
+ name: id
+ description: A unique integer value identifying this cover letter.
+ required: true
+ schema:
+ title: ID
+ type: integer
+ responses:
+ '200':
+ description: ''
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/CoverLetterDetail'
+ '404':
+ description: Not found
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/Error'
+ tags:
+ - covers
+ /api/1.2/covers/{id}/comments/:
+ get:
+ description: List comments
+ operationId: cover_comments_list
+ parameters:
+ - in: path
+ name: id
+ description: >
+ A unique integer value identifying the parent cover letter.
+ required: true
+ schema:
+ title: ID
+ type: integer
+ - $ref: '#/components/parameters/Page'
+ - $ref: '#/components/parameters/PageSize'
+ - $ref: '#/components/parameters/Order'
+ - $ref: '#/components/parameters/Search'
+ responses:
+ '200':
+ description: ''
+ headers:
+ Link:
+ $ref: '#/components/headers/Link'
+ content:
+ application/json:
+ schema:
+ type: array
+ items:
+ $ref: '#/components/schemas/Comment'
+ '404':
+ description: Not found
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/Error'
+ tags:
+ - comments
+ /api/1.2/events/:
+ get:
+ description: List events.
+ operationId: events_list
+ parameters:
+ - $ref: '#/components/parameters/Page'
+ - $ref: '#/components/parameters/PageSize'
+ - $ref: '#/components/parameters/Order'
+ - $ref: '#/components/parameters/Search'
+ - $ref: '#/components/parameters/BeforeFilter'
+ - $ref: '#/components/parameters/SinceFilter'
+ - in: query
+ name: project
+ description: An ID or linkname of a project to filter events by.
+ schema:
+ title: ''
+ type: string
+ - in: query
+ name: category
+ description: An event category to filter events by.
+ schema:
+ title: ''
+ type: string
+ enum:
+ - cover-created
+ - patch-created
+ - patch-completed
+ - patch-state-changed
+ - patch-delegated
+ - check-created
+ - series-created
+ - series-completed
+ - in: query
+ name: series
+ description: An ID of a series to filter events by.
+ schema:
+ title: ''
+ type: integer
+ - in: query
+ name: patch
+ description: An ID of a patch to filter events by.
+ schema:
+ title: ''
+ type: integer
+ - in: query
+ name: cover
+ description: An ID of a cover letter to filter events by.
+ schema:
+ title: ''
+ type: integer
+ responses:
+ '200':
+ description: ''
+ headers:
+ Link:
+ $ref: '#/components/headers/Link'
+ content:
+ application/json:
+ schema:
+ type: array
+ items:
+ oneOf:
+ - $ref: '#/components/schemas/EventCoverCreated'
+ - $ref: '#/components/schemas/EventPatchCreated'
+ - $ref: '#/components/schemas/EventPatchCompleted'
+ - $ref: '#/components/schemas/EventPatchStateChanged'
+ - $ref: '#/components/schemas/EventPatchDelegated'
+ - $ref: '#/components/schemas/EventCheckCreated'
+ - $ref: '#/components/schemas/EventSeriesCreated'
+ - $ref: '#/components/schemas/EventSeriesCompleted'
+ discriminator:
+ propertyName: category
+ mapping:
+ cover-created: '#/components/schemas/EventCoverCreated'
+ patch-created: '#/components/schemas/EventPatchCreated'
+ patch-completed: >
+ '#/components/schemas/EventPatchCompleted'
+ patch-state-changed: >
+ '#/components/schemas/EventPatchStateChanged'
+ patch-delegated: >
+ '#/components/schemas/EventPatchDelegated'
+ check-created: '#/components/schemas/EventCheckCreated'
+ series-created: '#/components/schemas/EventSeriesCreated'
+ series-completed: >
+ '#/components/schemas/EventSeriesCompleted'
+ tags:
+ - events
+ /api/1.2/patches/:
+ get:
+ description: List patches.
+ operationId: patches_list
+ parameters:
+ - $ref: '#/components/parameters/Page'
+ - $ref: '#/components/parameters/PageSize'
+ - $ref: '#/components/parameters/Order'
+ - $ref: '#/components/parameters/Search'
+ - $ref: '#/components/parameters/BeforeFilter'
+ - $ref: '#/components/parameters/SinceFilter'
+ - in: query
+ name: project
+ description: An ID or linkname of a project to filter patches by.
+ schema:
+ title: ''
+ type: string
+ - in: query
+ name: series
+ description: An ID of a series to filter patches by.
+ schema:
+ title: ''
+ type: integer
+ - in: query
+ name: submitter
+ description: >
+ An ID or email address of a person to filter patches by.
+ schema:
+ title: ''
+ type: string
+ - in: query
+ name: delegate
+ description: An ID or username of a user to filter patches by.
+ schema:
+ title: ''
+ type: string
+ - in: query
+ name: state
+ description: A slug representation of a state to filter patches by.
+ schema:
+ title: ''
+ type: string
+ - in: query
+ name: archived
+ description: >
+ Show only archived (`true`) or non-archived (`false`) patches.
+ schema:
+ title: ''
+ type: string
+ enum:
+ - 'true'
+ - 'false'
+ responses:
+ '200':
+ description: ''
+ headers:
+ Link:
+ $ref: '#/components/headers/Link'
+ content:
+ application/json:
+ schema:
+ type: array
+ items:
+ $ref: '#/components/schemas/PatchList'
+ tags:
+ - patches
+ /api/1.2/patches/{id}/:
+ get:
+ description: Show a patch.
+ operationId: patches_read
+ parameters:
+ - in: path
+ name: id
+ description: A unique integer value identifying this patch.
+ required: true
+ schema:
+ title: ID
+ type: integer
+ responses:
+ '200':
+ description: ''
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/PatchDetail'
+ '404':
+ description: Not found
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/Error'
+ tags:
+ - patches
+ patch:
+ description: Update a patch (partial).
+ operationId: patches_partial_update
+ security:
+ - basicAuth: []
+ - apiKeyAuth: []
+ parameters:
+ - in: path
+ name: id
+ description: A unique integer value identifying this patch.
+ required: true
+ schema:
+ title: ID
+ type: integer
+ requestBody:
+ $ref: '#/components/requestBodies/Patch'
+ responses:
+ '200':
+ description: ''
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/PatchDetail'
+ '400':
+ description: Invalid Request
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ErrorPatchUpdate'
+ '403':
+ description: Forbidden
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/Error'
+ '404':
+ description: Not found
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/Error'
+ tags:
+ - patches
+ put:
+ description: Update a patch.
+ operationId: patches_update
+ security:
+ - basicAuth: []
+ - apiKeyAuth: []
+ parameters:
+ - in: path
+ name: id
+ description: A unique integer value identifying this patch.
+ required: true
+ schema:
+ title: ID
+ type: integer
+ requestBody:
+ $ref: '#/components/requestBodies/Patch'
+ responses:
+ '200':
+ description: ''
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/PatchDetail'
+ '400':
+ description: Invalid Request
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ErrorPatchUpdate'
+ '403':
+ description: Forbidden
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/Error'
+ '404':
+ description: Not found
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/Error'
+ tags:
+ - patches
+ /api/1.2/patches/{id}/comments/:
+ get:
+ description: List comments
+ operationId: patch_comments_list
+ parameters:
+ - in: path
+ name: id
+ description: A unique integer value identifying the parent patch.
+ required: true
+ schema:
+ title: ID
+ type: integer
+ - $ref: '#/components/parameters/Page'
+ - $ref: '#/components/parameters/PageSize'
+ - $ref: '#/components/parameters/Order'
+ - $ref: '#/components/parameters/Search'
+ responses:
+ '200':
+ description: ''
+ headers:
+ Link:
+ $ref: '#/components/headers/Link'
+ content:
+ application/json:
+ schema:
+ type: array
+ items:
+ $ref: '#/components/schemas/Comment'
+ '404':
+ description: Not found
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/Error'
+ tags:
+ - comments
+ /api/1.2/patches/{patch_id}/checks/:
+ get:
+ description: List checks.
+ operationId: checks_list
+ parameters:
+ - in: path
+ name: patch_id
+ description: A unique integer value identifying the parent patch.
+ required: true
+ schema:
+ title: Patch ID
+ type: integer
+ - $ref: '#/components/parameters/Page'
+ - $ref: '#/components/parameters/PageSize'
+ - $ref: '#/components/parameters/Order'
+ - $ref: '#/components/parameters/Search'
+ - $ref: '#/components/parameters/BeforeFilter'
+ - $ref: '#/components/parameters/SinceFilter'
+ - in: query
+ name: user
+ description: An ID or username of a user to filter checks by.
+ schema:
+ title: ''
+ type: string
+ - in: query
+ name: state
+ description: A check state to filter checks by.
+ schema:
+ title: ''
+ type: string
+ enum:
+ - pending
+ - success
+ - warning
+ - fail
+ - in: query
+ name: context
+ description: A check context to filter checks by.
+ schema:
+ title: ''
+ type: string
+ responses:
+ '200':
+ description: ''
+ headers:
+ Link:
+ $ref: '#/components/headers/Link'
+ content:
+ application/json:
+ schema:
+ type: array
+ items:
+ $ref: '#/components/schemas/Check'
+ '404':
+ description: Not found
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/Error'
+ tags:
+ - checks
+ post:
+ description: Create a check.
+ operationId: checks_create
+ security:
+ - basicAuth: []
+ - apiKeyAuth: []
+ parameters:
+ - in: path
+ name: patch_id
+ description: A unique integer value identifying the parent patch.
+ required: true
+ schema:
+ title: Patch ID
+ type: integer
+ requestBody:
+ $ref: '#/components/requestBodies/Check'
+ responses:
+ '201':
+ description: ''
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/Check'
+ '400':
+ description: Invalid Request
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ErrorCheckCreate'
+ '403':
+ description: Forbidden
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/Error'
+ '404':
+ description: Not found
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/Error'
+ tags:
+ - checks
+ /api/1.2/patches/{patch_id}/checks/{check_id}/:
+ get:
+ description: Show a check.
+ operationId: checks_read
+ parameters:
+ - in: path
+ name: patch_id
+ description: A unique integer value identifying the parent patch.
+ required: true
+ schema:
+ title: Patch ID
+ type: integer
+ - in: path
+ name: check_id
+ description: A unique integer value identifying this check.
+ required: true
+ schema:
+ title: Check ID
+ type: integer
+ responses:
+ '200':
+ description: ''
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/Check'
+ '404':
+ description: Not found
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/Error'
+ tags:
+ - checks
+ /api/1.2/people/:
+ get:
+ description: List people.
+ operationId: people_list
+ security:
+ - basicAuth: []
+ - apiKeyAuth: []
+ parameters:
+ - $ref: '#/components/parameters/Page'
+ - $ref: '#/components/parameters/PageSize'
+ - $ref: '#/components/parameters/Order'
+ - $ref: '#/components/parameters/Search'
+ responses:
+ '200':
+ description: ''
+ headers:
+ Link:
+ $ref: '#/components/headers/Link'
+ content:
+ application/json:
+ schema:
+ type: array
+ items:
+ $ref: '#/components/schemas/Person'
+ '403':
+ description: Forbidden
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/Error'
+ tags:
+ - people
+ /api/1.2/people/{id}/:
+ get:
+ description: Show a person.
+ operationId: people_read
+ security:
+ - basicAuth: []
+ - apiKeyAuth: []
+ parameters:
+ - in: path
+ name: id
+ description: A unique integer value identifying this person.
+ required: true
+ schema:
+ title: ID
+ type: integer
+ responses:
+ '200':
+ description: ''
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/Person'
+ '403':
+ description: Forbidden
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/Error'
+ '404':
+ description: Not found
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/Error'
+ tags:
+ - people
+ /api/1.2/projects/:
+ get:
+ description: List projects.
+ operationId: projects_list
+ parameters:
+ - $ref: '#/components/parameters/Page'
+ - $ref: '#/components/parameters/PageSize'
+ - $ref: '#/components/parameters/Order'
+ - $ref: '#/components/parameters/Search'
+ responses:
+ '200':
+ description: ''
+ headers:
+ Link:
+ $ref: '#/components/headers/Link'
+ content:
+ application/json:
+ schema:
+ type: array
+ items:
+ $ref: '#/components/schemas/Project'
+ tags:
+ - projects
+ /api/1.2/projects/{id}/:
+ get:
+ description: Show a project.
+ operationId: projects_read
+ parameters:
+ - in: path
+ name: id
+ description: A unique integer value identifying this project.
+ required: true
+ schema:
+ title: ID
+ type: integer
+ responses:
+ '200':
+ description: ''
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/Project'
+ '404':
+ description: Not found
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/Error'
+ tags:
+ - projects
+ patch:
+ description: Update a project (partial).
+ operationId: projects_partial_update
+ security:
+ - basicAuth: []
+ - apiKeyAuth: []
+ parameters:
+ - in: path
+ name: id
+ description: A unique integer value identifying this project.
+ required: true
+ schema:
+ title: ID
+ type: integer
+ requestBody:
+ $ref: '#/components/requestBodies/Project'
+ responses:
+ '200':
+ description: ''
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/Project'
+ '400':
+ description: Bad request
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ErrorProjectUpdate'
+ '403':
+ description: Forbidden
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/Error'
+ '404':
+ description: Not found
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/Error'
+ tags:
+ - projects
+ put:
+ description: Update a project.
+ operationId: projects_update
+ security:
+ - basicAuth: []
+ - apiKeyAuth: []
+ parameters:
+ - in: path
+ name: id
+ description: A unique integer value identifying this project.
+ required: true
+ schema:
+ title: ID
+ type: integer
+ requestBody:
+ $ref: '#/components/requestBodies/Project'
+ responses:
+ '200':
+ description: ''
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/Project'
+ '400':
+ description: Bad request
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ErrorProjectUpdate'
+ '403':
+ description: Forbidden
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/Error'
+ '404':
+ description: Not found
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/Error'
+ tags:
+ - projects
+ /api/1.2/series/:
+ get:
+ description: List series.
+ operationId: series_list
+ parameters:
+ - $ref: '#/components/parameters/Page'
+ - $ref: '#/components/parameters/PageSize'
+ - $ref: '#/components/parameters/Order'
+ - $ref: '#/components/parameters/Search'
+ - $ref: '#/components/parameters/BeforeFilter'
+ - $ref: '#/components/parameters/SinceFilter'
+ - in: query
+ name: submitter
+ description: An ID or email address of a person to filter series by.
+ schema:
+ title: ''
+ type: string
+ - in: query
+ name: project
+ description: An ID or linkname of a project to filter series by.
+ schema:
+ title: ''
+ type: string
+ responses:
+ '200':
+ description: ''
+ headers:
+ Link:
+ $ref: '#/components/headers/Link'
+ content:
+ application/json:
+ schema:
+ type: array
+ items:
+ $ref: '#/components/schemas/Series'
+ tags:
+ - series
+ /api/1.2/series/{id}/:
+ get:
+ description: Show a series.
+ operationId: series_read
+ parameters:
+ - in: path
+ name: id
+ description: A unique integer value identifying this series.
+ required: true
+ schema:
+ title: ID
+ type: integer
+ responses:
+ '200':
+ description: ''
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/Series'
+ '404':
+ description: Not found
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/Error'
+ tags:
+ - series
+ /api/1.2/users/:
+ get:
+ description: List users.
+ operationId: users_list
+ security:
+ - basicAuth: []
+ - apiKeyAuth: []
+ parameters:
+ - $ref: '#/components/parameters/Page'
+ - $ref: '#/components/parameters/PageSize'
+ - $ref: '#/components/parameters/Order'
+ - $ref: '#/components/parameters/Search'
+ responses:
+ '200':
+ description: ''
+ headers:
+ Link:
+ $ref: '#/components/headers/Link'
+ content:
+ application/json:
+ schema:
+ type: array
+ items:
+ $ref: '#/components/schemas/User'
+ '403':
+ description: Forbidden
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/Error'
+ tags:
+ - users
+ /api/1.2/users/{id}/:
+ get:
+ description: Show a user.
+ operationId: users_read
+ security:
+ - basicAuth: []
+ - apiKeyAuth: []
+ parameters:
+ - in: path
+ name: id
+ description: A unique integer value identifying this user.
+ required: true
+ schema:
+ title: ID
+ type: integer
+ responses:
+ '200':
+ description: ''
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/User'
+ '403':
+ description: Forbidden
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/Error'
+ '404':
+ description: Not found
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/Error'
+ tags:
+ - users
+ patch:
+ description: Update a user (partial).
+ operationId: users_partial_update
+ security:
+ - basicAuth: []
+ - apiKeyAuth: []
+ parameters:
+ - in: path
+ name: id
+ description: A unique integer value identifying this user.
+ required: true
+ schema:
+ title: ID
+ type: integer
+ requestBody:
+ $ref: '#/components/requestBodies/User'
+ responses:
+ '200':
+ description: ''
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/User'
+ '400':
+ description: Bad request
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ErrorUserUpdate'
+ '403':
+ description: Forbidden
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/Error'
+ '404':
+ description: Not found
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/Error'
+ tags:
+ - users
+ put:
+ description: Update a user.
+ operationId: users_update
+ security:
+ - basicAuth: []
+ - apiKeyAuth: []
+ parameters:
+ - in: path
+ name: id
+ description: A unique integer value identifying this user.
+ required: true
+ schema:
+ title: ID
+ type: integer
+ requestBody:
+ $ref: '#/components/requestBodies/User'
+ responses:
+ '200':
+ description: ''
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/User'
+ '400':
+ description: Bad request
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ErrorUserUpdate'
+ '403':
+ description: Forbidden
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/Error'
+ '404':
+ description: Not found
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/Error'
+ tags:
+ - users
+components:
+ securitySchemes:
+ basicAuth:
+ type: http
+ scheme: basic
+ apiKeyAuth:
+ type: http
+ scheme: bearer
+ parameters:
+ Page:
+ in: query
+ name: page
+ description: A page number within the paginated result set.
+ schema:
+ title: Page
+ type: integer
+ PageSize:
+ in: query
+ name: per_page
+ description: Number of results to return per page.
+ schema:
+ title: Page size
+ type: integer
+ Order:
+ in: query
+ name: order
+ description: Which field to use when ordering the results.
+ schema:
+ title: Ordering
+ type: string
+ Search:
+ in: query
+ name: q
+ description: A search term.
+ schema:
+ title: Search
+ type: string
+ BeforeFilter:
+ in: query
+ name: before
+ description: Latest date-time to retrieve results for.
+ schema:
+ title: ''
+ type: string
+ SinceFilter:
+ in: query
+ name: since
+ description: Earliest date-time to retrieve results for.
+ schema:
+ title: ''
+ type: string
+ headers:
+ Link:
+ description: >
+ Links to related resources, in the format defined by
+ [RFC 5988](https://tools.ietf.org/html/rfc5988#section-5).
+ This will include a link with relation type `next` to the
+ next page, if there is a next page.
+ schema:
+ type: string
+ requestBodies:
+ Check:
+ required: true
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/CheckCreate'
+ multipart/form-data:
+ schema:
+ $ref: '#/components/schemas/CheckCreate'
+ application/x-www-form-urlencoded:
+ schema:
+ $ref: '#/components/schemas/CheckCreate'
+ Patch:
+ required: true
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/PatchUpdate'
+ multipart/form-data:
+ schema:
+ $ref: '#/components/schemas/PatchUpdate'
+ application/x-www-form-urlencoded:
+ schema:
+ $ref: '#/components/schemas/PatchUpdate'
+ Project:
+ required: true
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/Project'
+ multipart/form-data:
+ schema:
+ $ref: '#/components/schemas/Project'
+ application/x-www-form-urlencoded:
+ schema:
+ $ref: '#/components/schemas/Project'
+ User:
+ required: true
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/User'
+ multipart/form-data:
+ schema:
+ $ref: '#/components/schemas/User'
+ application/x-www-form-urlencoded:
+ schema:
+ $ref: '#/components/schemas/User'
+ schemas:
+ Index:
+ type: object
+ properties:
+ bundles:
+ title: Bundles URL
+ type: string
+ format: uri
+ readOnly: true
+ covers:
+ title: Covers URL
+ type: string
+ format: uri
+ readOnly: true
+ events:
+ title: Events URL
+ type: string
+ format: uri
+ readOnly: true
+ patches:
+ title: Patches URL
+ type: string
+ format: uri
+ readOnly: true
+ people:
+ title: People URL
+ type: string
+ format: uri
+ readOnly: true
+ projects:
+ title: Projects URL
+ type: string
+ format: uri
+ readOnly: true
+ users:
+ title: Users URL
+ type: string
+ format: uri
+ readOnly: true
+ Bundle:
+ required:
+ - name
+ type: object
+ properties:
+ id:
+ title: ID
+ type: integer
+ readOnly: true
+ url:
+ title: URL
+ type: string
+ format: uri
+ readOnly: true
+ web_url:
+ title: Web URL
+ type: string
+ format: uri
+ readOnly: true
+ project:
+ $ref: '#/components/schemas/ProjectEmbedded'
+ name:
+ title: Name
+ type: string
+ minLength: 1
+ maxLength: 50
+ owner:
+ type: object
+ title: Owner
+ readOnly: true
+ allOf:
+ - $ref: '#/components/schemas/UserEmbedded'
+ patches:
+ type: array
+ items:
+ $ref: '#/components/schemas/PatchEmbedded'
+ readOnly: true
+ uniqueItems: true
+ public:
+ title: Public
+ type: boolean
+ mbox:
+ title: Mbox
+ type: string
+ format: uri
+ readOnly: true
+ Check:
+ type: object
+ properties:
+ id:
+ title: ID
+ type: integer
+ readOnly: true
+ url:
+ title: Url
+ type: string
+ format: uri
+ readOnly: true
+ user:
+ $ref: '#/components/schemas/UserEmbedded'
+ date:
+ title: Date
+ type: string
+ format: iso8601
+ readOnly: true
+ state:
+ title: State
+ description: The state of the check.
+ type: string
+ enum:
+ - pending
+ - success
+ - warning
+ - fail
+ target_url:
+ title: Target URL
+ description: >
+ The target URL to associate with this check. This should be
+ specific to the patch.
+ type: string
+ format: uri
+ maxLength: 200
+ nullable: true
+ context:
+ title: Context
+ description: >
+ A label to discern check from checks of other testing systems.
+ type: string
+ pattern: ^[-a-zA-Z0-9_]+$
+ minLength: 1
+ maxLength: 255
+ description:
+ title: Description
+ description: A brief description of the check.
+ type: string
+ nullable: true
+ CheckCreate:
+ type: object
+ required:
+ - state
+ properties:
+ state:
+ title: State
+ description: The state of the check.
+ type: string
+ enum:
+ - pending
+ - success
+ - warning
+ - fail
+ target_url:
+ title: Target URL
+ description:
+ The target URL to associate with this check. This should be
+ specific to the patch.
+ type: string
+ format: uri
+ maxLength: 200
+ nullable: true
+ context:
+ title: Context
+ description: >
+ A label to discern check from checks of other testing systems.
+ type: string
+ pattern: ^[-a-zA-Z0-9_]+$
+ minLength: 1
+ maxLength: 255
+ description:
+ title: Description
+ description: A brief description of the check.
+ type: string
+ nullable: true
+ Comment:
+ type: object
+ properties:
+ id:
+ title: ID
+ type: integer
+ readOnly: true
+ web_url:
+ title: Web URL
+ type: string
+ format: uri
+ readOnly: true
+ msgid:
+ title: Message ID
+ type: string
+ readOnly: true
+ minLength: 1
+ maxLength: 255
+ list_archive_url:
+ title: List archive URL
+ type: string
+ readOnly: true
+ nullable: true
+ date:
+ title: Date
+ type: string
+ format: iso8601
+ readOnly: true
+ subject:
+ title: Subject
+ type: string
+ readOnly: true
+ submitter:
+ type: object
+ title: Submitter
+ allOf:
+ - $ref: '#/components/schemas/PersonEmbedded'
+ content:
+ title: Content
+ type: string
+ readOnly: true
+ minLength: 1
+ headers:
+ title: Headers
+ type: array
+ items:
+ type: string
+ readOnly: true
+ CoverLetterList:
+ type: object
+ properties:
+ id:
+ title: ID
+ type: integer
+ readOnly: true
+ url:
+ title: URL
+ type: string
+ format: uri
+ readOnly: true
+ web_url:
+ title: Web URL
+ type: string
+ format: uri
+ readOnly: true
+ project:
+ $ref: '#/components/schemas/ProjectEmbedded'
+ msgid:
+ title: Message ID
+ type: string
+ readOnly: true
+ minLength: 1
+ maxLength: 255
+ list_archive_url:
+ title: List archive URL
+ type: string
+ readOnly: true
+ nullable: true
+ date:
+ title: Date
+ type: string
+ format: iso8601
+ readOnly: true
+ name:
+ title: Name
+ type: string
+ readOnly: true
+ minLength: 1
+ maxLength: 255
+ submitter:
+ type: object
+ title: Submitter
+ readOnly: true
+ allOf:
+ - $ref: '#/components/schemas/PersonEmbedded'
+ mbox:
+ title: Mbox
+ type: string
+ format: uri
+ readOnly: true
+ series:
+ type: array
+ items:
+ $ref: '#/components/schemas/SeriesEmbedded'
+ readOnly: true
+ comments:
+ title: Comments
+ type: string
+ format: uri
+ readOnly: true
+ CoverLetterDetail:
+ allOf:
+ - $ref: '#/components/schemas/CoverLetterList'
+ - properties:
+ headers:
+ title: Headers
+ type: array
+ items:
+ type: string
+ readOnly: true
+ content:
+ title: Content
+ type: string
+ readOnly: true
+ minLength: 1
+ EventBase:
+ type: object
+ properties:
+ id:
+ title: ID
+ type: integer
+ readOnly: true
+ category:
+ title: Category
+ description: The category of the event.
+ type: string
+ readOnly: true
+ project:
+ $ref: '#/components/schemas/ProjectEmbedded'
+ date:
+ title: Date
+ description: The time this event was created.
+ type: string
+ format: iso8601
+ readOnly: true
+ payload:
+ type: object
+ EventCoverCreated:
+ allOf:
+ - $ref: '#/components/schemas/EventBase'
+ - type: object
+ properties:
+ category:
+ enum:
+ - cover-created
+ payload:
+ properties:
+ cover:
+ title: Cover
+ type: string
+ readOnly: true
+ EventPatchCreated:
+ allOf:
+ - $ref: '#/components/schemas/EventBase'
+ - type: object
+ properties:
+ category:
+ enum:
+ - patch-created
+ payload:
+ properties:
+ patch:
+ $ref: '#/components/schemas/PatchEmbedded'
+ EventPatchCompleted:
+ allOf:
+ - $ref: '#/components/schemas/EventBase'
+ - type: object
+ properties:
+ category:
+ enum:
+ - patch-completed
+ payload:
+ properties:
+ patch:
+ $ref: '#/components/schemas/PatchEmbedded'
+ series:
+ $ref: '#/components/schemas/SeriesEmbedded'
+ EventPatchStateChanged:
+ allOf:
+ - $ref: '#/components/schemas/EventBase'
+ - type: object
+ properties:
+ category:
+ enum:
+ - patch-state-changed
+ payload:
+ properties:
+ patch:
+ $ref: '#/components/schemas/PatchEmbedded'
+ previous_state:
+ title: Previous state
+ type: string
+ current_state:
+ title: Current state
+ type: string
+ EventPatchDelegated:
+ allOf:
+ - $ref: '#/components/schemas/EventBase'
+ - type: object
+ properties:
+ category:
+ enum:
+ - patch-delegated
+ payload:
+ properties:
+ patch:
+ $ref: '#/components/schemas/PatchEmbedded'
+ previous_delegate:
+ allOf:
+ - $ref: '#/components/schemas/UserEmbedded'
+ - title: Previous delegate
+ current_delegate:
+ allOf:
+ - $ref: '#/components/schemas/UserEmbedded'
+ - title: Current delegate
+ EventCheckCreated:
+ allOf:
+ - $ref: '#/components/schemas/EventBase'
+ - type: object
+ properties:
+ category:
+ enum:
+ - check-created
+ payload:
+ properties:
+ patch:
+ $ref: '#/components/schemas/PatchEmbedded'
+ check:
+ $ref: '#/components/schemas/CheckEmbedded'
+ EventSeriesCreated:
+ allOf:
+ - $ref: '#/components/schemas/EventBase'
+ - type: object
+ properties:
+ category:
+ enum:
+ - series-created
+ payload:
+ properties:
+ series:
+ $ref: '#/components/schemas/SeriesEmbedded'
+ EventSeriesCompleted:
+ allOf:
+ - $ref: '#/components/schemas/EventBase'
+ - type: object
+ properties:
+ category:
+ enum:
+ - series-completed
+ payload:
+ properties:
+ series:
+ $ref: '#/components/schemas/SeriesEmbedded'
+ PatchList:
+ required:
+ - state
+ - delegate
+ type: object
+ properties:
+ id:
+ title: ID
+ type: integer
+ readOnly: true
+ url:
+ title: URL
+ type: string
+ format: uri
+ readOnly: true
+ web_url:
+ title: Web URL
+ type: string
+ format: uri
+ readOnly: true
+ project:
+ $ref: '#/components/schemas/ProjectEmbedded'
+ msgid:
+ title: Message ID
+ type: string
+ readOnly: true
+ minLength: 1
+ maxLength: 255
+ list_archive_url:
+ title: List archive URL
+ type: string
+ readOnly: true
+ nullable: true
+ date:
+ title: Date
+ type: string
+ format: iso8601
+ readOnly: true
+ name:
+ title: Name
+ type: string
+ readOnly: true
+ minLength: 1
+ maxLength: 255
+ commit_ref:
+ title: Commit ref
+ type: string
+ maxLength: 255
+ nullable: true
+ pull_url:
+ title: Pull URL
+ type: string
+ format: uri
+ maxLength: 255
+ nullable: true
+ state:
+ title: State
+ type: string
+ archived:
+ title: Archived
+ type: boolean
+ hash:
+ title: Hash
+ type: string
+ readOnly: true
+ minLength: 1
+ submitter:
+ type: object
+ title: Submitter
+ readOnly: true
+ allOf:
+ - $ref: '#/components/schemas/PersonEmbedded'
+ delegate:
+ type: object
+ title: Delegate
+ nullable: true
+ readOnly: true
+ allOf:
+ - $ref: '#/components/schemas/UserEmbedded'
+ mbox:
+ title: Mbox
+ type: string
+ format: uri
+ readOnly: true
+ series:
+ type: array
+ items:
+ $ref: '#/components/schemas/SeriesEmbedded'
+ readOnly: true
+ comments:
+ title: Comments
+ type: string
+ format: uri
+ readOnly: true
+ check:
+ title: Check
+ type: string
+ readOnly: true
+ enum:
+ - pending
+ - success
+ - warning
+ - fail
+ checks:
+ title: Checks
+ type: string
+ format: uri
+ readOnly: true
+ tags:
+ title: Tags
+ type: array
+ items:
+ type: string
+ readOnly: true
+ PatchDetail:
+ allOf:
+ - $ref: '#/components/schemas/PatchList'
+ - properties:
+ headers:
+ title: Headers
+ type: array
+ items:
+ type: string
+ readOnly: true
+ content:
+ title: Content
+ type: string
+ readOnly: true
+ minLength: 1
+ diff:
+ title: Diff
+ type: string
+ readOnly: true
+ minLength: 1
+ prefixes:
+ title: Prefixes
+ type: array
+ items:
+ type: string
+ readOnly: true
+ PatchUpdate:
+ type: object
+ properties:
+ commit_ref:
+ title: Commit ref
+ type: string
+ maxLength: 255
+ nullable: true
+ pull_url:
+ title: Pull URL
+ type: string
+ format: uri
+ maxLength: 255
+ nullable: true
+ state:
+ title: State
+ type: string
+ archived:
+ title: Archived
+ type: boolean
+ delegate:
+ title: Delegate
+ type: integer
+ nullable: true
+ Person:
+ type: object
+ properties:
+ id:
+ title: ID
+ type: integer
+ readOnly: true
+ url:
+ title: URL
+ type: string
+ format: uri
+ readOnly: true
+ name:
+ title: Name
+ type: string
+ readOnly: true
+ minLength: 1
+ maxLength: 255
+ email:
+ title: Email
+ type: string
+ format: email
+ readOnly: true
+ minLength: 1
+ maxLength: 255
+ user:
+ type: object
+ title: User
+ nullable: true
+ readOnly: true
+ allOf:
+ - $ref: '#/components/schemas/UserEmbedded'
+ Project:
+ type: object
+ properties:
+ id:
+ title: ID
+ type: integer
+ readOnly: true
+ url:
+ title: URL
+ type: string
+ format: uri
+ readOnly: true
+ name:
+ title: Name
+ type: string
+ readOnly: true
+ minLength: 1
+ maxLength: 255
+ link_name:
+ title: Link name
+ type: string
+ readOnly: true
+ minLength: 1
+ maxLength: 255
+ list_id:
+ title: List ID
+ type: string
+ readOnly: true
+ minLength: 1
+ maxLength: 255
+ list_email:
+ title: List email
+ type: string
+ format: email
+ readOnly: true
+ minLength: 1
+ maxLength: 200
+ web_url:
+ title: Web URL
+ type: string
+ format: uri
+ maxLength: 2000
+ scm_url:
+ title: SCM URL
+ type: string
+ format: uri
+ maxLength: 2000
+ webscm_url:
+ title: Web SCM URL
+ type: string
+ format: uri
+ maxLength: 2000
+ maintainers:
+ type: array
+ items:
+ $ref: '#/components/schemas/UserEmbedded'
+ readOnly: true
+ uniqueItems: true
+ subject_match:
+ title: Subject match
+ description: >
+ Regex to match the subject against if only part of emails sent to
+ the list belongs to this project. Will be used with IGNORECASE and
+ MULTILINE flags. If rules for more projects match the first one
+ returned from DB is chosen; empty field serves as a default for
+ every email which has no other match.
+ type: string
+ readOnly: true
+ maxLength: 64
+ list_archive_url:
+ title: List archive URL
+ type: string
+ format: uri
+ maxLength: 2000
+ nullable: true
+ list_archive_url_format:
+ title: List archive URL format
+ type: string
+ format: uri
+ maxLength: 2000
+ nullable: true
+ description: >
+ URL format for the list archive's Message-ID redirector. {} will be
+ replaced by the Message-ID.
+ Series:
+ type: object
+ properties:
+ id:
+ title: ID
+ type: integer
+ readOnly: true
+ url:
+ title: URL
+ type: string
+ format: uri
+ readOnly: true
+ web_url:
+ title: Web URL
+ type: string
+ format: uri
+ readOnly: true
+ project:
+ $ref: '#/components/schemas/ProjectEmbedded'
+ name:
+ title: Name
+ description: >
+ An optional name to associate with the series, e.g. "John's PCI
+ series".
+ type: string
+ maxLength: 255
+ nullable: true
+ date:
+ title: Date
+ type: string
+ format: iso8601
+ readOnly: true
+ submitter:
+ type: object
+ title: Submitter
+ readOnly: true
+ allOf:
+ - $ref: '#/components/schemas/PersonEmbedded'
+ version:
+ title: Version
+ description: >
+ Version of series as indicated by the subject prefix(es).
+ type: integer
+ total:
+ title: Total
+ description: >
+ Number of patches in series as indicated by the subject prefix(es).
+ type: integer
+ readOnly: true
+ received_total:
+ title: Received total
+ type: integer
+ readOnly: true
+ received_all:
+ title: Received all
+ type: boolean
+ readOnly: true
+ mbox:
+ title: Mbox
+ type: string
+ format: uri
+ readOnly: true
+ cover_letter:
+ $ref: '#/components/schemas/CoverLetterEmbedded'
+ patches:
+ type: array
+ items:
+ $ref: '#/components/schemas/PatchEmbedded'
+ readOnly: true
+ uniqueItems: true
+ User:
+ type: object
+ properties:
+ id:
+ title: ID
+ type: integer
+ readOnly: true
+ url:
+ title: URL
+ type: string
+ format: uri
+ readOnly: true
+ username:
+ title: Username
+ type: string
+ readOnly: true
+ minLength: 1
+ maxLength: 150
+ first_name:
+ title: First name
+ type: string
+ maxLength: 30
+ last_name:
+ title: Last name
+ type: string
+ maxLength: 150
+ email:
+ title: Email address
+ type: string
+ format: email
+ readOnly: true
+ minLength: 1
+ CheckEmbedded:
+ type: object
+ properties:
+ id:
+ title: ID
+ type: integer
+ readOnly: true
+ url:
+ title: Url
+ type: string
+ format: uri
+ readOnly: true
+ date:
+ title: Date
+ type: string
+ format: iso8601
+ readOnly: true
+ state:
+ title: State
+ description: The state of the check.
+ type: string
+ readOnly: true
+ enum:
+ - pending
+ - success
+ - warning
+ - fail
+ target_url:
+ title: Target url
+ description: >
+ The target URL to associate with this check. This should be specific
+ to the patch.
+ type: string
+ format: uri
+ maxLength: 200
+ nullable: true
+ readOnly: true
+ context:
+ title: Context
+ description: >
+ A label to discern check from checks of other testing systems.
+ type: string
+ pattern: ^[-a-zA-Z0-9_]+$
+ maxLength: 255
+ minLength: 1
+ readOnly: true
+ CoverLetterEmbedded:
+ type: object
+ properties:
+ id:
+ title: ID
+ type: integer
+ readOnly: true
+ url:
+ title: URL
+ type: string
+ format: uri
+ readOnly: true
+ web_url:
+ title: Web URL
+ type: string
+ format: uri
+ readOnly: true
+ msgid:
+ title: Message ID
+ type: string
+ readOnly: true
+ minLength: 1
+ list_archive_url:
+ title: List archive URL
+ type: string
+ readOnly: true
+ nullable: true
+ date:
+ title: Date
+ type: string
+ format: iso8601
+ readOnly: true
+ name:
+ title: Name
+ type: string
+ readOnly: true
+ minLength: 1
+ mbox:
+ title: Mbox
+ type: string
+ format: uri
+ readOnly: true
+ PatchEmbedded:
+ type: object
+ properties:
+ id:
+ title: ID
+ type: integer
+ readOnly: true
+ url:
+ title: URL
+ type: string
+ format: uri
+ readOnly: true
+ web_url:
+ title: Web URL
+ type: string
+ format: uri
+ readOnly: true
+ msgid:
+ title: Message ID
+ type: string
+ readOnly: true
+ minLength: 1
+ list_archive_url:
+ title: List archive URL
+ type: string
+ readOnly: true
+ nullable: true
+ date:
+ title: Date
+ type: string
+ format: iso8601
+ readOnly: true
+ name:
+ title: Name
+ type: string
+ readOnly: true
+ minLength: 1
+ mbox:
+ title: Mbox
+ type: string
+ format: uri
+ readOnly: true
+ PersonEmbedded:
+ type: object
+ properties:
+ id:
+ title: ID
+ type: integer
+ readOnly: true
+ url:
+ title: URL
+ type: string
+ format: uri
+ readOnly: true
+ name:
+ title: Name
+ type: string
+ readOnly: true
+ minLength: 1
+ email:
+ title: Email
+ type: string
+ format: email
+ readOnly: true
+ minLength: 1
+ ProjectEmbedded:
+ type: object
+ properties:
+ id:
+ title: ID
+ type: integer
+ readOnly: true
+ url:
+ title: URL
+ type: string
+ format: uri
+ readOnly: true
+ name:
+ title: Name
+ type: string
+ readOnly: true
+ minLength: 1
+ link_name:
+ title: Link name
+ type: string
+ readOnly: true
+ maxLength: 255
+ minLength: 1
+ list_id:
+ title: List ID
+ type: string
+ readOnly: true
+ maxLength: 255
+ minLength: 1
+ list_email:
+ title: List email
+ type: string
+ format: email
+ readOnly: true
+ maxLength: 200
+ minLength: 1
+ web_url:
+ title: Web URL
+ type: string
+ format: uri
+ readOnly: true
+ maxLength: 2000
+ scm_url:
+ title: SCM URL
+ type: string
+ format: uri
+ readOnly: true
+ maxLength: 2000
+ webscm_url:
+ title: WebSCM URL
+ type: string
+ format: uri
+ readOnly: true
+ maxLength: 2000
+ list_archive_url:
+ title: List archive URL
+ type: string
+ format: uri
+ maxLength: 2000
+ nullable: true
+ list_archive_url_format:
+ title: List archive URL format
+ type: string
+ format: uri
+ maxLength: 2000
+ nullable: true
+ description: >
+ URL format for the list archive's Message-ID redirector. {} will be
+ replaced by the Message-ID.
+ SeriesEmbedded:
+ type: object
+ properties:
+ id:
+ title: ID
+ type: integer
+ readOnly: true
+ url:
+ title: URL
+ type: string
+ format: uri
+ readOnly: true
+ web_url:
+ title: Web URL
+ type: string
+ format: uri
+ readOnly: true
+ name:
+ title: Name
+ description: >
+ An optional name to associate with the series, e.g. "John's PCI
+ series".
+ type: string
+ readOnly: true
+ maxLength: 255
+ nullable: true
+ date:
+ title: Date
+ type: string
+ format: iso8601
+ readOnly: true
+ version:
+ title: Version
+ description: >
+ Version of series as indicated by the subject prefix(es).
+ type: integer
+ readOnly: true
+ mbox:
+ title: Mbox
+ type: string
+ format: uri
+ readOnly: true
+ UserEmbedded:
+ type: object
+ properties:
+ id:
+ title: ID
+ type: integer
+ readOnly: true
+ url:
+ title: URL
+ type: string
+ format: uri
+ readOnly: true
+ username:
+ title: Username
+ type: string
+ readOnly: true
+ minLength: 1
+ maxLength: 150
+ first_name:
+ title: First name
+ type: string
+ maxLength: 30
+ readOnly: true
+ last_name:
+ title: Last name
+ type: string
+ maxLength: 150
+ readOnly: true
+ email:
+ title: Email address
+ type: string
+ format: email
+ readOnly: true
+ minLength: 1
+ Error:
+ type: object
+ properties:
+ detail:
+ title: Detail
+ type: string
+ readOnly: true
+ ErrorCheckCreate:
+ type: object
+ properties:
+ state:
+ title: State
+ type: string
+ readOnly: true
+ target_url:
+ title: Target URL
+ type: string
+ readOnly: true
+ context:
+ title: Context
+ type: string
+ readOnly: true
+ description:
+ title: Description
+ type: string
+ readOnly: true
+ ErrorPatchUpdate:
+ type: object
+ properties:
+ state:
+ title: State
+ type: string
+ readOnly: true
+ delegate:
+ title: Delegate
+ type: string
+ readOnly: true
+ commit_ref:
+ title: Commit ref
+ type: string
+ readOnly: true
+ archived:
+ title: Archived
+ type: string
+ readOnly: true
+ ErrorProjectUpdate:
+ type: object
+ properties:
+ web_url:
+ title: Web URL
+ type: string
+ format: uri
+ readOnly: true
+ scm_url:
+ title: SCM URL
+ type: string
+ format: uri
+ readOnly: true
+ webscm_url:
+ title: Web SCM URL
+ type: string
+ format: uri
+ readOnly: true
+ ErrorUserUpdate:
+ type: object
+ properties:
+ first_name:
+ title: First name
+ type: string
+ readOnly: true
+ last_name:
+ title: First name
+ type: string
+ readOnly: true