mirror of
https://codeberg.org/forgejo/forgejo.git
synced 2024-11-25 08:59:31 -05:00
API: enhance SearchIssues swagger docs (#32208)
this will result in better api clients generated out of the openapi docs ... for SearchIssues --- *Sponsored by Kithara Software GmbH* (cherry picked from commit d638067d3cb0a7f69b4d899f65b9be4940bd3e41)
This commit is contained in:
parent
f3f386545e
commit
f4c2c401ec
2 changed files with 73 additions and 36 deletions
|
@ -41,80 +41,93 @@ func SearchIssues(ctx *context.APIContext) {
|
||||||
// parameters:
|
// parameters:
|
||||||
// - name: state
|
// - name: state
|
||||||
// in: query
|
// in: query
|
||||||
// description: whether issue is open or closed
|
// description: State of the issue
|
||||||
// type: string
|
// type: string
|
||||||
|
// enum: [open, closed, all]
|
||||||
|
// default: open
|
||||||
// - name: labels
|
// - name: labels
|
||||||
// in: query
|
// in: query
|
||||||
// description: comma separated list of labels. Fetch only issues that have any of this labels. Non existent labels are discarded
|
// description: Comma-separated list of label names. Fetch only issues that have any of these labels. Non existent labels are discarded.
|
||||||
// type: string
|
// type: string
|
||||||
// - name: milestones
|
// - name: milestones
|
||||||
// in: query
|
// in: query
|
||||||
// description: comma separated list of milestone names. Fetch only issues that have any of this milestones. Non existent are discarded
|
// description: Comma-separated list of milestone names. Fetch only issues that have any of these milestones. Non existent milestones are discarded.
|
||||||
// type: string
|
// type: string
|
||||||
// - name: q
|
// - name: q
|
||||||
// in: query
|
// in: query
|
||||||
// description: search string
|
// description: Search string
|
||||||
// type: string
|
// type: string
|
||||||
// - name: priority_repo_id
|
// - name: priority_repo_id
|
||||||
// in: query
|
// in: query
|
||||||
// description: repository to prioritize in the results
|
// description: Repository ID to prioritize in the results
|
||||||
// type: integer
|
// type: integer
|
||||||
// format: int64
|
// format: int64
|
||||||
// - name: type
|
// - name: type
|
||||||
// in: query
|
// in: query
|
||||||
// description: filter by type (issues / pulls) if set
|
// description: Filter by issue type
|
||||||
// type: string
|
// type: string
|
||||||
|
// enum: [issues, pulls]
|
||||||
// - name: since
|
// - name: since
|
||||||
// in: query
|
// in: query
|
||||||
// description: Only show notifications updated after the given time. This is a timestamp in RFC 3339 format
|
// description: Only show issues updated after the given time (RFC 3339 format)
|
||||||
// type: string
|
// type: string
|
||||||
// format: date-time
|
// format: date-time
|
||||||
// required: false
|
|
||||||
// - name: before
|
// - name: before
|
||||||
// in: query
|
// in: query
|
||||||
// description: Only show notifications updated before the given time. This is a timestamp in RFC 3339 format
|
// description: Only show issues updated before the given time (RFC 3339 format)
|
||||||
// type: string
|
// type: string
|
||||||
// format: date-time
|
// format: date-time
|
||||||
// required: false
|
|
||||||
// - name: assigned
|
// - name: assigned
|
||||||
// in: query
|
// in: query
|
||||||
// description: filter (issues / pulls) assigned to you, default is false
|
// description: Filter issues or pulls assigned to the authenticated user
|
||||||
// type: boolean
|
// type: boolean
|
||||||
|
// default: false
|
||||||
// - name: created
|
// - name: created
|
||||||
// in: query
|
// in: query
|
||||||
// description: filter (issues / pulls) created by you, default is false
|
// description: Filter issues or pulls created by the authenticated user
|
||||||
// type: boolean
|
// type: boolean
|
||||||
|
// default: false
|
||||||
// - name: mentioned
|
// - name: mentioned
|
||||||
// in: query
|
// in: query
|
||||||
// description: filter (issues / pulls) mentioning you, default is false
|
// description: Filter issues or pulls mentioning the authenticated user
|
||||||
// type: boolean
|
// type: boolean
|
||||||
|
// default: false
|
||||||
// - name: review_requested
|
// - name: review_requested
|
||||||
// in: query
|
// in: query
|
||||||
// description: filter pulls requesting your review, default is false
|
// description: Filter pull requests where the authenticated user's review was requested
|
||||||
// type: boolean
|
// type: boolean
|
||||||
|
// default: false
|
||||||
// - name: reviewed
|
// - name: reviewed
|
||||||
// in: query
|
// in: query
|
||||||
// description: filter pulls reviewed by you, default is false
|
// description: Filter pull requests reviewed by the authenticated user
|
||||||
// type: boolean
|
// type: boolean
|
||||||
|
// default: false
|
||||||
// - name: owner
|
// - name: owner
|
||||||
// in: query
|
// in: query
|
||||||
// description: filter by owner
|
// description: Filter by repository owner
|
||||||
// type: string
|
// type: string
|
||||||
// - name: team
|
// - name: team
|
||||||
// in: query
|
// in: query
|
||||||
// description: filter by team (requires organization owner parameter to be provided)
|
// description: Filter by team (requires organization owner parameter)
|
||||||
// type: string
|
// type: string
|
||||||
// - name: page
|
// - name: page
|
||||||
// in: query
|
// in: query
|
||||||
// description: page number of results to return (1-based)
|
// description: Page number of results to return (1-based)
|
||||||
// type: integer
|
// type: integer
|
||||||
|
// minimum: 1
|
||||||
|
// default: 1
|
||||||
// - name: limit
|
// - name: limit
|
||||||
// in: query
|
// in: query
|
||||||
// description: page size of results
|
// description: Number of items per page
|
||||||
// type: integer
|
// type: integer
|
||||||
|
// minimum: 0
|
||||||
// responses:
|
// responses:
|
||||||
// "200":
|
// "200":
|
||||||
// "$ref": "#/responses/IssueList"
|
// "$ref": "#/responses/IssueList"
|
||||||
|
// "400":
|
||||||
|
// "$ref": "#/responses/error"
|
||||||
|
// "422":
|
||||||
|
// "$ref": "#/responses/validationError"
|
||||||
|
|
||||||
before, since, err := context.GetQueryBeforeSince(ctx.Base)
|
before, since, err := context.GetQueryBeforeSince(ctx.Base)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
|
58
templates/swagger/v1_json.tmpl
generated
58
templates/swagger/v1_json.tmpl
generated
|
@ -4196,107 +4196,125 @@
|
||||||
"operationId": "issueSearchIssues",
|
"operationId": "issueSearchIssues",
|
||||||
"parameters": [
|
"parameters": [
|
||||||
{
|
{
|
||||||
|
"enum": [
|
||||||
|
"open",
|
||||||
|
"closed",
|
||||||
|
"all"
|
||||||
|
],
|
||||||
"type": "string",
|
"type": "string",
|
||||||
"description": "whether issue is open or closed",
|
"default": "open",
|
||||||
|
"description": "State of the issue",
|
||||||
"name": "state",
|
"name": "state",
|
||||||
"in": "query"
|
"in": "query"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "string",
|
"type": "string",
|
||||||
"description": "comma separated list of labels. Fetch only issues that have any of this labels. Non existent labels are discarded",
|
"description": "Comma-separated list of label names. Fetch only issues that have any of these labels. Non existent labels are discarded.",
|
||||||
"name": "labels",
|
"name": "labels",
|
||||||
"in": "query"
|
"in": "query"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "string",
|
"type": "string",
|
||||||
"description": "comma separated list of milestone names. Fetch only issues that have any of this milestones. Non existent are discarded",
|
"description": "Comma-separated list of milestone names. Fetch only issues that have any of these milestones. Non existent milestones are discarded.",
|
||||||
"name": "milestones",
|
"name": "milestones",
|
||||||
"in": "query"
|
"in": "query"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "string",
|
"type": "string",
|
||||||
"description": "search string",
|
"description": "Search string",
|
||||||
"name": "q",
|
"name": "q",
|
||||||
"in": "query"
|
"in": "query"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "integer",
|
"type": "integer",
|
||||||
"format": "int64",
|
"format": "int64",
|
||||||
"description": "repository to prioritize in the results",
|
"description": "Repository ID to prioritize in the results",
|
||||||
"name": "priority_repo_id",
|
"name": "priority_repo_id",
|
||||||
"in": "query"
|
"in": "query"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
"enum": [
|
||||||
|
"issues",
|
||||||
|
"pulls"
|
||||||
|
],
|
||||||
"type": "string",
|
"type": "string",
|
||||||
"description": "filter by type (issues / pulls) if set",
|
"description": "Filter by issue type",
|
||||||
"name": "type",
|
"name": "type",
|
||||||
"in": "query"
|
"in": "query"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "string",
|
"type": "string",
|
||||||
"format": "date-time",
|
"format": "date-time",
|
||||||
"description": "Only show notifications updated after the given time. This is a timestamp in RFC 3339 format",
|
"description": "Only show issues updated after the given time (RFC 3339 format)",
|
||||||
"name": "since",
|
"name": "since",
|
||||||
"in": "query"
|
"in": "query"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "string",
|
"type": "string",
|
||||||
"format": "date-time",
|
"format": "date-time",
|
||||||
"description": "Only show notifications updated before the given time. This is a timestamp in RFC 3339 format",
|
"description": "Only show issues updated before the given time (RFC 3339 format)",
|
||||||
"name": "before",
|
"name": "before",
|
||||||
"in": "query"
|
"in": "query"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "boolean",
|
"type": "boolean",
|
||||||
"description": "filter (issues / pulls) assigned to you, default is false",
|
"default": false,
|
||||||
|
"description": "Filter issues or pulls assigned to the authenticated user",
|
||||||
"name": "assigned",
|
"name": "assigned",
|
||||||
"in": "query"
|
"in": "query"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "boolean",
|
"type": "boolean",
|
||||||
"description": "filter (issues / pulls) created by you, default is false",
|
"default": false,
|
||||||
|
"description": "Filter issues or pulls created by the authenticated user",
|
||||||
"name": "created",
|
"name": "created",
|
||||||
"in": "query"
|
"in": "query"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "boolean",
|
"type": "boolean",
|
||||||
"description": "filter (issues / pulls) mentioning you, default is false",
|
"default": false,
|
||||||
|
"description": "Filter issues or pulls mentioning the authenticated user",
|
||||||
"name": "mentioned",
|
"name": "mentioned",
|
||||||
"in": "query"
|
"in": "query"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "boolean",
|
"type": "boolean",
|
||||||
"description": "filter pulls requesting your review, default is false",
|
"default": false,
|
||||||
|
"description": "Filter pull requests where the authenticated user's review was requested",
|
||||||
"name": "review_requested",
|
"name": "review_requested",
|
||||||
"in": "query"
|
"in": "query"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "boolean",
|
"type": "boolean",
|
||||||
"description": "filter pulls reviewed by you, default is false",
|
"default": false,
|
||||||
|
"description": "Filter pull requests reviewed by the authenticated user",
|
||||||
"name": "reviewed",
|
"name": "reviewed",
|
||||||
"in": "query"
|
"in": "query"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "string",
|
"type": "string",
|
||||||
"description": "filter by owner",
|
"description": "Filter by repository owner",
|
||||||
"name": "owner",
|
"name": "owner",
|
||||||
"in": "query"
|
"in": "query"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "string",
|
"type": "string",
|
||||||
"description": "filter by team (requires organization owner parameter to be provided)",
|
"description": "Filter by team (requires organization owner parameter)",
|
||||||
"name": "team",
|
"name": "team",
|
||||||
"in": "query"
|
"in": "query"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
"minimum": 1,
|
||||||
"type": "integer",
|
"type": "integer",
|
||||||
"description": "page number of results to return (1-based)",
|
"default": 1,
|
||||||
|
"description": "Page number of results to return (1-based)",
|
||||||
"name": "page",
|
"name": "page",
|
||||||
"in": "query"
|
"in": "query"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
"minimum": 0,
|
||||||
"type": "integer",
|
"type": "integer",
|
||||||
"description": "page size of results",
|
"description": "Number of items per page",
|
||||||
"name": "limit",
|
"name": "limit",
|
||||||
"in": "query"
|
"in": "query"
|
||||||
}
|
}
|
||||||
|
@ -4304,6 +4322,12 @@
|
||||||
"responses": {
|
"responses": {
|
||||||
"200": {
|
"200": {
|
||||||
"$ref": "#/responses/IssueList"
|
"$ref": "#/responses/IssueList"
|
||||||
|
},
|
||||||
|
"400": {
|
||||||
|
"$ref": "#/responses/error"
|
||||||
|
},
|
||||||
|
"422": {
|
||||||
|
"$ref": "#/responses/validationError"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue