[PATCH v4 7/9] api: add auto-generated OpenAPI schema files
Raxel Gutierrez
raxel at google.com
Fri Aug 20 14:50:28 AEST 2021
Signed-off-by: Raxel Gutierrez <raxel at google.com>
---
docs/api/schemas/latest/patchwork.yaml | 159 +-
docs/api/schemas/v1.3/patchwork.yaml | 2770 ++++++++++++++++++++++++
2 files changed, 2928 insertions(+), 1 deletion(-)
create mode 100644 docs/api/schemas/v1.3/patchwork.yaml
diff --git a/docs/api/schemas/latest/patchwork.yaml b/docs/api/schemas/latest/patchwork.yaml
index a8910a7c..e3bff990 100644
--- a/docs/api/schemas/latest/patchwork.yaml
+++ b/docs/api/schemas/latest/patchwork.yaml
@@ -13,7 +13,7 @@ info:
license:
name: GPL v2 License
url: https://www.gnu.org/licenses/gpl-2.0.html
- version: '1.2'
+ version: '1.3'
paths:
/api/:
get:
@@ -317,6 +317,72 @@ paths:
$ref: '#/components/schemas/Error'
tags:
- comments
+ /api/covers/{cover_id}/comments/{comment_id}/:
+ parameters:
+ - in: path
+ name: cover_id
+ description: A unique integer value identifying the parent cover.
+ required: true
+ schema:
+ title: Cover ID
+ type: integer
+ - in: path
+ name: comment_id
+ description: A unique integer value identifying this comment.
+ required: true
+ schema:
+ title: Comment ID
+ type: integer
+ get:
+ description: Show a cover comment.
+ operationId: cover_comments_read
+ responses:
+ '200':
+ description: ''
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/Comment'
+ '404':
+ description: Not found
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/Error'
+ tags:
+ - comments
+ patch:
+ description: Update a cover comment (partial).
+ operationId: cover_comments_partial_update
+ requestBody:
+ $ref: '#/components/requestBodies/Comment'
+ responses:
+ '200':
+ description: ''
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/Comment'
+ '400':
+ description: Invalid Request
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ErrorCommentUpdate'
+ '403':
+ description: Forbidden
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/Error'
+ '404':
+ description: Not found
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/Error'
+ tags:
+ - comments
/api/events/:
get:
description: List events.
@@ -635,6 +701,72 @@ paths:
$ref: '#/components/schemas/Error'
tags:
- comments
+ /api/patches/{patch_id}/comments/{comment_id}/:
+ 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: comment_id
+ description: A unique integer value identifying this comment.
+ required: true
+ schema:
+ title: Comment ID
+ type: integer
+ get:
+ description: Show a patch comment.
+ operationId: patch_comments_read
+ responses:
+ '200':
+ description: ''
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/Comment'
+ '404':
+ description: Not found
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/Error'
+ tags:
+ - comments
+ patch:
+ description: Update a patch comment (partial).
+ operationId: patch_comments_partial_update
+ requestBody:
+ $ref: '#/components/requestBodies/Comment'
+ responses:
+ '200':
+ description: ''
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/Comment'
+ '400':
+ description: Invalid Request
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ErrorCommentUpdate'
+ '403':
+ description: Forbidden
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/Error'
+ '404':
+ description: Not found
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/Error'
+ tags:
+ - comments
/api/patches/{patch_id}/checks/:
parameters:
- in: path
@@ -1242,6 +1374,12 @@ components:
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/CheckCreate'
+ Comment:
+ required: true
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/CommentUpdate'
Patch:
required: true
content:
@@ -1528,6 +1666,15 @@ components:
additionalProperties:
type: string
readOnly: true
+ addressed:
+ title: Addressed
+ type: boolean
+ CommentUpdate:
+ type: object
+ properties:
+ addressed:
+ title: Addressed
+ type: boolean
CoverList:
type: object
properties:
@@ -1712,9 +1859,11 @@ components:
previous_relation:
title: Previous relation
type: string
+ nullable: true
current_relation:
title: Current relation
type: string
+ nullable: true
EventPatchDelegated:
allOf:
- $ref: '#/components/schemas/EventBase'
@@ -2555,6 +2704,14 @@ components:
items:
type: string
readOnly: true
+ ErrorCommentUpdate:
+ type: object
+ properties:
+ addressed:
+ title: Addressed
+ type: array
+ items:
+ type: string
ErrorPatchUpdate:
type: object
properties:
diff --git a/docs/api/schemas/v1.3/patchwork.yaml b/docs/api/schemas/v1.3/patchwork.yaml
new file mode 100644
index 00000000..6cbba646
--- /dev/null
+++ b/docs/api/schemas/v1.3/patchwork.yaml
@@ -0,0 +1,2770 @@
+# DO NOT EDIT THIS FILE. It is generated from a template. Changes should be
+# proposed against the template and updated files generated using the
+# 'generate-schemas.py' tool
+---
+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 at lists.ozlabs.org
+ license:
+ name: GPL v2 License
+ url: https://www.gnu.org/licenses/gpl-2.0.html
+ version: '1.3'
+paths:
+ /api/1.3/:
+ get:
+ description: List API resources.
+ operationId: api_list
+ parameters: []
+ responses:
+ '200':
+ description: ''
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/Index'
+ tags:
+ - api
+ /api/1.3/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
+ post:
+ description: Create a bundle.
+ operationId: bundles_create
+# security:
+# - basicAuth: []
+# - apiKeyAuth: []
+ requestBody:
+ $ref: '#/components/requestBodies/Bundle'
+ responses:
+ '201':
+ description: ''
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/Bundle'
+ '400':
+ description: Invalid Request
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ErrorBundleCreateUpdate'
+ '403':
+ description: Forbidden
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/Error'
+ tags:
+ - bundles
+ /api/1.3/bundles/{id}/:
+ parameters:
+ - in: path
+ name: id
+ required: true
+ description: A unique integer value identifying this bundle.
+ schema:
+ title: ID
+ type: integer
+ get:
+ description: Show a bundle.
+ operationId: bundles_read
+ 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
+ patch:
+ description: Update a bundle (partial).
+ operationId: bundles_partial_update
+# security:
+# - basicAuth: []
+# - apiKeyAuth: []
+ requestBody:
+ $ref: '#/components/requestBodies/Bundle'
+ responses:
+ '200':
+ description: ''
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/Bundle'
+ '400':
+ description: Bad request
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ErrorBundleCreateUpdate'
+ '403':
+ description: Forbidden
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/Error'
+ '404':
+ description: Not found
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/Error'
+ tags:
+ - bundles
+ put:
+ description: Update a bundle.
+ operationId: bundles_update
+# security:
+# - basicAuth: []
+# - apiKeyAuth: []
+ requestBody:
+ $ref: '#/components/requestBodies/Bundle'
+ responses:
+ '200':
+ description: ''
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/Bundle'
+ '400':
+ description: Bad request
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ErrorBundleCreateUpdate'
+ '403':
+ description: Forbidden
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/Error'
+ '404':
+ description: Not found
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/Error'
+ tags:
+ - bundles
+ /api/1.3/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
+ - in: query
+ name: msgid
+ description: >
+ The cover message-id as a case-sensitive string, without leading or
+ trailing angle brackets, to filter by.
+ schema:
+ title: ''
+ type: string
+ responses:
+ '200':
+ description: ''
+ headers:
+ Link:
+ $ref: '#/components/headers/Link'
+ content:
+ application/json:
+ schema:
+ type: array
+ items:
+ $ref: '#/components/schemas/CoverList'
+ tags:
+ - covers
+ /api/1.3/covers/{id}/:
+ parameters:
+ - in: path
+ name: id
+ description: A unique integer value identifying this cover letter.
+ required: true
+ schema:
+ title: ID
+ type: integer
+ get:
+ description: Show a cover letter.
+ operationId: covers_read
+ responses:
+ '200':
+ description: ''
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/CoverDetail'
+ '404':
+ description: Not found
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/Error'
+ tags:
+ - covers
+ /api/1.3/covers/{id}/comments/:
+ parameters:
+ - in: path
+ name: id
+ description: >
+ A unique integer value identifying the parent cover letter.
+ required: true
+ schema:
+ title: ID
+ type: integer
+ get:
+ description: List comments
+ operationId: cover_comments_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/Comment'
+ '404':
+ description: Not found
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/Error'
+ tags:
+ - comments
+ /api/1.3/covers/{cover_id}/comments/{comment_id}/:
+ parameters:
+ - in: path
+ name: cover_id
+ description: A unique integer value identifying the parent cover.
+ required: true
+ schema:
+ title: Cover ID
+ type: integer
+ - in: path
+ name: comment_id
+ description: A unique integer value identifying this comment.
+ required: true
+ schema:
+ title: Comment ID
+ type: integer
+ get:
+ description: Show a cover comment.
+ operationId: cover_comments_read
+ responses:
+ '200':
+ description: ''
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/Comment'
+ '404':
+ description: Not found
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/Error'
+ tags:
+ - comments
+ patch:
+ description: Update a cover comment (partial).
+ operationId: cover_comments_partial_update
+ requestBody:
+ $ref: '#/components/requestBodies/Comment'
+ responses:
+ '200':
+ description: ''
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/Comment'
+ '400':
+ description: Invalid Request
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ErrorCommentUpdate'
+ '403':
+ description: Forbidden
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/Error'
+ '404':
+ description: Not found
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/Error'
+ tags:
+ - comments
+ /api/1.3/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-relation-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:
+ anyOf:
+ - $ref: '#/components/schemas/EventCoverCreated'
+ - $ref: '#/components/schemas/EventPatchCreated'
+ - $ref: '#/components/schemas/EventPatchCompleted'
+ - $ref: '#/components/schemas/EventPatchStateChanged'
+ - $ref: '#/components/schemas/EventPatchRelationChanged'
+ - $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-relation-changed: >
+ '#/components/schemas/EventPatchRelationChanged'
+ patch-delegated: >
+ '#/components/schemas/EventPatchDelegated'
+ check-created: '#/components/schemas/EventCheckCreated'
+ series-created: '#/components/schemas/EventSeriesCreated'
+ series-completed: >
+ '#/components/schemas/EventSeriesCompleted'
+ tags:
+ - events
+ /api/1.3/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'
+ - in: query
+ name: hash
+ description: >
+ The patch hash as a case-insensitive hexadecimal string, to filter by.
+ schema:
+ title: ''
+ type: string
+ - in: query
+ name: msgid
+ description: >
+ The patch message-id as a case-sensitive string, without leading or
+ trailing angle brackets, to filter by.
+ schema:
+ title: ''
+ type: string
+ responses:
+ '200':
+ description: ''
+ headers:
+ Link:
+ $ref: '#/components/headers/Link'
+ content:
+ application/json:
+ schema:
+ type: array
+ items:
+ $ref: '#/components/schemas/PatchList'
+ tags:
+ - patches
+ /api/1.3/patches/{id}/:
+ parameters:
+ - in: path
+ name: id
+ description: A unique integer value identifying this patch.
+ required: true
+ schema:
+ title: ID
+ type: integer
+ get:
+ description: Show a patch.
+ operationId: patches_read
+ 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: []
+ 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'
+ '409':
+ description: Conflict
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/Error'
+ tags:
+ - patches
+ put:
+ description: Update a patch.
+ operationId: patches_update
+# security:
+# - basicAuth: []
+# - apiKeyAuth: []
+ 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'
+ '409':
+ description: Conflict
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/Error'
+ tags:
+ - patches
+ /api/1.3/patches/{id}/comments/:
+ parameters:
+ - in: path
+ name: id
+ description: A unique integer value identifying the parent patch.
+ required: true
+ schema:
+ title: ID
+ type: integer
+ get:
+ description: List comments
+ operationId: patch_comments_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/Comment'
+ '404':
+ description: Not found
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/Error'
+ tags:
+ - comments
+ /api/1.3/patches/{patch_id}/comments/{comment_id}/:
+ 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: comment_id
+ description: A unique integer value identifying this comment.
+ required: true
+ schema:
+ title: Comment ID
+ type: integer
+ get:
+ description: Show a patch comment.
+ operationId: patch_comments_read
+ responses:
+ '200':
+ description: ''
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/Comment'
+ '404':
+ description: Not found
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/Error'
+ tags:
+ - comments
+ patch:
+ description: Update a patch comment (partial).
+ operationId: patch_comments_partial_update
+ requestBody:
+ $ref: '#/components/requestBodies/Comment'
+ responses:
+ '200':
+ description: ''
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/Comment'
+ '400':
+ description: Invalid Request
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/ErrorCommentUpdate'
+ '403':
+ description: Forbidden
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/Error'
+ '404':
+ description: Not found
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/Error'
+ tags:
+ - comments
+ /api/1.3/patches/{patch_id}/checks/:
+ parameters:
+ - in: path
+ name: patch_id
+ description: A unique integer value identifying the parent patch.
+ required: true
+ schema:
+ title: Patch ID
+ type: integer
+ get:
+ description: List checks.
+ operationId: checks_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: 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: []
+ 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.3/patches/{patch_id}/checks/{check_id}/:
+ 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
+ get:
+ description: Show a check.
+ operationId: checks_read
+ 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.3/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.3/people/{id}/:
+ parameters:
+ - in: path
+ name: id
+ description: A unique integer value identifying this person.
+ required: true
+ schema:
+ title: ID
+ type: integer
+ get:
+ description: Show a person.
+ operationId: people_read
+# security:
+# - basicAuth: []
+# - apiKeyAuth: []
+ 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.3/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.3/projects/{id}/:
+ parameters:
+ - in: path
+ name: id
+ description: A unique integer value identifying this project.
+ required: true
+ schema:
+ title: ID
+ # TODO: Add regex?
+ type: string
+ get:
+ description: Show a project.
+ operationId: projects_read
+ 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: []
+ 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: []
+ 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.3/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.3/series/{id}/:
+ parameters:
+ - in: path
+ name: id
+ description: A unique integer value identifying this series.
+ required: true
+ schema:
+ title: ID
+ type: integer
+ get:
+ description: Show a series.
+ operationId: series_read
+ 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.3/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.3/users/{id}/:
+ parameters:
+ - in: path
+ name: id
+ description: A unique integer value identifying this user.
+ required: true
+ schema:
+ title: ID
+ type: integer
+ get:
+ description: Show a user.
+ operationId: users_read
+# security:
+# - basicAuth: []
+# - apiKeyAuth: []
+ responses:
+ '200':
+ description: ''
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/UserDetail'
+ '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: []
+ requestBody:
+ $ref: '#/components/requestBodies/User'
+ responses:
+ '200':
+ description: ''
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/UserDetail'
+ '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: []
+ requestBody:
+ $ref: '#/components/requestBodies/User'
+ responses:
+ '200':
+ description: ''
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/UserDetail'
+ '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:
+ Bundle:
+ required: true
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/BundleCreateUpdate'
+ multipart/form-data:
+ schema:
+ $ref: '#/components/schemas/BundleCreateUpdate'
+ application/x-www-form-urlencoded:
+ schema:
+ $ref: '#/components/schemas/BundleCreateUpdate'
+ 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'
+ Comment:
+ required: true
+ content:
+ application/json:
+ schema:
+ $ref: '#/components/schemas/CommentUpdate'
+ 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/UserDetail'
+ multipart/form-data:
+ schema:
+ $ref: '#/components/schemas/UserDetail'
+ application/x-www-form-urlencoded:
+ schema:
+ $ref: '#/components/schemas/UserDetail'
+ 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
+ series:
+ title: Series 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
+ nullable: false
+ allOf:
+ - $ref: '#/components/schemas/UserEmbedded'
+ patches:
+ title: Patches
+ type: array
+ items:
+ $ref: '#/components/schemas/PatchEmbedded'
+ uniqueItems: true
+ public:
+ title: Public
+ type: boolean
+ mbox:
+ title: Mbox
+ type: string
+ format: uri
+ readOnly: true
+ BundleCreateUpdate:
+ type: object
+ required:
+ - name
+ properties:
+ name:
+ title: Name
+ type: string
+ minLength: 1
+ maxLength: 50
+ patches:
+ title: Patches
+ type: array
+ items:
+ type: integer
+ uniqueItems: true
+ public:
+ title: Public
+ type: boolean
+ 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
+ anyOf:
+ - type: object
+ additionalProperties:
+ type: array
+ items:
+ type: string
+ - type: object
+ additionalProperties:
+ type: string
+ readOnly: true
+ addressed:
+ title: Addressed
+ type: boolean
+ CommentUpdate:
+ type: object
+ properties:
+ addressed:
+ title: Addressed
+ type: boolean
+ CoverList:
+ 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
+ CoverDetail:
+ allOf:
+ - $ref: '#/components/schemas/CoverList'
+ - properties:
+ headers:
+ title: Headers
+ anyOf:
+ - type: object
+ additionalProperties:
+ type: array
+ items:
+ type: string
+ - type: object
+ additionalProperties:
+ 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
+ actor:
+ type: object
+ title: Actor
+ description: The user that caused/created this event.
+ readOnly: true
+ nullable: true
+ allOf:
+ - $ref: '#/components/schemas/UserEmbedded'
+ payload:
+ type: object
+ EventCoverCreated:
+ allOf:
+ - $ref: '#/components/schemas/EventBase'
+ - type: object
+ properties:
+ category:
+ enum:
+ - cover-created
+ payload:
+ properties:
+ cover:
+ $ref: '#/components/schemas/CoverEmbedded'
+ 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
+ EventPatchRelationChanged:
+ allOf:
+ - $ref: '#/components/schemas/EventBase'
+ - type: object
+ properties:
+ category:
+ enum:
+ - patch-relation-changed
+ payload:
+ properties:
+ patch:
+ $ref: '#/components/schemas/PatchEmbedded'
+ previous_relation:
+ title: Previous relation
+ type: string
+ nullable: true
+ current_relation:
+ title: Current relation
+ type: string
+ nullable: true
+ EventPatchDelegated:
+ allOf:
+ - $ref: '#/components/schemas/EventBase'
+ - type: object
+ properties:
+ category:
+ enum:
+ - patch-delegated
+ payload:
+ properties:
+ patch:
+ $ref: '#/components/schemas/PatchEmbedded'
+ previous_delegate:
+ $ref: '#/components/schemas/UserEmbedded'
+ current_delegate:
+ $ref: '#/components/schemas/UserEmbedded'
+ 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: object
+ additionalProperties:
+ type: string
+ readOnly: true
+ related:
+ title: Relations
+ type: array
+ items:
+ $ref: '#/components/schemas/PatchEmbedded'
+ PatchDetail:
+ allOf:
+ - $ref: '#/components/schemas/PatchList'
+ - properties:
+ headers:
+ title: Headers
+ anyOf:
+ - type: object
+ additionalProperties:
+ type: array
+ items:
+ type: string
+ - type: object
+ additionalProperties:
+ 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
+ related:
+ title: Relations
+ type: array
+ items:
+ type: integer
+ 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.
+ commit_url_format:
+ title: Web SCM URL format for a particular commit
+ type: string
+ 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/CoverEmbedded'
+ patches:
+ title: 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
+ UserDetail:
+ type: object
+ allOf:
+ - $ref: '#/components/schemas/User'
+ - type: object
+ properties:
+ settings:
+ type: object
+ properties:
+ send_email:
+ title: Send email
+ description: >
+ Whether Patchwork should send email on your behalf.
+ Only present and configurable for your account.
+ type: boolean
+ items_per_page:
+ title: Items per page
+ description: >
+ Number of items to display per page (web UI).
+ Only present and configurable for your account.
+ type: integer
+ show_ids:
+ title: Show IDs
+ description:
+ Show click-to-copy IDs in the list view (web UI).
+ Only present and configurable for your account.
+ type: boolean
+ 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
+ CoverEmbedded:
+ 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.
+ commit_url_format:
+ title: Web SCM URL format for a particular commit
+ type: string
+ readOnly: true
+ 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
+ nullable: true
+ 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
+ ErrorBundleCreateUpdate:
+ type: object
+ properties:
+ name:
+ title: Name
+ type: array
+ items:
+ type: string
+ readOnly: true
+ patches:
+ title: Patches
+ type: array
+ items:
+ type: string
+ readOnly: true
+ public:
+ title: Public
+ type: array
+ items:
+ type: string
+ ErrorCheckCreate:
+ type: object
+ properties:
+ state:
+ title: State
+ type: array
+ items:
+ type: string
+ readOnly: true
+ target_url:
+ title: Target URL
+ type: array
+ items:
+ type: string
+ readOnly: true
+ context:
+ title: Context
+ type: array
+ items:
+ type: string
+ readOnly: true
+ description:
+ title: Description
+ type: array
+ items:
+ type: string
+ readOnly: true
+ ErrorCommentUpdate:
+ type: object
+ properties:
+ addressed:
+ title: Addressed
+ type: array
+ items:
+ type: string
+ ErrorPatchUpdate:
+ type: object
+ properties:
+ state:
+ title: State
+ type: array
+ items:
+ type: string
+ readOnly: true
+ delegate:
+ title: Delegate
+ type: array
+ items:
+ type: string
+ readOnly: true
+ commit_ref:
+ title: Commit ref
+ type: array
+ items:
+ type: string
+ readOnly: true
+ archived:
+ title: Archived
+ type: array
+ items:
+ 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
--
2.33.0.rc2.250.ged5fa647cd-goog
More information about the Patchwork
mailing list