2017-05-02 19:05:59 +05:30
{
"consumes": [
"application/json",
"text/plain"
],
"produces": [
"application/json",
"text/html"
],
"schemes": [
"http",
"https"
],
"swagger": "2.0",
"info": {
2017-11-13 12:32:25 +05:30
"description": "This documentation describes the Gitea API.",
2017-05-02 19:05:59 +05:30
"title": "Gitea API.",
"license": {
"name": "MIT",
"url": "http://opensource.org/licenses/MIT"
},
2021-03-12 10:13:04 +05:30
"version": " {{ AppVer | JSEscape | Safe }} "
2017-05-02 19:05:59 +05:30
},
2021-03-12 10:13:04 +05:30
"basePath": " {{ AppSubUrl | JSEscape | Safe }} /api/v1",
2017-05-02 19:05:59 +05:30
"paths": {
User keypairs and HTTP signatures for ActivityPub federation using go-ap (#19133)
* go.mod: add go-fed/{httpsig,activity/pub,activity/streams} dependency
go get github.com/go-fed/activity/streams@master
go get github.com/go-fed/activity/pub@master
go get github.com/go-fed/httpsig@master
* activitypub: implement /api/v1/activitypub/user/{username} (#14186)
Return informations regarding a Person (as defined in ActivityStreams
https://www.w3.org/TR/activitystreams-vocabulary/#dfn-person).
Refs: https://github.com/go-gitea/gitea/issues/14186
Signed-off-by: Loïc Dachary <loic@dachary.org>
* activitypub: add the public key to Person (#14186)
Refs: https://github.com/go-gitea/gitea/issues/14186
Signed-off-by: Loïc Dachary <loic@dachary.org>
* activitypub: go-fed conformant Clock instance
Signed-off-by: Loïc Dachary <loic@dachary.org>
* activitypub: signing http client
Signed-off-by: Loïc Dachary <loic@dachary.org>
* activitypub: implement the ReqSignature middleware
Signed-off-by: Loïc Dachary <loic@dachary.org>
* activitypub: hack_16834
Signed-off-by: Loïc Dachary <loic@dachary.org>
* Fix CI checks-backend errors with go mod tidy
Signed-off-by: Anthony Wang <ta180m@pm.me>
* Change 2021 to 2022, properly format package imports
Signed-off-by: Anthony Wang <ta180m@pm.me>
* Run make fmt and make generate-swagger
Signed-off-by: Anthony Wang <ta180m@pm.me>
* Use Gitea JSON library, add assert for pkp
Signed-off-by: Anthony Wang <ta180m@pm.me>
* Run make fmt again, fix err var redeclaration
Signed-off-by: Anthony Wang <ta180m@pm.me>
* Remove LogSQL from ActivityPub person test
Signed-off-by: Anthony Wang <ta180m@pm.me>
* Assert if json.Unmarshal succeeds
Signed-off-by: Anthony Wang <ta180m@pm.me>
* Cleanup, handle invalid usernames for ActivityPub person GET request
Signed-off-by: Anthony Wang <ta180m@pm.me>
* Rename hack_16834 to user_settings
Signed-off-by: Anthony Wang <ta180m@pm.me>
* Use the httplib module instead of http for GET requests
* Clean up whitespace with make fmt
* Use time.RFC1123 and make the http.Client proxy-aware
* Check if digest algo is supported in setting module
* Clean up some variable declarations
* Remove unneeded copy
* Use system timezone instead of setting.DefaultUILocation
* Use named constant for httpsigExpirationTime
* Make pubKey IRI #main-key instead of /#main-key
* Move /#main-key to #main-key in tests
* Implemented Webfinger endpoint.
* Add visible check.
* Add user profile as alias.
* Add actor IRI and remote interaction URL to WebFinger response
* fmt
* Fix lint errors
* Use go-ap instead of go-fed
* Run go mod tidy to fix missing modules in go.mod and go.sum
* make fmt
* Convert remaining code to go-ap
* Clean up go.sum
* Fix JSON unmarshall error
* Fix CI errors by adding @context to Person() and making sure types match
* Correctly decode JSON in api_activitypub_person_test.go
* Force CI rerun
* Fix TestActivityPubPersonInbox segfault
* Fix lint error
* Use @mariusor's suggestions for idiomatic go-ap usage
* Correctly add inbox/outbox IRIs to person
* Code cleanup
* Remove another LogSQL from ActivityPub person test
* Move httpsig algos slice to an init() function
* Add actor IRI and remote interaction URL to WebFinger response
* Update TestWebFinger to check for ActivityPub IRI in aliases
* make fmt
* Force CI rerun
* WebFinger: Add CORS header and fix Href -> Template for remote interactions
The CORS header is needed due to https://datatracker.ietf.org/doc/html/rfc7033#section-5 and fixes some Peertube <-> Gitea federation issues
* make lint-backend
* Make sure Person endpoint has Content-Type application/activity+json and includes PreferredUsername, URL, and Icon
Setting the correct Content-Type is essential for federating with Mastodon
* Use UTC instead of GMT
* Rename pkey to pubKey
* Make sure HTTP request Date in GMT
* make fmt
* dont drop err
* Make sure API responses always refer to username in original case
Copied from what I wrote on #19133 discussion: Handling username case is a very tricky issue and I've already encountered a Mastodon <-> Gitea federation bug due to Gitea considering Ta180m and ta180m to be the same user while Mastodon thinks they are two different users. I think the best way forward is for Gitea to only use the original case version of the username for federation so other AP software don't get confused.
* Move httpsig algs constant slice to modules/setting/federation.go
* Add new federation settings to app.example.ini and config-cheat-sheet
* Return if marshalling error
* Make sure Person IRIs are generated correctly
This commit ensures that if the setting.AppURL is something like "http://127.0.0.1:42567" (like in the integration tests), a trailing slash will be added after that URL.
* If httpsig verification fails, fix Host header and try again
This fixes a very rare bug when Gitea and another AP server (confirmed to happen with Mastodon) are running on the same machine, Gitea fails to verify incoming HTTP signatures. This is because the other AP server creates the sig with the public Gitea domain as the Host. However, when Gitea receives the request, the Host header is instead localhost, so the signature verification fails. Manually changing the host header to the correct value and trying the veification again fixes the bug.
* Revert "If httpsig verification fails, fix Host header and try again"
This reverts commit f53e46c721a037c55facb9200106a6b491bf834c.
The bug was actually caused by nginx messing up the Host header when reverse-proxying since I didn't have the line `proxy_set_header Host $host;` in my nginx config for Gitea.
* Go back to using ap.IRI to generate inbox and outbox IRIs
* use const for key values
* Update routers/web/webfinger.go
* Use ctx.JSON in Person response to make code cleaner
* Revert "Use ctx.JSON in Person response to make code cleaner"
This doesn't work because the ctx.JSON() function already sends the response out and it's too late to edit the headers.
This reverts commit 95aad988975be3393c76094864ed6ba962157e0c.
* Use activitypub.ActivityStreamsContentType for Person response Content Type
* Limit maximum ActivityPub request and response sizes to a configurable setting
* Move setting key constants to models/user/setting_keys.go
* Fix failing ActivityPubPerson integration test by checking the correct field for username
* Add a warning about changing settings that can break federation
* Add better comments
* Don't multiply Federation.MaxSize by 1<<20 twice
* Add more better comments
* Fix failing ActivityPubMissingPerson test
We now use ctx.ContextUser so the message printed out when a user does not exist is slightly different
* make generate-swagger
For some reason I didn't realize that /templates/swagger/v1_json.tmpl was machine-generated by make generate-swagger... I've been editing it by hand for three months! 🤦
* Move getting the RFC 2616 time to a separate function
* More code cleanup
* Update go-ap to fix empty liked collection and removed unneeded HTTP headers
* go mod tidy
* Add ed25519 to httpsig algorithms
* Use go-ap/jsonld to add @context and marshal JSON
* Change Gitea user agent from the default to Gitea/Version
* Use ctx.ServerError and remove all remote interaction code from webfinger.go
2022-06-19 10:55:12 +05:30
"/activitypub/user/ { username}": {
"get": {
"produces": [
"application/json"
],
"tags": [
"activitypub"
],
"summary": "Returns the Person actor for a user",
"operationId": "activitypubPerson",
"parameters": [
{
"type": "string",
"description": "username of the user",
"name": "username",
"in": "path",
"required": true
}
],
"responses": {
"200": {
"$ref": "#/responses/ActivityPub"
}
}
}
},
"/activitypub/user/ { username}/inbox": {
"post": {
"produces": [
"application/json"
],
"tags": [
"activitypub"
],
"summary": "Send to the inbox",
"operationId": "activitypubPersonInbox",
"parameters": [
{
"type": "string",
"description": "username of the user",
"name": "username",
"in": "path",
"required": true
}
],
"responses": {
"204": {
"$ref": "#/responses/empty"
}
}
}
},
2020-08-24 21:18:15 +05:30
"/admin/cron": {
"get": {
"produces": [
"application/json"
],
"tags": [
"admin"
],
"summary": "List cron tasks",
"operationId": "adminCronList",
"parameters": [
{
"type": "integer",
"description": "page number of results to return (1-based)",
"name": "page",
"in": "query"
},
{
"type": "integer",
"description": "page size of results",
"name": "limit",
"in": "query"
}
],
"responses": {
"200": {
"$ref": "#/responses/CronList"
},
"403": {
"$ref": "#/responses/forbidden"
}
}
}
},
"/admin/cron/ { task}": {
"post": {
"produces": [
"application/json"
],
"tags": [
"admin"
],
"summary": "Run cron task",
"operationId": "adminCronRun",
"parameters": [
{
"type": "string",
"description": "task to run",
"name": "task",
"in": "path",
"required": true
}
],
"responses": {
"204": {
"$ref": "#/responses/empty"
},
"404": {
"$ref": "#/responses/notFound"
}
}
}
},
2019-01-24 04:00:19 +05:30
"/admin/orgs": {
"get": {
"produces": [
"application/json"
],
"tags": [
"admin"
],
"summary": "List all organizations",
"operationId": "adminGetAllOrgs",
2019-08-05 00:03:36 +05:30
"parameters": [
{
"type": "integer",
"description": "page number of results to return (1-based)",
"name": "page",
"in": "query"
},
{
"type": "integer",
2020-06-09 10:27:38 +05:30
"description": "page size of results",
2019-08-05 00:03:36 +05:30
"name": "limit",
"in": "query"
}
],
2019-01-24 04:00:19 +05:30
"responses": {
"200": {
"$ref": "#/responses/OrganizationList"
},
"403": {
"$ref": "#/responses/forbidden"
}
}
}
},
2020-09-25 09:39:23 +05:30
"/admin/unadopted": {
"get": {
"produces": [
"application/json"
],
"tags": [
"admin"
],
"summary": "List unadopted repositories",
"operationId": "adminUnadoptedList",
"parameters": [
{
"type": "integer",
"description": "page number of results to return (1-based)",
"name": "page",
"in": "query"
},
{
"type": "integer",
"description": "page size of results",
"name": "limit",
"in": "query"
},
{
"type": "string",
"description": "pattern of repositories to search for",
"name": "pattern",
"in": "query"
}
],
"responses": {
"200": {
"$ref": "#/responses/StringSlice"
},
"403": {
"$ref": "#/responses/forbidden"
}
}
}
},
"/admin/unadopted/ { owner}/ { repo}": {
"post": {
"produces": [
"application/json"
],
"tags": [
"admin"
],
"summary": "Adopt unadopted files as a repository",
"operationId": "adminAdoptRepository",
"parameters": [
{
"type": "string",
"description": "owner of the repo",
"name": "owner",
"in": "path",
"required": true
},
{
"type": "string",
"description": "name of the repo",
"name": "repo",
"in": "path",
"required": true
}
],
"responses": {
"204": {
"$ref": "#/responses/empty"
},
"403": {
"$ref": "#/responses/forbidden"
},
"404": {
"$ref": "#/responses/notFound"
}
}
},
"delete": {
"produces": [
"application/json"
],
"tags": [
"admin"
],
"summary": "Delete unadopted files",
"operationId": "adminDeleteUnadoptedRepository",
"parameters": [
{
"type": "string",
"description": "owner of the repo",
"name": "owner",
"in": "path",
"required": true
},
{
"type": "string",
"description": "name of the repo",
"name": "repo",
"in": "path",
"required": true
}
],
"responses": {
"204": {
"$ref": "#/responses/empty"
},
"403": {
"$ref": "#/responses/forbidden"
}
}
}
},
2017-08-21 16:43:47 +05:30
"/admin/users": {
2019-01-24 04:00:19 +05:30
"get": {
"produces": [
"application/json"
],
"tags": [
"admin"
],
"summary": "List all users",
"operationId": "adminGetAllUsers",
2020-01-25 00:30:29 +05:30
"parameters": [
{
"type": "integer",
"description": "page number of results to return (1-based)",
"name": "page",
"in": "query"
},
{
"type": "integer",
2020-06-09 10:27:38 +05:30
"description": "page size of results",
2020-01-25 00:30:29 +05:30
"name": "limit",
"in": "query"
}
],
2019-01-24 04:00:19 +05:30
"responses": {
"200": {
"$ref": "#/responses/UserList"
},
"403": {
"$ref": "#/responses/forbidden"
}
}
},
2017-05-02 19:05:59 +05:30
"post": {
"consumes": [
"application/json"
],
"produces": [
2017-08-21 16:43:47 +05:30
"application/json"
2017-05-02 19:05:59 +05:30
],
2017-08-21 16:43:47 +05:30
"tags": [
"admin"
],
2017-11-13 12:32:25 +05:30
"summary": "Create a user",
2017-08-21 16:43:47 +05:30
"operationId": "adminCreateUser",
2017-05-02 19:05:59 +05:30
"parameters": [
{
2017-11-13 12:32:25 +05:30
"name": "body",
2017-08-21 16:43:47 +05:30
"in": "body",
"schema": {
2017-11-13 12:32:25 +05:30
"$ref": "#/definitions/CreateUserOption"
2017-08-21 16:43:47 +05:30
}
}
],
"responses": {
"201": {
"$ref": "#/responses/User"
},
2019-12-20 22:37:12 +05:30
"400": {
"$ref": "#/responses/error"
},
2017-08-21 16:43:47 +05:30
"403": {
"$ref": "#/responses/forbidden"
},
"422": {
"$ref": "#/responses/validationError"
}
}
}
},
"/admin/users/ { username}": {
"delete": {
"produces": [
"application/json"
],
"tags": [
"admin"
],
2017-11-13 12:32:25 +05:30
"summary": "Delete a user",
2017-08-21 16:43:47 +05:30
"operationId": "adminDeleteUser",
2017-11-13 12:32:25 +05:30
"parameters": [
{
"type": "string",
"description": "username of user to delete",
"name": "username",
"in": "path",
"required": true
}
],
2017-08-21 16:43:47 +05:30
"responses": {
"204": {
"$ref": "#/responses/empty"
},
"403": {
"$ref": "#/responses/forbidden"
},
"422": {
"$ref": "#/responses/validationError"
}
}
},
"patch": {
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"admin"
],
2017-11-13 12:32:25 +05:30
"summary": "Edit an existing user",
2017-08-21 16:43:47 +05:30
"operationId": "adminEditUser",
"parameters": [
{
2017-11-13 12:32:25 +05:30
"type": "string",
"description": "username of user to edit",
"name": "username",
"in": "path",
"required": true
2017-08-21 16:43:47 +05:30
},
{
2017-11-13 12:32:25 +05:30
"name": "body",
2017-08-21 16:43:47 +05:30
"in": "body",
"schema": {
2017-11-13 12:32:25 +05:30
"$ref": "#/definitions/EditUserOption"
2017-08-21 16:43:47 +05:30
}
2017-05-02 19:05:59 +05:30
}
],
"responses": {
"200": {
2017-08-21 16:43:47 +05:30
"$ref": "#/responses/User"
},
"403": {
"$ref": "#/responses/forbidden"
2017-05-02 19:05:59 +05:30
},
"422": {
"$ref": "#/responses/validationError"
}
}
}
},
2017-08-21 16:43:47 +05:30
"/admin/users/ { username}/keys": {
2017-05-02 19:05:59 +05:30
"post": {
"consumes": [
2017-08-21 16:43:47 +05:30
"application/json"
2017-05-02 19:05:59 +05:30
],
"produces": [
2017-08-21 16:43:47 +05:30
"application/json"
],
"tags": [
"admin"
],
2017-11-13 12:32:25 +05:30
"summary": "Add a public key on behalf of a user",
2017-08-21 16:43:47 +05:30
"operationId": "adminCreatePublicKey",
"parameters": [
{
2017-11-13 12:32:25 +05:30
"type": "string",
"description": "username of the user",
"name": "username",
"in": "path",
"required": true
2018-10-21 09:10:42 +05:30
},
{
"name": "key",
"in": "body",
"schema": {
"$ref": "#/definitions/CreateKeyOption"
}
2017-08-21 16:43:47 +05:30
}
2017-05-02 19:05:59 +05:30
],
"responses": {
2017-08-21 16:43:47 +05:30
"201": {
"$ref": "#/responses/PublicKey"
},
"403": {
"$ref": "#/responses/forbidden"
},
"422": {
"$ref": "#/responses/validationError"
}
}
}
},
2017-12-06 15:57:10 +05:30
"/admin/users/ { username}/keys/ { id}": {
"delete": {
"produces": [
"application/json"
],
"tags": [
"admin"
],
"summary": "Delete a user's public key",
"operationId": "adminDeleteUserPublicKey",
"parameters": [
{
"type": "string",
"description": "username of user",
"name": "username",
"in": "path",
"required": true
},
{
"type": "integer",
2018-10-21 09:10:42 +05:30
"format": "int64",
2017-12-06 15:57:10 +05:30
"description": "id of the key to delete",
"name": "id",
"in": "path",
"required": true
}
],
"responses": {
"204": {
"$ref": "#/responses/empty"
},
"403": {
"$ref": "#/responses/forbidden"
},
"404": {
"$ref": "#/responses/notFound"
}
}
}
},
2017-08-21 16:43:47 +05:30
"/admin/users/ { username}/orgs": {
"post": {
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"admin"
],
2017-11-13 12:32:25 +05:30
"summary": "Create an organization",
2017-08-21 16:43:47 +05:30
"operationId": "adminCreateOrg",
"parameters": [
{
2017-11-13 12:32:25 +05:30
"type": "string",
"description": "username of the user that will own the created organization",
2017-08-21 16:43:47 +05:30
"name": "username",
2017-11-13 12:32:25 +05:30
"in": "path",
"required": true
2018-10-21 09:10:42 +05:30
},
{
"name": "organization",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/CreateOrgOption"
}
2017-08-21 16:43:47 +05:30
}
],
"responses": {
"201": {
"$ref": "#/responses/Organization"
},
"403": {
"$ref": "#/responses/forbidden"
2017-05-02 19:05:59 +05:30
},
"422": {
"$ref": "#/responses/validationError"
}
}
}
},
2017-08-21 16:43:47 +05:30
"/admin/users/ { username}/repos": {
2017-05-02 19:05:59 +05:30
"post": {
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
2017-08-21 16:43:47 +05:30
"tags": [
"admin"
],
2020-01-29 00:15:39 +05:30
"summary": "Create a repository on behalf of a user",
2017-08-21 16:43:47 +05:30
"operationId": "adminCreateRepo",
2017-05-02 19:05:59 +05:30
"parameters": [
{
2017-11-13 12:32:25 +05:30
"type": "string",
"description": "username of the user. This user will own the created repository",
"name": "username",
"in": "path",
"required": true
2018-10-21 09:10:42 +05:30
},
{
"name": "repository",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/CreateRepoOption"
}
2017-05-02 19:05:59 +05:30
}
],
"responses": {
"201": {
"$ref": "#/responses/Repository"
},
"403": {
"$ref": "#/responses/forbidden"
},
2019-12-20 22:37:12 +05:30
"404": {
"$ref": "#/responses/notFound"
},
"409": {
"$ref": "#/responses/error"
},
2017-05-02 19:05:59 +05:30
"422": {
"$ref": "#/responses/validationError"
}
}
}
},
2017-08-21 16:43:47 +05:30
"/markdown": {
"post": {
"consumes": [
"application/json"
],
"produces": [
"text/html"
],
"tags": [
"miscellaneous"
],
2017-11-13 12:32:25 +05:30
"summary": "Render a markdown document as HTML",
2017-08-21 16:43:47 +05:30
"operationId": "renderMarkdown",
"parameters": [
{
2017-11-13 12:32:25 +05:30
"name": "body",
2017-08-21 16:43:47 +05:30
"in": "body",
"schema": {
2017-11-13 12:32:25 +05:30
"$ref": "#/definitions/MarkdownOption"
2017-08-21 16:43:47 +05:30
}
}
],
"responses": {
"200": {
"$ref": "#/responses/MarkdownRender"
},
"422": {
"$ref": "#/responses/validationError"
}
}
}
},
"/markdown/raw": {
"post": {
"consumes": [
"text/plain"
],
"produces": [
"text/html"
],
"tags": [
"miscellaneous"
],
2017-11-13 12:32:25 +05:30
"summary": "Render raw markdown as HTML",
2017-08-21 16:43:47 +05:30
"operationId": "renderMarkdownRaw",
2017-11-13 12:32:25 +05:30
"parameters": [
{
2018-06-12 20:29:22 +05:30
"description": "Request body to render",
2017-11-13 12:32:25 +05:30
"name": "body",
2018-06-12 20:29:22 +05:30
"in": "body",
"required": true,
"schema": {
"type": "string"
}
2017-11-13 12:32:25 +05:30
}
],
2017-08-21 16:43:47 +05:30
"responses": {
"200": {
"$ref": "#/responses/MarkdownRender"
},
"422": {
"$ref": "#/responses/validationError"
}
}
}
},
2021-09-28 05:08:06 +05:30
"/nodeinfo": {
"get": {
"produces": [
"application/json"
],
"tags": [
"miscellaneous"
],
"summary": "Returns the nodeinfo of the Gitea application",
"operationId": "getNodeInfo",
"responses": {
"200": {
"$ref": "#/responses/NodeInfo"
}
}
}
},
2020-01-09 17:26:32 +05:30
"/notifications": {
"get": {
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"notification"
],
"summary": "List users's notification threads",
"operationId": "notifyGetList",
"parameters": [
{
2021-06-17 19:32:34 +05:30
"type": "boolean",
2020-01-09 17:26:32 +05:30
"description": "If true, show notifications marked as read. Default value is false",
"name": "all",
"in": "query"
},
2020-07-12 03:16:01 +05:30
{
"type": "array",
"items": {
"type": "string"
},
"collectionFormat": "multi",
"description": "Show notifications with the provided status types. Options are: unread, read and/or pinned. Defaults to unread \u0026 pinned.",
"name": "status-types",
"in": "query"
},
2021-06-16 22:34:37 +05:30
{
"type": "array",
"items": {
"enum": [
"issue",
"pull",
"commit",
"repository"
],
"type": "string"
},
"collectionFormat": "multi",
"description": "filter notifications by subject type",
"name": "subject-type",
"in": "query"
},
2020-01-09 17:26:32 +05:30
{
"type": "string",
"format": "date-time",
"description": "Only show notifications updated after the given time. This is a timestamp in RFC 3339 format",
"name": "since",
"in": "query"
},
{
"type": "string",
"format": "date-time",
"description": "Only show notifications updated before the given time. This is a timestamp in RFC 3339 format",
"name": "before",
"in": "query"
2020-01-25 00:30:29 +05:30
},
{
"type": "integer",
"description": "page number of results to return (1-based)",
"name": "page",
"in": "query"
},
{
"type": "integer",
2020-06-09 10:27:38 +05:30
"description": "page size of results",
2020-01-25 00:30:29 +05:30
"name": "limit",
"in": "query"
2020-01-09 17:26:32 +05:30
}
],
"responses": {
"200": {
"$ref": "#/responses/NotificationThreadList"
}
}
},
"put": {
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"notification"
],
2020-07-12 03:16:01 +05:30
"summary": "Mark notification threads as read, pinned or unread",
2020-01-09 17:26:32 +05:30
"operationId": "notifyReadList",
"parameters": [
{
"type": "string",
"format": "date-time",
"description": "Describes the last point that notifications were checked. Anything updated since this time will not be updated.",
"name": "last_read_at",
"in": "query"
2020-07-12 03:16:01 +05:30
},
{
"type": "string",
"description": "If true, mark all notifications on this repo. Default value is false",
"name": "all",
"in": "query"
},
{
"type": "array",
"items": {
"type": "string"
},
"collectionFormat": "multi",
"description": "Mark notifications with the provided status types. Options are: unread, read and/or pinned. Defaults to unread.",
"name": "status-types",
"in": "query"
},
{
"type": "string",
"description": "Status to mark notifications as, Defaults to read.",
"name": "to-status",
"in": "query"
2020-01-09 17:26:32 +05:30
}
],
"responses": {
"205": {
2021-09-18 05:10:50 +05:30
"$ref": "#/responses/NotificationThreadList"
2020-01-09 17:26:32 +05:30
}
}
}
},
2020-01-14 21:07:19 +05:30
"/notifications/new": {
"get": {
"tags": [
"notification"
],
"summary": "Check if unread notifications exist",
"operationId": "notifyNewAvailable",
"responses": {
"200": {
"$ref": "#/responses/NotificationCount"
}
}
}
},
2020-01-09 17:26:32 +05:30
"/notifications/threads/ { id}": {
"get": {
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"notification"
],
"summary": "Get notification thread by ID",
"operationId": "notifyGetThread",
"parameters": [
{
"type": "string",
"description": "id of notification thread",
"name": "id",
"in": "path",
"required": true
}
],
"responses": {
"200": {
"$ref": "#/responses/NotificationThread"
},
"403": {
"$ref": "#/responses/forbidden"
},
"404": {
"$ref": "#/responses/notFound"
}
}
},
"patch": {
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"notification"
],
"summary": "Mark notification thread as read by ID",
"operationId": "notifyReadThread",
"parameters": [
{
"type": "string",
"description": "id of notification thread",
"name": "id",
"in": "path",
"required": true
2020-07-12 03:16:01 +05:30
},
{
"type": "string",
"default": "read",
"description": "Status to mark notifications as",
"name": "to-status",
"in": "query"
2020-01-09 17:26:32 +05:30
}
],
"responses": {
"205": {
2021-09-18 05:10:50 +05:30
"$ref": "#/responses/NotificationThread"
2020-01-09 17:26:32 +05:30
},
"403": {
"$ref": "#/responses/forbidden"
},
"404": {
"$ref": "#/responses/notFound"
}
}
}
},
2017-08-21 16:43:47 +05:30
"/org/ { org}/repos": {
"post": {
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"organization"
],
2017-11-13 12:32:25 +05:30
"summary": "Create a repository in an organization",
2020-01-09 22:10:01 +05:30
"operationId": "createOrgRepoDeprecated",
"deprecated": true,
2017-08-21 16:43:47 +05:30
"parameters": [
{
2017-11-13 12:32:25 +05:30
"type": "string",
"description": "name of organization",
"name": "org",
"in": "path",
"required": true
2017-08-21 16:43:47 +05:30
},
{
2017-11-13 12:32:25 +05:30
"name": "body",
2017-08-21 16:43:47 +05:30
"in": "body",
"schema": {
2017-11-13 12:32:25 +05:30
"$ref": "#/definitions/CreateRepoOption"
2017-08-21 16:43:47 +05:30
}
}
],
"responses": {
"201": {
"$ref": "#/responses/Repository"
},
"403": {
"$ref": "#/responses/forbidden"
},
"422": {
"$ref": "#/responses/validationError"
}
}
}
},
2018-11-20 23:01:30 +05:30
"/orgs": {
2020-01-12 21:13:44 +05:30
"get": {
"produces": [
"application/json"
],
"tags": [
"organization"
],
"summary": "Get list of organizations",
"operationId": "orgGetAll",
"parameters": [
{
"type": "integer",
"description": "page number of results to return (1-based)",
"name": "page",
"in": "query"
},
{
"type": "integer",
2020-06-09 10:27:38 +05:30
"description": "page size of results",
2020-01-12 21:13:44 +05:30
"name": "limit",
"in": "query"
}
],
"responses": {
"200": {
"$ref": "#/responses/OrganizationList"
}
}
},
2018-11-20 23:01:30 +05:30
"post": {
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"organization"
],
"summary": "Create an organization",
"operationId": "orgCreate",
"parameters": [
{
"name": "organization",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/CreateOrgOption"
}
}
],
"responses": {
"201": {
"$ref": "#/responses/Organization"
},
"403": {
"$ref": "#/responses/forbidden"
},
"422": {
"$ref": "#/responses/validationError"
}
}
}
},
2017-11-13 12:32:25 +05:30
"/orgs/ { org}": {
2017-08-21 16:43:47 +05:30
"get": {
"produces": [
"application/json"
],
"tags": [
"organization"
],
2017-11-13 12:32:25 +05:30
"summary": "Get an organization",
"operationId": "orgGet",
"parameters": [
{
"type": "string",
"description": "name of the organization to get",
"name": "org",
"in": "path",
"required": true
}
],
2017-08-21 16:43:47 +05:30
"responses": {
"200": {
2017-11-13 12:32:25 +05:30
"$ref": "#/responses/Organization"
2017-08-21 16:43:47 +05:30
}
}
2017-11-13 12:32:25 +05:30
},
2018-12-27 21:06:58 +05:30
"delete": {
"produces": [
"application/json"
],
"tags": [
"organization"
],
"summary": "Delete an organization",
"operationId": "orgDelete",
"parameters": [
{
"type": "string",
"description": "organization that is to be deleted",
"name": "org",
"in": "path",
"required": true
}
],
"responses": {
"204": {
"$ref": "#/responses/empty"
}
}
},
2017-11-13 12:32:25 +05:30
"patch": {
2017-08-21 16:43:47 +05:30
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"organization"
],
2017-11-13 12:32:25 +05:30
"summary": "Edit an organization",
"operationId": "orgEdit",
2017-08-21 16:43:47 +05:30
"parameters": [
{
2017-11-13 12:32:25 +05:30
"type": "string",
"description": "name of the organization to edit",
"name": "org",
"in": "path",
"required": true
2017-08-21 16:43:47 +05:30
},
{
2017-11-13 12:32:25 +05:30
"name": "body",
2017-08-21 16:43:47 +05:30
"in": "body",
2019-05-30 23:27:55 +05:30
"required": true,
2017-08-21 16:43:47 +05:30
"schema": {
2017-11-13 12:32:25 +05:30
"$ref": "#/definitions/EditOrgOption"
2017-08-21 16:43:47 +05:30
}
}
],
2017-11-13 12:32:25 +05:30
"responses": {
"200": {
"$ref": "#/responses/Organization"
}
}
}
},
"/orgs/ { org}/hooks": {
"get": {
"produces": [
"application/json"
],
"tags": [
"organization"
],
"summary": "List an organization's webhooks",
"operationId": "orgListHooks",
2018-06-12 20:29:22 +05:30
"parameters": [
{
"type": "string",
"description": "name of the organization",
"name": "org",
"in": "path",
"required": true
2020-01-25 00:30:29 +05:30
},
{
"type": "integer",
"description": "page number of results to return (1-based)",
"name": "page",
"in": "query"
},
{
"type": "integer",
2020-06-09 10:27:38 +05:30
"description": "page size of results",
2020-01-25 00:30:29 +05:30
"name": "limit",
"in": "query"
2018-06-12 20:29:22 +05:30
}
],
2017-11-13 12:32:25 +05:30
"responses": {
"200": {
"$ref": "#/responses/HookList"
}
}
2022-07-12 04:37:16 +05:30
},
2017-11-13 12:32:25 +05:30
"post": {
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"organization"
],
"summary": "Create a hook",
"operationId": "orgCreateHook",
2018-06-12 20:29:22 +05:30
"parameters": [
{
"type": "string",
"description": "name of the organization",
"name": "org",
"in": "path",
"required": true
2018-10-21 09:10:42 +05:30
},
{
"name": "body",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/CreateHookOption"
}
2018-06-12 20:29:22 +05:30
}
],
2017-08-21 16:43:47 +05:30
"responses": {
"201": {
"$ref": "#/responses/Hook"
}
}
}
},
2017-11-13 12:32:25 +05:30
"/orgs/ { org}/hooks/ { id}": {
2017-08-21 16:43:47 +05:30
"get": {
"produces": [
"application/json"
],
"tags": [
"organization"
],
2017-11-13 12:32:25 +05:30
"summary": "Get a hook",
2017-08-21 16:43:47 +05:30
"operationId": "orgGetHook",
2018-06-12 20:29:22 +05:30
"parameters": [
{
"type": "string",
"description": "name of the organization",
"name": "org",
"in": "path",
"required": true
},
{
"type": "integer",
2018-10-21 09:10:42 +05:30
"format": "int64",
2018-06-12 20:29:22 +05:30
"description": "id of the hook to get",
"name": "id",
"in": "path",
"required": true
}
],
2017-08-21 16:43:47 +05:30
"responses": {
"200": {
"$ref": "#/responses/Hook"
}
}
},
"delete": {
"produces": [
"application/json"
],
"tags": [
"organization"
],
2017-11-13 12:32:25 +05:30
"summary": "Delete a hook",
2017-08-21 16:43:47 +05:30
"operationId": "orgDeleteHook",
2018-06-12 20:29:22 +05:30
"parameters": [
{
"type": "string",
"description": "name of the organization",
"name": "org",
"in": "path",
"required": true
},
{
"type": "integer",
2018-10-21 09:10:42 +05:30
"format": "int64",
2018-06-12 20:29:22 +05:30
"description": "id of the hook to delete",
"name": "id",
"in": "path",
"required": true
}
],
2017-08-21 16:43:47 +05:30
"responses": {
"204": {
"$ref": "#/responses/empty"
}
}
},
"patch": {
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"organization"
],
2017-11-13 12:32:25 +05:30
"summary": "Update a hook",
2017-08-21 16:43:47 +05:30
"operationId": "orgEditHook",
2018-06-12 20:29:22 +05:30
"parameters": [
{
"type": "string",
"description": "name of the organization",
"name": "org",
"in": "path",
"required": true
},
{
"type": "integer",
2018-10-21 09:10:42 +05:30
"format": "int64",
2018-06-12 20:29:22 +05:30
"description": "id of the hook to update",
"name": "id",
"in": "path",
"required": true
2018-10-21 09:10:42 +05:30
},
{
"name": "body",
"in": "body",
"schema": {
"$ref": "#/definitions/EditHookOption"
}
2018-06-12 20:29:22 +05:30
}
],
2017-08-21 16:43:47 +05:30
"responses": {
"200": {
"$ref": "#/responses/Hook"
}
}
}
},
Add Organization Wide Labels (#10814)
* Add organization wide labels
Implement organization wide labels similar to organization wide
webhooks. This lets you create individual labels for organizations that can be used
for all repos under that organization (so being able to reuse the same
label across multiple repos).
This makes it possible for small organizations with many repos to use
labels effectively.
Fixes #7406
* Add migration
* remove comments
* fix tests
* Update options/locale/locale_en-US.ini
Removed unused translation string
* show org labels in issue search label filter
* Use more clear var name
* rename migration after merge from master
* comment typo
* update migration again after rebase with master
* check for orgID <=0 per guillep2k review
* fmt
* Apply suggestions from code review
Co-Authored-By: guillep2k <18600385+guillep2k@users.noreply.github.com>
* remove unused code
* Make sure RepoID is 0 when searching orgID per code review
* more changes/code review requests
* More descriptive translation var per code review
* func description/delete comment when issue label deleted instead of hiding it
* remove comment
* only use issues in that repo when calculating number of open issues for org label on repo label page
* Add integration test for IssuesSearch API with labels
* remove unused function
* Update models/issue_label.go
Co-Authored-By: guillep2k <18600385+guillep2k@users.noreply.github.com>
* Use subquery in GetLabelIDsInReposByNames
* Fix tests to use correct orgID
* fix more tests
* IssuesSearch api now uses new BuildLabelNamesIssueIDsCondition. Add a few more tests as well
* update comment for clarity
* Revert previous code change now that we can use the new BuildLabelNamesIssueIDsCondition
* Don't sort repos by date in IssuesSearch API
After much debugging I've found a strange issue where in some cases MySQL will return a different result than other enigines if a query is sorted by a null collumn. For example with our integration test data where we don't set updated_unix in repository fixtures:
SELECT `id`, `owner_id`, `owner_name`, `lower_name`, `name`, `description`, `website`, `original_service_type`, `original_url`, `default_branch`, `num_watches`, `num_stars`, `num_forks`, `num_issues`, `num_closed_issues`, `num_pulls`, `num_closed_pulls`, `num_milestones`, `num_closed_milestones`, `is_private`, `is_empty`, `is_archived`, `is_mirror`, `status`, `is_fork`, `fork_id`, `is_template`, `template_id`, `size`, `is_fsck_enabled`, `close_issues_via_commit_in_any_branch`, `topics`, `avatar`, `created_unix`, `updated_unix` FROM `repository` ORDER BY updated_unix DESC LIMIT 15 OFFSET 45
Returns different results for MySQL than other engines. However, the similar query:
SELECT `id`, `owner_id`, `owner_name`, `lower_name`, `name`, `description`, `website`, `original_service_type`, `original_url`, `default_branch`, `num_watches`, `num_stars`, `num_forks`, `num_issues`, `num_closed_issues`, `num_pulls`, `num_closed_pulls`, `num_milestones`, `num_closed_milestones`, `is_private`, `is_empty`, `is_archived`, `is_mirror`, `status`, `is_fork`, `fork_id`, `is_template`, `template_id`, `size`, `is_fsck_enabled`, `close_issues_via_commit_in_any_branch`, `topics`, `avatar`, `created_unix`, `updated_unix` FROM `repository` ORDER BY updated_unix DESC LIMIT 15 OFFSET 30
Returns the same results.
This causes integration tests to fail on MySQL in certain cases but would never show up in a real installation. Since this API call always returns issues based on the optionally provided repo_priority_id or the issueID itself, there is no change to results by changing the repo sorting method used to get ids earlier in the function.
* linter is back!
* code review
* remove now unused option
* Fix newline at end of files
* more unused code
* update to master
* check for matching ids before query
* Update models/issue_label.go
Co-Authored-By: 6543 <6543@obermui.de>
* Update models/issue_label.go
* update comments
* Update routers/org/setting.go
Co-authored-by: Lauris BH <lauris@nix.lv>
Co-authored-by: guillep2k <18600385+guillep2k@users.noreply.github.com>
Co-authored-by: 6543 <6543@obermui.de>
2020-04-01 09:44:46 +05:30
"/orgs/ { org}/labels": {
"get": {
"produces": [
"application/json"
],
"tags": [
"organization"
],
"summary": "List an organization's labels",
"operationId": "orgListLabels",
"parameters": [
{
"type": "string",
"description": "name of the organization",
"name": "org",
"in": "path",
"required": true
},
{
"type": "integer",
"description": "page number of results to return (1-based)",
"name": "page",
"in": "query"
},
{
"type": "integer",
2020-06-09 10:27:38 +05:30
"description": "page size of results",
Add Organization Wide Labels (#10814)
* Add organization wide labels
Implement organization wide labels similar to organization wide
webhooks. This lets you create individual labels for organizations that can be used
for all repos under that organization (so being able to reuse the same
label across multiple repos).
This makes it possible for small organizations with many repos to use
labels effectively.
Fixes #7406
* Add migration
* remove comments
* fix tests
* Update options/locale/locale_en-US.ini
Removed unused translation string
* show org labels in issue search label filter
* Use more clear var name
* rename migration after merge from master
* comment typo
* update migration again after rebase with master
* check for orgID <=0 per guillep2k review
* fmt
* Apply suggestions from code review
Co-Authored-By: guillep2k <18600385+guillep2k@users.noreply.github.com>
* remove unused code
* Make sure RepoID is 0 when searching orgID per code review
* more changes/code review requests
* More descriptive translation var per code review
* func description/delete comment when issue label deleted instead of hiding it
* remove comment
* only use issues in that repo when calculating number of open issues for org label on repo label page
* Add integration test for IssuesSearch API with labels
* remove unused function
* Update models/issue_label.go
Co-Authored-By: guillep2k <18600385+guillep2k@users.noreply.github.com>
* Use subquery in GetLabelIDsInReposByNames
* Fix tests to use correct orgID
* fix more tests
* IssuesSearch api now uses new BuildLabelNamesIssueIDsCondition. Add a few more tests as well
* update comment for clarity
* Revert previous code change now that we can use the new BuildLabelNamesIssueIDsCondition
* Don't sort repos by date in IssuesSearch API
After much debugging I've found a strange issue where in some cases MySQL will return a different result than other enigines if a query is sorted by a null collumn. For example with our integration test data where we don't set updated_unix in repository fixtures:
SELECT `id`, `owner_id`, `owner_name`, `lower_name`, `name`, `description`, `website`, `original_service_type`, `original_url`, `default_branch`, `num_watches`, `num_stars`, `num_forks`, `num_issues`, `num_closed_issues`, `num_pulls`, `num_closed_pulls`, `num_milestones`, `num_closed_milestones`, `is_private`, `is_empty`, `is_archived`, `is_mirror`, `status`, `is_fork`, `fork_id`, `is_template`, `template_id`, `size`, `is_fsck_enabled`, `close_issues_via_commit_in_any_branch`, `topics`, `avatar`, `created_unix`, `updated_unix` FROM `repository` ORDER BY updated_unix DESC LIMIT 15 OFFSET 45
Returns different results for MySQL than other engines. However, the similar query:
SELECT `id`, `owner_id`, `owner_name`, `lower_name`, `name`, `description`, `website`, `original_service_type`, `original_url`, `default_branch`, `num_watches`, `num_stars`, `num_forks`, `num_issues`, `num_closed_issues`, `num_pulls`, `num_closed_pulls`, `num_milestones`, `num_closed_milestones`, `is_private`, `is_empty`, `is_archived`, `is_mirror`, `status`, `is_fork`, `fork_id`, `is_template`, `template_id`, `size`, `is_fsck_enabled`, `close_issues_via_commit_in_any_branch`, `topics`, `avatar`, `created_unix`, `updated_unix` FROM `repository` ORDER BY updated_unix DESC LIMIT 15 OFFSET 30
Returns the same results.
This causes integration tests to fail on MySQL in certain cases but would never show up in a real installation. Since this API call always returns issues based on the optionally provided repo_priority_id or the issueID itself, there is no change to results by changing the repo sorting method used to get ids earlier in the function.
* linter is back!
* code review
* remove now unused option
* Fix newline at end of files
* more unused code
* update to master
* check for matching ids before query
* Update models/issue_label.go
Co-Authored-By: 6543 <6543@obermui.de>
* Update models/issue_label.go
* update comments
* Update routers/org/setting.go
Co-authored-by: Lauris BH <lauris@nix.lv>
Co-authored-by: guillep2k <18600385+guillep2k@users.noreply.github.com>
Co-authored-by: 6543 <6543@obermui.de>
2020-04-01 09:44:46 +05:30
"name": "limit",
"in": "query"
}
],
"responses": {
"200": {
"$ref": "#/responses/LabelList"
}
}
},
"post": {
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"organization"
],
"summary": "Create a label for an organization",
"operationId": "orgCreateLabel",
"parameters": [
{
"type": "string",
"description": "name of the organization",
"name": "org",
"in": "path",
"required": true
},
{
"name": "body",
"in": "body",
"schema": {
"$ref": "#/definitions/CreateLabelOption"
}
}
],
"responses": {
"201": {
"$ref": "#/responses/Label"
},
"422": {
"$ref": "#/responses/validationError"
}
}
}
},
"/orgs/ { org}/labels/ { id}": {
"get": {
"produces": [
"application/json"
],
"tags": [
"organization"
],
"summary": "Get a single label",
"operationId": "orgGetLabel",
"parameters": [
{
"type": "string",
"description": "name of the organization",
"name": "org",
"in": "path",
"required": true
},
{
"type": "integer",
"format": "int64",
"description": "id of the label to get",
"name": "id",
"in": "path",
"required": true
}
],
"responses": {
"200": {
"$ref": "#/responses/Label"
}
}
},
"delete": {
"tags": [
"organization"
],
"summary": "Delete a label",
"operationId": "orgDeleteLabel",
"parameters": [
{
"type": "string",
"description": "name of the organization",
"name": "org",
"in": "path",
"required": true
},
{
"type": "integer",
"format": "int64",
"description": "id of the label to delete",
"name": "id",
"in": "path",
"required": true
}
],
"responses": {
"204": {
"$ref": "#/responses/empty"
}
}
},
"patch": {
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"organization"
],
"summary": "Update a label",
"operationId": "orgEditLabel",
"parameters": [
{
"type": "string",
"description": "name of the organization",
"name": "org",
"in": "path",
"required": true
},
{
"type": "integer",
"format": "int64",
"description": "id of the label to edit",
"name": "id",
"in": "path",
"required": true
},
{
"name": "body",
"in": "body",
"schema": {
"$ref": "#/definitions/EditLabelOption"
}
}
],
"responses": {
"200": {
"$ref": "#/responses/Label"
},
"422": {
"$ref": "#/responses/validationError"
}
}
}
},
2017-11-13 12:32:25 +05:30
"/orgs/ { org}/members": {
2017-08-21 16:43:47 +05:30
"get": {
"produces": [
"application/json"
],
"tags": [
"organization"
],
2017-11-13 12:32:25 +05:30
"summary": "List an organization's members",
2017-08-21 16:43:47 +05:30
"operationId": "orgListMembers",
2017-11-13 12:32:25 +05:30
"parameters": [
{
"type": "string",
"description": "name of the organization",
"name": "org",
"in": "path",
"required": true
2020-01-25 00:30:29 +05:30
},
{
"type": "integer",
"description": "page number of results to return (1-based)",
"name": "page",
"in": "query"
},
{
"type": "integer",
2020-06-09 10:27:38 +05:30
"description": "page size of results",
2020-01-25 00:30:29 +05:30
"name": "limit",
"in": "query"
2017-11-13 12:32:25 +05:30
}
],
2017-08-21 16:43:47 +05:30
"responses": {
"200": {
"$ref": "#/responses/UserList"
}
}
}
},
2017-11-13 12:32:25 +05:30
"/orgs/ { org}/members/ { username}": {
2017-08-21 16:43:47 +05:30
"get": {
"tags": [
"organization"
],
2017-11-13 12:32:25 +05:30
"summary": "Check if a user is a member of an organization",
2017-08-21 16:43:47 +05:30
"operationId": "orgIsMember",
2017-11-13 12:32:25 +05:30
"parameters": [
{
"type": "string",
"description": "name of the organization",
"name": "org",
"in": "path",
"required": true
},
{
"type": "string",
"description": "username of the user",
"name": "username",
"in": "path",
"required": true
}
],
2017-08-21 16:43:47 +05:30
"responses": {
"204": {
2018-10-21 09:10:42 +05:30
"description": "user is a member"
2017-08-21 16:43:47 +05:30
},
2022-03-23 10:24:07 +05:30
"303": {
2019-12-20 22:37:12 +05:30
"description": "redirection to /orgs/ { org}/public_members/ { username}"
},
2017-08-21 16:43:47 +05:30
"404": {
2018-10-21 09:10:42 +05:30
"description": "user is not a member"
2017-08-21 16:43:47 +05:30
}
}
},
"delete": {
"produces": [
"application/json"
],
"tags": [
"organization"
],
2017-11-13 12:32:25 +05:30
"summary": "Remove a member from an organization",
2017-08-21 16:43:47 +05:30
"operationId": "orgDeleteMember",
2017-11-13 12:32:25 +05:30
"parameters": [
{
"type": "string",
"description": "name of the organization",
"name": "org",
"in": "path",
"required": true
},
{
"type": "string",
"description": "username of the user",
"name": "username",
"in": "path",
"required": true
}
],
2017-08-21 16:43:47 +05:30
"responses": {
"204": {
2018-10-21 09:10:42 +05:30
"description": "member removed"
2017-08-21 16:43:47 +05:30
}
}
}
},
2017-11-13 12:32:25 +05:30
"/orgs/ { org}/public_members": {
2017-08-21 16:43:47 +05:30
"get": {
"produces": [
"application/json"
],
"tags": [
"organization"
],
2017-11-13 12:32:25 +05:30
"summary": "List an organization's public members",
2017-08-21 16:43:47 +05:30
"operationId": "orgListPublicMembers",
2017-11-13 12:32:25 +05:30
"parameters": [
{
"type": "string",
"description": "name of the organization",
"name": "org",
"in": "path",
"required": true
2020-01-25 00:30:29 +05:30
},
{
"type": "integer",
"description": "page number of results to return (1-based)",
"name": "page",
"in": "query"
},
{
"type": "integer",
2020-06-09 10:27:38 +05:30
"description": "page size of results",
2020-01-25 00:30:29 +05:30
"name": "limit",
"in": "query"
2017-11-13 12:32:25 +05:30
}
],
2017-08-21 16:43:47 +05:30
"responses": {
"200": {
"$ref": "#/responses/UserList"
}
}
}
},
2017-11-13 12:32:25 +05:30
"/orgs/ { org}/public_members/ { username}": {
2017-08-21 16:43:47 +05:30
"get": {
"tags": [
"organization"
],
2017-11-13 12:32:25 +05:30
"summary": "Check if a user is a public member of an organization",
2017-08-21 16:43:47 +05:30
"operationId": "orgIsPublicMember",
2017-11-13 12:32:25 +05:30
"parameters": [
{
"type": "string",
"description": "name of the organization",
"name": "org",
"in": "path",
"required": true
},
{
"type": "string",
"description": "username of the user",
"name": "username",
"in": "path",
"required": true
}
],
2017-08-21 16:43:47 +05:30
"responses": {
"204": {
2018-10-21 09:10:42 +05:30
"description": "user is a public member"
2017-08-21 16:43:47 +05:30
},
"404": {
2018-10-21 09:10:42 +05:30
"description": "user is not a public member"
2017-08-21 16:43:47 +05:30
}
}
},
"put": {
"produces": [
"application/json"
],
"tags": [
"organization"
],
2017-11-13 12:32:25 +05:30
"summary": "Publicize a user's membership",
2017-08-21 16:43:47 +05:30
"operationId": "orgPublicizeMember",
2017-11-13 12:32:25 +05:30
"parameters": [
{
"type": "string",
"description": "name of the organization",
"name": "org",
"in": "path",
"required": true
},
{
"type": "string",
"description": "username of the user",
"name": "username",
"in": "path",
"required": true
}
],
2017-08-21 16:43:47 +05:30
"responses": {
"204": {
2018-10-21 09:10:42 +05:30
"description": "membership publicized"
2019-12-20 22:37:12 +05:30
},
"403": {
"$ref": "#/responses/forbidden"
2017-08-21 16:43:47 +05:30
}
}
},
"delete": {
"produces": [
"application/json"
],
"tags": [
"organization"
],
2017-11-13 12:32:25 +05:30
"summary": "Conceal a user's membership",
2017-08-21 16:43:47 +05:30
"operationId": "orgConcealMember",
2017-11-13 12:32:25 +05:30
"parameters": [
{
"type": "string",
"description": "name of the organization",
"name": "org",
"in": "path",
"required": true
},
{
"type": "string",
"description": "username of the user",
"name": "username",
"in": "path",
"required": true
}
],
2017-08-21 16:43:47 +05:30
"responses": {
"204": {
"$ref": "#/responses/empty"
2019-12-20 22:37:12 +05:30
},
"403": {
"$ref": "#/responses/forbidden"
2017-08-21 16:43:47 +05:30
}
}
}
},
2017-11-13 12:32:25 +05:30
"/orgs/ { org}/repos": {
2017-08-21 16:43:47 +05:30
"get": {
"produces": [
2017-07-13 16:44:15 +05:30
"application/json"
],
2017-08-21 16:43:47 +05:30
"tags": [
"organization"
],
2017-11-13 12:32:25 +05:30
"summary": "List an organization's repos",
2017-07-13 16:44:15 +05:30
"operationId": "orgListRepos",
2017-11-13 12:32:25 +05:30
"parameters": [
{
"type": "string",
"description": "name of the organization",
"name": "org",
"in": "path",
"required": true
2020-01-25 00:30:29 +05:30
},
{
"type": "integer",
"description": "page number of results to return (1-based)",
"name": "page",
"in": "query"
},
{
"type": "integer",
2020-06-09 10:27:38 +05:30
"description": "page size of results",
2020-01-25 00:30:29 +05:30
"name": "limit",
"in": "query"
2017-11-13 12:32:25 +05:30
}
],
2017-07-13 16:44:15 +05:30
"responses": {
"200": {
"$ref": "#/responses/RepositoryList"
}
}
2020-01-09 22:10:01 +05:30
},
"post": {
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"organization"
],
"summary": "Create a repository in an organization",
"operationId": "createOrgRepo",
"parameters": [
{
"type": "string",
"description": "name of organization",
"name": "org",
"in": "path",
"required": true
},
{
"name": "body",
"in": "body",
"schema": {
"$ref": "#/definitions/CreateRepoOption"
}
}
],
"responses": {
"201": {
"$ref": "#/responses/Repository"
},
"403": {
"$ref": "#/responses/forbidden"
},
"404": {
"$ref": "#/responses/notFound"
}
}
2017-07-13 16:44:15 +05:30
}
},
2017-11-13 12:32:25 +05:30
"/orgs/ { org}/teams": {
"get": {
"produces": [
"application/json"
],
"tags": [
"organization"
],
"summary": "List an organization's teams",
"operationId": "orgListTeams",
"parameters": [
{
"type": "string",
"description": "name of the organization",
"name": "org",
"in": "path",
"required": true
2020-01-25 00:30:29 +05:30
},
{
"type": "integer",
"description": "page number of results to return (1-based)",
"name": "page",
"in": "query"
},
{
"type": "integer",
2020-06-09 10:27:38 +05:30
"description": "page size of results",
2020-01-25 00:30:29 +05:30
"name": "limit",
"in": "query"
2017-11-13 12:32:25 +05:30
}
],
"responses": {
"200": {
"$ref": "#/responses/TeamList"
}
}
},
2017-08-21 16:43:47 +05:30
"post": {
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
2017-11-13 12:32:25 +05:30
"organization"
2017-08-21 16:43:47 +05:30
],
2017-11-13 12:32:25 +05:30
"summary": "Create a team",
"operationId": "orgCreateTeam",
2017-08-21 16:43:47 +05:30
"parameters": [
{
2017-11-13 12:32:25 +05:30
"type": "string",
"description": "name of the organization",
"name": "org",
"in": "path",
"required": true
2017-08-21 16:43:47 +05:30
},
{
2017-11-13 12:32:25 +05:30
"name": "body",
2017-08-21 16:43:47 +05:30
"in": "body",
"schema": {
2017-11-13 12:32:25 +05:30
"$ref": "#/definitions/CreateTeamOption"
2017-08-21 16:43:47 +05:30
}
2017-11-13 12:32:25 +05:30
}
],
"responses": {
"201": {
"$ref": "#/responses/Team"
2019-12-20 22:37:12 +05:30
},
"422": {
"$ref": "#/responses/validationError"
2017-11-13 12:32:25 +05:30
}
}
}
},
2019-10-01 11:02:28 +05:30
"/orgs/ { org}/teams/search": {
"get": {
"produces": [
"application/json"
],
"tags": [
"organization"
],
"summary": "Search for teams within an organization",
"operationId": "teamSearch",
"parameters": [
{
"type": "string",
"description": "name of the organization",
"name": "org",
"in": "path",
"required": true
},
{
"type": "string",
"description": "keywords to search",
"name": "q",
"in": "query"
},
{
"type": "boolean",
"description": "include search within team description (defaults to true)",
"name": "include_desc",
"in": "query"
},
{
"type": "integer",
2020-01-25 00:30:29 +05:30
"description": "page number of results to return (1-based)",
"name": "page",
2019-10-01 11:02:28 +05:30
"in": "query"
},
{
"type": "integer",
2020-06-09 10:27:38 +05:30
"description": "page size of results",
2020-01-25 00:30:29 +05:30
"name": "limit",
2019-10-01 11:02:28 +05:30
"in": "query"
}
],
"responses": {
"200": {
"description": "SearchResults of a successful search",
"schema": {
"type": "object",
"properties": {
"data": {
"type": "array",
"items": {
"$ref": "#/definitions/Team"
}
},
"ok": {
"type": "boolean"
}
}
}
}
}
}
},
2022-03-30 14:12:47 +05:30
"/packages/ { owner}": {
"get": {
"produces": [
"application/json"
],
"tags": [
"package"
],
"summary": "Gets all packages of an owner",
"operationId": "listPackages",
"parameters": [
{
"type": "string",
"description": "owner of the packages",
"name": "owner",
"in": "path",
"required": true
},
{
"type": "integer",
"description": "page number of results to return (1-based)",
"name": "page",
"in": "query"
},
{
"type": "integer",
"description": "page size of results",
"name": "limit",
"in": "query"
},
{
"enum": [
"composer",
"conan",
2022-04-19 22:25:35 +05:30
"container",
2022-03-30 14:12:47 +05:30
"generic",
2022-04-19 22:25:35 +05:30
"helm",
2022-03-30 14:12:47 +05:30
"maven",
"npm",
"nuget",
2022-08-07 15:39:54 +05:30
"pub",
2022-03-30 14:12:47 +05:30
"pypi",
2022-08-29 12:34:45 +05:30
"rubygems",
"vagrant"
2022-03-30 14:12:47 +05:30
],
"type": "string",
"description": "package type filter",
"name": "type",
"in": "query"
},
{
"type": "string",
"description": "name filter",
"name": "q",
"in": "query"
}
],
"responses": {
"200": {
"$ref": "#/responses/PackageList"
}
}
}
},
"/packages/ { owner}/ { type}/ { name}/ { version}": {
"get": {
"produces": [
"application/json"
],
"tags": [
"package"
],
"summary": "Gets a package",
"operationId": "getPackage",
"parameters": [
{
"type": "string",
"description": "owner of the package",
"name": "owner",
"in": "path",
"required": true
},
{
"type": "string",
"description": "type of the package",
"name": "type",
"in": "path",
"required": true
},
{
"type": "string",
"description": "name of the package",
"name": "name",
"in": "path",
"required": true
},
{
"type": "string",
"description": "version of the package",
"name": "version",
"in": "path",
"required": true
}
],
"responses": {
"200": {
"$ref": "#/responses/Package"
},
"404": {
"$ref": "#/responses/notFound"
}
}
},
"delete": {
"tags": [
"package"
],
"summary": "Delete a package",
"operationId": "deletePackage",
"parameters": [
{
"type": "string",
"description": "owner of the package",
"name": "owner",
"in": "path",
"required": true
},
{
"type": "string",
"description": "type of the package",
"name": "type",
"in": "path",
"required": true
},
{
"type": "string",
"description": "name of the package",
"name": "name",
"in": "path",
"required": true
},
{
"type": "string",
"description": "version of the package",
"name": "version",
"in": "path",
"required": true
}
],
"responses": {
"204": {
"$ref": "#/responses/empty"
},
"404": {
"$ref": "#/responses/notFound"
}
}
}
},
"/packages/ { owner}/ { type}/ { name}/ { version}/files": {
"get": {
"produces": [
"application/json"
],
"tags": [
"package"
],
"summary": "Gets all files of a package",
"operationId": "listPackageFiles",
"parameters": [
{
"type": "string",
"description": "owner of the package",
"name": "owner",
"in": "path",
"required": true
},
{
"type": "string",
"description": "type of the package",
"name": "type",
"in": "path",
"required": true
},
{
"type": "string",
"description": "name of the package",
"name": "name",
"in": "path",
"required": true
},
{
"type": "string",
"description": "version of the package",
"name": "version",
"in": "path",
"required": true
}
],
"responses": {
"200": {
"$ref": "#/responses/PackageFileList"
},
"404": {
"$ref": "#/responses/notFound"
}
}
}
},
Allow cross-repository dependencies on issues (#7901)
* in progress changes for #7405, added ability to add cross-repo dependencies
* removed unused repolink var
* fixed query that was breaking ci tests; fixed check in issue dependency add so that the id of the issue and dependency is checked rather than the indexes
* reverted removal of string in local files becasue these are done via crowdin, not updated manually
* removed 'Select("issue.*")' from getBlockedByDependencies and getBlockingDependencies based on comments in PR review
* changed getBlockedByDependencies and getBlockingDependencies to use a more xorm-like query, also updated the sidebar as a result
* simplified the getBlockingDependencies and getBlockedByDependencies methods; changed the sidebar to show the dependencies in a different format where you can see the name of the repository
* made some changes to the issue view in the dependencies (issue name on top, repo full name on separate line). Change view of issue in the dependency search results (also showing the full repo name on separate line)
* replace call to FindUserAccessibleRepoIDs with SearchRepositoryByName. The former was hardcoded to use isPrivate = false on the repo search, but this code needed it to be true. The SearchRepositoryByName method is used more in the code including on the user's dashboard
* some more tweaks to the layout of the issues when showing dependencies and in the search box when you add new dependencies
* added Name to the RepositoryMeta struct
* updated swagger doc
* fixed total count for link header on SearchIssues
* fixed indentation
* fixed aligment of remove icon on dependencies in issue sidebar
* removed unnecessary nil check (unnecessary because issue.loadRepo is called prior to this block)
* reverting .css change, somehow missed or forgot that less is used
* updated less file and generated css; updated sidebar template with styles to line up delete and issue index
* added ordering to the blocked by/depends on queries
* fixed sorting in issue dependency search and the depends on/blocks views to show issues from the current repo first, then by created date descending; added a "all cross repository dependencies" setting to allow this feature to be turned off, if turned off, the issue dependency search will work the way it did before (restricted to the current repository)
* re-applied my swagger changes after merge
* fixed split string condition in issue search
* changed ALLOW_CROSS_REPOSITORY_DEPENDENCIES description to sound more global than just the issue dependency search; returning 400 in the cross repo issue search api method if not enabled; fixed bug where the issue count did not respect the state parameter
* when adding a dependency to an issue, added a check to make sure the issue and dependency are in the same repo if cross repo dependencies is not enabled
* updated sortIssuesSession call in PullRequests, another commit moved this method from pull.go to pull_list.go so I had to re-apply my change here
* fixed incorrect setting of user id parameter in search repos call
2019-10-31 10:36:10 +05:30
"/repos/issues/search": {
"get": {
"produces": [
"application/json"
],
"tags": [
"issue"
],
"summary": "Search for issues across the repositories that the user has access to",
"operationId": "issueSearchIssues",
"parameters": [
{
"type": "string",
"description": "whether issue is open or closed",
"name": "state",
"in": "query"
},
{
"type": "string",
"description": "comma separated list of labels. Fetch only issues that have any of this labels. Non existent labels are discarded",
"name": "labels",
"in": "query"
},
2021-06-17 12:10:59 +05:30
{
"type": "string",
"description": "comma separated list of milestone names. Fetch only issues that have any of this milestones. Non existent are discarded",
"name": "milestones",
"in": "query"
},
Allow cross-repository dependencies on issues (#7901)
* in progress changes for #7405, added ability to add cross-repo dependencies
* removed unused repolink var
* fixed query that was breaking ci tests; fixed check in issue dependency add so that the id of the issue and dependency is checked rather than the indexes
* reverted removal of string in local files becasue these are done via crowdin, not updated manually
* removed 'Select("issue.*")' from getBlockedByDependencies and getBlockingDependencies based on comments in PR review
* changed getBlockedByDependencies and getBlockingDependencies to use a more xorm-like query, also updated the sidebar as a result
* simplified the getBlockingDependencies and getBlockedByDependencies methods; changed the sidebar to show the dependencies in a different format where you can see the name of the repository
* made some changes to the issue view in the dependencies (issue name on top, repo full name on separate line). Change view of issue in the dependency search results (also showing the full repo name on separate line)
* replace call to FindUserAccessibleRepoIDs with SearchRepositoryByName. The former was hardcoded to use isPrivate = false on the repo search, but this code needed it to be true. The SearchRepositoryByName method is used more in the code including on the user's dashboard
* some more tweaks to the layout of the issues when showing dependencies and in the search box when you add new dependencies
* added Name to the RepositoryMeta struct
* updated swagger doc
* fixed total count for link header on SearchIssues
* fixed indentation
* fixed aligment of remove icon on dependencies in issue sidebar
* removed unnecessary nil check (unnecessary because issue.loadRepo is called prior to this block)
* reverting .css change, somehow missed or forgot that less is used
* updated less file and generated css; updated sidebar template with styles to line up delete and issue index
* added ordering to the blocked by/depends on queries
* fixed sorting in issue dependency search and the depends on/blocks views to show issues from the current repo first, then by created date descending; added a "all cross repository dependencies" setting to allow this feature to be turned off, if turned off, the issue dependency search will work the way it did before (restricted to the current repository)
* re-applied my swagger changes after merge
* fixed split string condition in issue search
* changed ALLOW_CROSS_REPOSITORY_DEPENDENCIES description to sound more global than just the issue dependency search; returning 400 in the cross repo issue search api method if not enabled; fixed bug where the issue count did not respect the state parameter
* when adding a dependency to an issue, added a check to make sure the issue and dependency are in the same repo if cross repo dependencies is not enabled
* updated sortIssuesSession call in PullRequests, another commit moved this method from pull.go to pull_list.go so I had to re-apply my change here
* fixed incorrect setting of user id parameter in search repos call
2019-10-31 10:36:10 +05:30
{
"type": "string",
"description": "search string",
"name": "q",
"in": "query"
},
{
"type": "integer",
"format": "int64",
"description": "repository to prioritize in the results",
"name": "priority_repo_id",
"in": "query"
2020-01-19 12:13:38 +05:30
},
{
"type": "string",
"description": "filter by type (issues / pulls) if set",
"name": "type",
"in": "query"
2020-01-25 00:30:29 +05:30
},
2020-11-24 02:19:36 +05:30
{
"type": "string",
"format": "date-time",
"description": "Only show notifications updated after the given time. This is a timestamp in RFC 3339 format",
"name": "since",
"in": "query"
},
{
"type": "string",
"format": "date-time",
"description": "Only show notifications updated before the given time. This is a timestamp in RFC 3339 format",
"name": "before",
"in": "query"
},
{
"type": "boolean",
"description": "filter (issues / pulls) assigned to you, default is false",
"name": "assigned",
"in": "query"
},
{
"type": "boolean",
"description": "filter (issues / pulls) created by you, default is false",
"name": "created",
"in": "query"
},
{
"type": "boolean",
"description": "filter (issues / pulls) mentioning you, default is false",
"name": "mentioned",
"in": "query"
},
2021-01-17 22:04:19 +05:30
{
"type": "boolean",
"description": "filter pulls requesting your review, default is false",
"name": "review_requested",
"in": "query"
},
2021-08-14 02:17:25 +05:30
{
"type": "string",
"description": "filter by owner",
"name": "owner",
"in": "query"
},
{
"type": "string",
"description": "filter by team (requires organization owner parameter to be provided)",
"name": "team",
"in": "query"
},
2020-01-25 00:30:29 +05:30
{
"type": "integer",
2020-11-24 02:19:36 +05:30
"description": "page number of results to return (1-based)",
2020-01-25 00:30:29 +05:30
"name": "page",
"in": "query"
2020-11-24 02:19:36 +05:30
},
{
"type": "integer",
"description": "page size of results",
"name": "limit",
"in": "query"
Allow cross-repository dependencies on issues (#7901)
* in progress changes for #7405, added ability to add cross-repo dependencies
* removed unused repolink var
* fixed query that was breaking ci tests; fixed check in issue dependency add so that the id of the issue and dependency is checked rather than the indexes
* reverted removal of string in local files becasue these are done via crowdin, not updated manually
* removed 'Select("issue.*")' from getBlockedByDependencies and getBlockingDependencies based on comments in PR review
* changed getBlockedByDependencies and getBlockingDependencies to use a more xorm-like query, also updated the sidebar as a result
* simplified the getBlockingDependencies and getBlockedByDependencies methods; changed the sidebar to show the dependencies in a different format where you can see the name of the repository
* made some changes to the issue view in the dependencies (issue name on top, repo full name on separate line). Change view of issue in the dependency search results (also showing the full repo name on separate line)
* replace call to FindUserAccessibleRepoIDs with SearchRepositoryByName. The former was hardcoded to use isPrivate = false on the repo search, but this code needed it to be true. The SearchRepositoryByName method is used more in the code including on the user's dashboard
* some more tweaks to the layout of the issues when showing dependencies and in the search box when you add new dependencies
* added Name to the RepositoryMeta struct
* updated swagger doc
* fixed total count for link header on SearchIssues
* fixed indentation
* fixed aligment of remove icon on dependencies in issue sidebar
* removed unnecessary nil check (unnecessary because issue.loadRepo is called prior to this block)
* reverting .css change, somehow missed or forgot that less is used
* updated less file and generated css; updated sidebar template with styles to line up delete and issue index
* added ordering to the blocked by/depends on queries
* fixed sorting in issue dependency search and the depends on/blocks views to show issues from the current repo first, then by created date descending; added a "all cross repository dependencies" setting to allow this feature to be turned off, if turned off, the issue dependency search will work the way it did before (restricted to the current repository)
* re-applied my swagger changes after merge
* fixed split string condition in issue search
* changed ALLOW_CROSS_REPOSITORY_DEPENDENCIES description to sound more global than just the issue dependency search; returning 400 in the cross repo issue search api method if not enabled; fixed bug where the issue count did not respect the state parameter
* when adding a dependency to an issue, added a check to make sure the issue and dependency are in the same repo if cross repo dependencies is not enabled
* updated sortIssuesSession call in PullRequests, another commit moved this method from pull.go to pull_list.go so I had to re-apply my change here
* fixed incorrect setting of user id parameter in search repos call
2019-10-31 10:36:10 +05:30
}
],
"responses": {
"200": {
"$ref": "#/responses/IssueList"
}
}
}
},
2017-11-13 12:32:25 +05:30
"/repos/migrate": {
"post": {
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"repository"
],
"summary": "Migrate a remote git repository",
"operationId": "repoMigrate",
"parameters": [
2017-08-21 16:43:47 +05:30
{
2017-11-13 12:32:25 +05:30
"name": "body",
2017-08-21 16:43:47 +05:30
"in": "body",
"schema": {
2020-09-11 03:59:19 +05:30
"$ref": "#/definitions/MigrateRepoOptions"
2017-08-21 16:43:47 +05:30
}
}
],
"responses": {
"201": {
"$ref": "#/responses/Repository"
2019-12-20 22:37:12 +05:30
},
"403": {
"$ref": "#/responses/forbidden"
},
2022-04-12 13:43:07 +05:30
"409": {
"description": "The repository with the same name already exists."
},
2019-12-20 22:37:12 +05:30
"422": {
"$ref": "#/responses/validationError"
2017-08-21 16:43:47 +05:30
}
}
}
},
2017-05-02 19:05:59 +05:30
"/repos/search": {
"get": {
"produces": [
"application/json"
],
2017-08-21 16:43:47 +05:30
"tags": [
"repository"
],
2017-11-13 12:32:25 +05:30
"summary": "Search for repositories",
2017-05-02 19:05:59 +05:30
"operationId": "repoSearch",
"parameters": [
{
"type": "string",
2017-11-13 12:32:25 +05:30
"description": "keyword",
2017-05-02 19:05:59 +05:30
"name": "q",
"in": "query"
},
2019-08-24 08:47:10 +05:30
{
"type": "boolean",
"description": "Limit search to repositories with keyword as topic",
"name": "topic",
"in": "query"
},
2019-08-25 22:36:36 +05:30
{
"type": "boolean",
"description": "include search of keyword within repository description",
"name": "includeDesc",
"in": "query"
},
2017-05-02 19:05:59 +05:30
{
"type": "integer",
2018-10-21 09:10:42 +05:30
"format": "int64",
2017-11-15 13:40:26 +05:30
"description": "search only for repos that the user with the given id owns or contributes to",
2017-05-02 19:05:59 +05:30
"name": "uid",
"in": "query"
},
2019-11-11 20:45:29 +05:30
{
"type": "integer",
"format": "int64",
"description": "repo owner to prioritize in the results",
"name": "priority_owner_id",
"in": "query"
},
2020-12-28 01:28:03 +05:30
{
"type": "integer",
"format": "int64",
"description": "search only for repos that belong to the given team id",
"name": "team_id",
"in": "query"
},
2019-05-15 20:54:39 +05:30
{
"type": "integer",
"format": "int64",
"description": "search only for repos that the user with the given id has starred",
"name": "starredBy",
"in": "query"
},
{
"type": "boolean",
"description": "include private repositories this user has access to (defaults to true)",
"name": "private",
"in": "query"
},
2020-05-17 01:37:01 +05:30
{
"type": "boolean",
2020-05-21 06:45:30 +05:30
"description": "show only pubic, private or all repositories (defaults to all)",
"name": "is_private",
2020-05-17 01:37:01 +05:30
"in": "query"
},
2019-11-11 20:45:29 +05:30
{
"type": "boolean",
"description": "include template repositories this user has access to (defaults to true)",
"name": "template",
"in": "query"
},
2020-05-17 01:37:01 +05:30
{
"type": "boolean",
"description": "show only archived, non-archived or all repositories (defaults to all)",
"name": "archived",
"in": "query"
},
2017-10-27 02:46:13 +05:30
{
"type": "string",
2017-11-13 12:32:25 +05:30
"description": "type of repository to search for. Supported values are \"fork\", \"source\", \"mirror\" and \"collaborative\"",
2017-10-27 02:46:13 +05:30
"name": "mode",
"in": "query"
},
{
"type": "boolean",
2017-11-15 13:40:26 +05:30
"description": "if `uid` is given, search only for repos that the user owns",
2017-10-27 02:46:13 +05:30
"name": "exclusive",
"in": "query"
2018-08-02 13:40:02 +05:30
},
{
"type": "string",
"description": "sort repos by attribute. Supported values are \"alpha\", \"created\", \"updated\", \"size\", and \"id\". Default is \"alpha\"",
"name": "sort",
"in": "query"
},
{
"type": "string",
"description": "sort order, either \"asc\" (ascending) or \"desc\" (descending). Default is \"asc\", ignored if \"sort\" is not specified.",
"name": "order",
"in": "query"
2020-01-25 00:30:29 +05:30
},
{
"type": "integer",
"description": "page number of results to return (1-based)",
"name": "page",
"in": "query"
},
{
"type": "integer",
2020-06-09 10:27:38 +05:30
"description": "page size of results",
2020-01-25 00:30:29 +05:30
"name": "limit",
"in": "query"
2017-05-02 19:05:59 +05:30
}
],
"responses": {
"200": {
"$ref": "#/responses/SearchResults"
},
2017-10-27 02:46:13 +05:30
"422": {
"$ref": "#/responses/validationError"
2017-08-21 16:43:47 +05:30
}
}
}
},
2017-11-13 12:32:25 +05:30
"/repos/ { owner}/ { repo}": {
2017-08-21 16:43:47 +05:30
"get": {
"produces": [
"application/json"
],
"tags": [
"repository"
],
2017-11-13 12:32:25 +05:30
"summary": "Get a repository",
"operationId": "repoGet",
"parameters": [
{
"type": "string",
"description": "owner of the repo",
"name": "owner",
"in": "path",
"required": true
},
{
"type": "string",
"description": "name of the repo",
"name": "repo",
"in": "path",
"required": true
}
],
2017-08-21 16:43:47 +05:30
"responses": {
"200": {
2017-11-13 12:32:25 +05:30
"$ref": "#/responses/Repository"
2017-08-21 16:43:47 +05:30
}
}
},
2017-11-13 12:32:25 +05:30
"delete": {
2017-08-21 16:43:47 +05:30
"produces": [
"application/json"
],
"tags": [
"repository"
],
2017-11-13 12:32:25 +05:30
"summary": "Delete a repository",
"operationId": "repoDelete",
2017-08-21 16:43:47 +05:30
"parameters": [
{
2017-11-13 12:32:25 +05:30
"type": "string",
"description": "owner of the repo to delete",
"name": "owner",
"in": "path",
"required": true
},
{
"type": "string",
"description": "name of the repo to delete",
"name": "repo",
"in": "path",
"required": true
2017-08-21 16:43:47 +05:30
}
],
"responses": {
2017-11-13 12:32:25 +05:30
"204": {
"$ref": "#/responses/empty"
2017-08-21 16:43:47 +05:30
},
"403": {
"$ref": "#/responses/forbidden"
}
}
2019-05-30 20:39:05 +05:30
},
"patch": {
"produces": [
"application/json"
],
"tags": [
"repository"
],
"summary": "Edit a repository's properties. Only fields that are set will be changed.",
"operationId": "repoEdit",
"parameters": [
{
"type": "string",
"description": "owner of the repo to edit",
"name": "owner",
"in": "path",
"required": true
},
{
"type": "string",
"description": "name of the repo to edit",
"name": "repo",
"in": "path",
"required": true
},
{
"description": "Properties of a repo that you can edit",
"name": "body",
"in": "body",
"schema": {
"$ref": "#/definitions/EditRepoOption"
}
}
],
"responses": {
"200": {
"$ref": "#/responses/Repository"
},
"403": {
"$ref": "#/responses/forbidden"
},
"422": {
"$ref": "#/responses/validationError"
}
}
2017-08-21 16:43:47 +05:30
}
},
2018-06-12 20:29:22 +05:30
"/repos/ { owner}/ { repo}/archive/ { archive}": {
2017-08-21 16:43:47 +05:30
"get": {
"produces": [
"application/json"
],
"tags": [
"repository"
],
2017-11-13 12:32:25 +05:30
"summary": "Get an archive of a repository",
"operationId": "repoGetArchive",
"parameters": [
{
"type": "string",
"description": "owner of the repo",
"name": "owner",
"in": "path",
"required": true
2017-08-21 16:43:47 +05:30
},
2017-11-13 12:32:25 +05:30
{
"type": "string",
"description": "name of the repo",
"name": "repo",
"in": "path",
"required": true
},
{
"type": "string",
2020-09-06 21:53:47 +05:30
"description": "the git reference for download with attached archive format (e.g. master.zip)",
2017-11-13 12:32:25 +05:30
"name": "archive",
"in": "path",
"required": true
2017-08-21 16:43:47 +05:30
}
2017-11-13 12:32:25 +05:30
],
"responses": {
2018-06-01 11:21:49 +05:30
"200": {
"description": "success"
2019-12-20 22:37:12 +05:30
},
"404": {
"$ref": "#/responses/notFound"
2018-06-01 11:21:49 +05:30
}
2017-08-21 16:43:47 +05:30
}
2017-11-13 12:32:25 +05:30
}
},
2021-06-17 19:32:34 +05:30
"/repos/ { owner}/ { repo}/assignees": {
"get": {
"produces": [
"application/json"
],
"tags": [
"repository"
],
"summary": "Return all users that have write access and can be assigned to issues",
"operationId": "repoGetAssignees",
"parameters": [
{
"type": "string",
"description": "owner of the repo",
"name": "owner",
"in": "path",
"required": true
},
{
"type": "string",
"description": "name of the repo",
"name": "repo",
"in": "path",
"required": true
}
],
"responses": {
"200": {
"$ref": "#/responses/UserList"
}
}
}
},
2020-02-13 04:49:35 +05:30
"/repos/ { owner}/ { repo}/branch_protections": {
"get": {
"produces": [
"application/json"
],
"tags": [
"repository"
],
"summary": "List branch protections for a repository",
"operationId": "repoListBranchProtection",
"parameters": [
{
"type": "string",
"description": "owner of the repo",
"name": "owner",
"in": "path",
"required": true
},
{
"type": "string",
"description": "name of the repo",
"name": "repo",
"in": "path",
"required": true
}
],
"responses": {
"200": {
"$ref": "#/responses/BranchProtectionList"
}
}
},
"post": {
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"repository"
],
"summary": "Create a branch protections for a repository",
"operationId": "repoCreateBranchProtection",
"parameters": [
{
"type": "string",
"description": "owner of the repo",
"name": "owner",
"in": "path",
"required": true
},
{
"type": "string",
"description": "name of the repo",
"name": "repo",
"in": "path",
"required": true
},
{
"name": "body",
"in": "body",
"schema": {
"$ref": "#/definitions/CreateBranchProtectionOption"
}
}
],
"responses": {
"201": {
"$ref": "#/responses/BranchProtection"
},
"403": {
"$ref": "#/responses/forbidden"
},
"404": {
"$ref": "#/responses/notFound"
},
"422": {
"$ref": "#/responses/validationError"
}
}
}
},
"/repos/ { owner}/ { repo}/branch_protections/ { name}": {
"get": {
"produces": [
"application/json"
],
"tags": [
"repository"
],
"summary": "Get a specific branch protection for the repository",
"operationId": "repoGetBranchProtection",
"parameters": [
{
"type": "string",
"description": "owner of the repo",
"name": "owner",
"in": "path",
"required": true
},
{
"type": "string",
"description": "name of the repo",
"name": "repo",
"in": "path",
"required": true
},
{
"type": "string",
"description": "name of protected branch",
"name": "name",
"in": "path",
"required": true
}
],
"responses": {
"200": {
"$ref": "#/responses/BranchProtection"
},
"404": {
"$ref": "#/responses/notFound"
}
}
},
"delete": {
"produces": [
"application/json"
],
"tags": [
"repository"
],
"summary": "Delete a specific branch protection for the repository",
"operationId": "repoDeleteBranchProtection",
"parameters": [
{
"type": "string",
"description": "owner of the repo",
"name": "owner",
"in": "path",
"required": true
},
{
"type": "string",
"description": "name of the repo",
"name": "repo",
"in": "path",
"required": true
},
{
"type": "string",
"description": "name of protected branch",
"name": "name",
"in": "path",
"required": true
}
],
"responses": {
"204": {
"$ref": "#/responses/empty"
},
"404": {
"$ref": "#/responses/notFound"
}
}
},
"patch": {
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"repository"
],
"summary": "Edit a branch protections for a repository. Only fields that are set will be changed",
"operationId": "repoEditBranchProtection",
"parameters": [
{
"type": "string",
"description": "owner of the repo",
"name": "owner",
"in": "path",
"required": true
},
{
"type": "string",
"description": "name of the repo",
"name": "repo",
"in": "path",
"required": true
},
{
"type": "string",
"description": "name of protected branch",
"name": "name",
"in": "path",
"required": true
},
{
"name": "body",
"in": "body",
"schema": {
"$ref": "#/definitions/EditBranchProtectionOption"
}
}
],
"responses": {
"200": {
"$ref": "#/responses/BranchProtection"
},
"404": {
"$ref": "#/responses/notFound"
},
"422": {
"$ref": "#/responses/validationError"
}
}
}
},
2017-11-13 12:32:25 +05:30
"/repos/ { owner}/ { repo}/branches": {
"get": {
2017-08-21 16:43:47 +05:30
"produces": [
"application/json"
],
"tags": [
"repository"
],
2017-11-13 12:32:25 +05:30
"summary": "List a repository's branches",
"operationId": "repoListBranches",
"parameters": [
{
"type": "string",
"description": "owner of the repo",
"name": "owner",
"in": "path",
"required": true
2017-08-21 16:43:47 +05:30
},
2017-11-13 12:32:25 +05:30
{
"type": "string",
"description": "name of the repo",
"name": "repo",
"in": "path",
"required": true
2021-02-04 00:36:13 +05:30
},
{
"type": "integer",
"description": "page number of results to return (1-based)",
"name": "page",
"in": "query"
},
{
"type": "integer",
"description": "page size of results",
"name": "limit",
"in": "query"
2017-11-13 12:32:25 +05:30
}
],
"responses": {
"200": {
"$ref": "#/responses/BranchList"
2017-08-21 16:43:47 +05:30
}
}
2020-05-29 23:46:20 +05:30
},
"post": {
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"repository"
],
"summary": "Create a branch",
"operationId": "repoCreateBranch",
"parameters": [
{
"type": "string",
"description": "owner of the repo",
"name": "owner",
"in": "path",
"required": true
},
{
"type": "string",
"description": "name of the repo",
"name": "repo",
"in": "path",
"required": true
},
{
"name": "body",
"in": "body",
"schema": {
"$ref": "#/definitions/CreateBranchRepoOption"
}
}
],
"responses": {
"201": {
"$ref": "#/responses/Branch"
},
"404": {
"description": "The old branch does not exist."
},
"409": {
"description": "The branch with the same name already exists."
}
}
2017-08-21 16:43:47 +05:30
}
},
2017-11-13 12:32:25 +05:30
"/repos/ { owner}/ { repo}/branches/ { branch}": {
2017-08-21 16:43:47 +05:30
"get": {
"produces": [
"application/json"
],
"tags": [
"repository"
],
2019-11-17 01:09:18 +05:30
"summary": "Retrieve a specific branch from a repository, including its effective branch protection",
2017-11-13 12:32:25 +05:30
"operationId": "repoGetBranch",
"parameters": [
{
"type": "string",
"description": "owner of the repo",
"name": "owner",
"in": "path",
"required": true
},
{
"type": "string",
"description": "name of the repo",
"name": "repo",
"in": "path",
"required": true
},
{
"type": "string",
"description": "branch to get",
"name": "branch",
"in": "path",
"required": true
}
],
2017-08-21 16:43:47 +05:30
"responses": {
"200": {
2017-11-13 12:32:25 +05:30
"$ref": "#/responses/Branch"
2020-11-14 21:43:55 +05:30
},
"404": {
"$ref": "#/responses/notFound"
2017-08-21 16:43:47 +05:30
}
}
2020-04-19 08:08:09 +05:30
},
"delete": {
"produces": [
"application/json"
],
"tags": [
"repository"
],
"summary": "Delete a specific branch from a repository",
"operationId": "repoDeleteBranch",
"parameters": [
{
"type": "string",
"description": "owner of the repo",
"name": "owner",
"in": "path",
"required": true
},
{
"type": "string",
"description": "name of the repo",
"name": "repo",
"in": "path",
"required": true
},
{
"type": "string",
"description": "branch to delete",
"name": "branch",
"in": "path",
"required": true
}
],
"responses": {
"204": {
"$ref": "#/responses/empty"
},
"403": {
"$ref": "#/responses/error"
2020-11-14 21:43:55 +05:30
},
"404": {
"$ref": "#/responses/notFound"
2020-04-19 08:08:09 +05:30
}
}
2017-11-13 12:32:25 +05:30
}
},
"/repos/ { owner}/ { repo}/collaborators": {
"get": {
2017-08-21 16:43:47 +05:30
"produces": [
"application/json"
],
"tags": [
"repository"
],
2017-11-13 12:32:25 +05:30
"summary": "List a repository's collaborators",
"operationId": "repoListCollaborators",
2017-08-21 16:43:47 +05:30
"parameters": [
{
2017-11-13 12:32:25 +05:30
"type": "string",
"description": "owner of the repo",
"name": "owner",
"in": "path",
"required": true
2017-08-21 16:43:47 +05:30
},
{
2017-11-13 12:32:25 +05:30
"type": "string",
"description": "name of the repo",
"name": "repo",
"in": "path",
"required": true
2020-01-25 00:30:29 +05:30
},
{
"type": "integer",
"description": "page number of results to return (1-based)",
"name": "page",
"in": "query"
},
{
"type": "integer",
2020-06-09 10:27:38 +05:30
"description": "page size of results",
2020-01-25 00:30:29 +05:30
"name": "limit",
"in": "query"
2017-08-21 16:43:47 +05:30
}
],
"responses": {
"200": {
2017-11-13 12:32:25 +05:30
"$ref": "#/responses/UserList"
2017-05-02 19:05:59 +05:30
}
}
}
},
2017-11-13 12:32:25 +05:30
"/repos/ { owner}/ { repo}/collaborators/ { collaborator}": {
"get": {
2017-06-12 06:29:51 +05:30
"produces": [
"application/json"
],
2017-08-21 16:43:47 +05:30
"tags": [
"repository"
],
2017-11-13 12:32:25 +05:30
"summary": "Check if a user is a collaborator of a repository",
"operationId": "repoCheckCollaborator",
"parameters": [
{
"type": "string",
"description": "owner of the repo",
"name": "owner",
"in": "path",
"required": true
},
{
"type": "string",
"description": "name of the repo",
"name": "repo",
"in": "path",
"required": true
},
{
"type": "string",
"description": "username of the collaborator",
"name": "collaborator",
"in": "path",
"required": true
}
],
2017-06-12 06:29:51 +05:30
"responses": {
2017-08-21 16:43:47 +05:30
"204": {
"$ref": "#/responses/empty"
},
"404": {
2019-12-20 22:37:12 +05:30
"$ref": "#/responses/notFound"
},
"422": {
"$ref": "#/responses/validationError"
2017-06-12 06:29:51 +05:30
}
}
},
2017-11-13 12:32:25 +05:30
"put": {
2017-06-12 06:29:51 +05:30
"produces": [
"application/json"
],
2017-08-21 16:43:47 +05:30
"tags": [
"repository"
],
2017-11-13 12:32:25 +05:30
"summary": "Add a collaborator to a repository",
"operationId": "repoAddCollaborator",
2017-08-21 16:43:47 +05:30
"parameters": [
{
2017-11-13 12:32:25 +05:30
"type": "string",
"description": "owner of the repo",
"name": "owner",
"in": "path",
"required": true
2017-06-12 06:29:51 +05:30
},
2017-08-21 16:43:47 +05:30
{
2017-11-13 12:32:25 +05:30
"type": "string",
"description": "name of the repo",
"name": "repo",
"in": "path",
"required": true
},
{
"type": "string",
"description": "username of the collaborator to add",
"name": "collaborator",
"in": "path",
"required": true
2017-08-21 16:43:47 +05:30
},
{
2017-11-13 12:32:25 +05:30
"name": "body",
2017-08-21 16:43:47 +05:30
"in": "body",
"schema": {
2017-11-13 12:32:25 +05:30
"$ref": "#/definitions/AddCollaboratorOption"
2017-08-21 16:43:47 +05:30
}
}
],
"responses": {
2017-11-13 12:32:25 +05:30
"204": {
"$ref": "#/responses/empty"
2019-12-20 22:37:12 +05:30
},
"422": {
"$ref": "#/responses/validationError"
2017-06-12 06:29:51 +05:30
}
}
2017-11-13 12:32:25 +05:30
},
"delete": {
2017-09-12 12:18:13 +05:30
"produces": [
"application/json"
],
"tags": [
"repository"
],
2017-11-13 12:32:25 +05:30
"summary": "Delete a collaborator from a repository",
"operationId": "repoDeleteCollaborator",
"parameters": [
{
"type": "string",
"description": "owner of the repo",
"name": "owner",
"in": "path",
"required": true
},
{
"type": "string",
"description": "name of the repo",
"name": "repo",
"in": "path",
"required": true
},
{
"type": "string",
"description": "username of the collaborator to delete",
"name": "collaborator",
"in": "path",
"required": true
}
],
2017-09-12 12:18:13 +05:30
"responses": {
2017-11-13 12:32:25 +05:30
"204": {
"$ref": "#/responses/empty"
2019-12-20 22:37:12 +05:30
},
"422": {
"$ref": "#/responses/validationError"
2017-11-13 12:32:25 +05:30
}
}
}
},
2022-04-29 17:54:38 +05:30
"/repos/ { owner}/ { repo}/collaborators/ { collaborator}/permission": {
"get": {
"produces": [
"application/json"
],
"tags": [
"repository"
],
"summary": "Get repository permissions for a user",
"operationId": "repoGetRepoPermissions",
"parameters": [
{
"type": "string",
"description": "owner of the repo",
"name": "owner",
"in": "path",
"required": true
},
{
"type": "string",
"description": "name of the repo",
"name": "repo",
"in": "path",
"required": true
},
{
"type": "string",
"description": "username of the collaborator",
"name": "collaborator",
"in": "path",
"required": true
}
],
"responses": {
"200": {
"$ref": "#/responses/RepoCollaboratorPermission"
},
"403": {
"$ref": "#/responses/forbidden"
},
"404": {
"$ref": "#/responses/notFound"
}
}
}
},
2019-08-26 19:39:10 +05:30
"/repos/ { owner}/ { repo}/commits": {
"get": {
"produces": [
"application/json"
],
"tags": [
"repository"
],
"summary": "Get a list of all commits from a repository",
"operationId": "repoGetAllCommits",
"parameters": [
{
"type": "string",
"description": "owner of the repo",
"name": "owner",
"in": "path",
"required": true
},
{
"type": "string",
"description": "name of the repo",
"name": "repo",
"in": "path",
"required": true
},
{
"type": "string",
"description": "SHA or branch to start listing commits from (usually 'master')",
"name": "sha",
"in": "query"
},
2021-12-22 11:47:33 +05:30
{
"type": "string",
"description": "filepath of a file/dir",
"name": "path",
"in": "query"
},
2022-10-06 08:51:04 +05:30
{
"type": "boolean",
"description": "include diff stats for every commit (disable for speedup, default 'true')",
"name": "stat",
"in": "query"
},
2019-08-26 19:39:10 +05:30
{
"type": "integer",
2020-01-25 00:30:29 +05:30
"description": "page number of results to return (1-based)",
2019-08-26 19:39:10 +05:30
"name": "page",
"in": "query"
2020-01-25 00:30:29 +05:30
},
{
"type": "integer",
2021-12-22 11:47:33 +05:30
"description": "page size of results (ignored if used with 'path')",
2020-01-25 00:30:29 +05:30
"name": "limit",
"in": "query"
2019-08-26 19:39:10 +05:30
}
],
"responses": {
"200": {
"$ref": "#/responses/CommitList"
},
"404": {
"$ref": "#/responses/notFound"
},
"409": {
"$ref": "#/responses/EmptyRepository"
}
}
}
},
2020-12-18 09:03:32 +05:30
"/repos/ { owner}/ { repo}/commits/ { ref}/status": {
2017-11-13 12:32:25 +05:30
"get": {
2017-05-19 05:50:06 +05:30
"produces": [
"application/json"
],
2017-08-21 16:43:47 +05:30
"tags": [
"repository"
],
2017-11-13 12:32:25 +05:30
"summary": "Get a commit's combined status, by branch/tag/commit reference",
"operationId": "repoGetCombinedStatusByRef",
"parameters": [
{
"type": "string",
"description": "owner of the repo",
"name": "owner",
"in": "path",
"required": true
},
{
"type": "string",
"description": "name of the repo",
"name": "repo",
"in": "path",
"required": true
},
{
"type": "string",
"description": "name of branch/tag/commit",
"name": "ref",
"in": "path",
"required": true
2019-07-25 16:25:06 +05:30
},
{
"type": "integer",
2020-12-18 09:03:32 +05:30
"description": "page number of results to return (1-based)",
"name": "page",
"in": "query"
},
{
"type": "integer",
"description": "page size of results",
"name": "limit",
"in": "query"
}
],
"responses": {
"200": {
"$ref": "#/responses/CombinedStatus"
},
"400": {
"$ref": "#/responses/error"
}
}
}
},
"/repos/ { owner}/ { repo}/commits/ { ref}/statuses": {
"get": {
"produces": [
"application/json"
],
"tags": [
"repository"
],
"summary": "Get a commit's statuses, by branch/tag/commit reference",
"operationId": "repoListStatusesByRef",
"parameters": [
{
"type": "string",
"description": "owner of the repo",
"name": "owner",
"in": "path",
"required": true
},
{
"type": "string",
"description": "name of the repo",
"name": "repo",
"in": "path",
"required": true
},
{
"type": "string",
"description": "name of branch/tag/commit",
"name": "ref",
"in": "path",
"required": true
},
{
"enum": [
"oldest",
"recentupdate",
"leastupdate",
"leastindex",
"highestindex"
],
"type": "string",
"description": "type of sort",
"name": "sort",
"in": "query"
},
{
"enum": [
"pending",
"success",
"error",
"failure",
"warning"
],
"type": "string",
"description": "type of state",
"name": "state",
"in": "query"
},
{
"type": "integer",
"description": "page number of results to return (1-based)",
2019-07-25 16:25:06 +05:30
"name": "page",
"in": "query"
2020-12-18 09:03:32 +05:30
},
{
"type": "integer",
"description": "page size of results",
"name": "limit",
"in": "query"
2017-11-13 12:32:25 +05:30
}
],
2017-05-19 05:50:06 +05:30
"responses": {
"200": {
2020-12-18 09:03:32 +05:30
"$ref": "#/responses/CommitStatusList"
2019-12-20 22:37:12 +05:30
},
"400": {
"$ref": "#/responses/error"
2017-05-19 05:50:06 +05:30
}
}
}
},
2019-06-30 02:21:10 +05:30
"/repos/ { owner}/ { repo}/contents": {
"get": {
"produces": [
"application/json"
],
"tags": [
"repository"
],
"summary": "Gets the metadata of all the entries of the root dir",
"operationId": "repoGetContentsList",
"parameters": [
{
"type": "string",
"description": "owner of the repo",
"name": "owner",
"in": "path",
"required": true
},
{
"type": "string",
"description": "name of the repo",
"name": "repo",
"in": "path",
"required": true
},
{
"type": "string",
"description": "The name of the commit/branch/tag. Default the repository’ s default branch (usually master)",
"name": "ref",
"in": "query"
}
],
"responses": {
"200": {
"$ref": "#/responses/ContentsListResponse"
2020-04-15 10:48:51 +05:30
},
"404": {
"$ref": "#/responses/notFound"
2019-06-30 02:21:10 +05:30
}
}
}
},
2019-04-17 21:36:35 +05:30
"/repos/ { owner}/ { repo}/contents/ { filepath}": {
"get": {
"produces": [
"application/json"
],
"tags": [
"repository"
],
2019-06-30 02:21:10 +05:30
"summary": "Gets the metadata and contents (if a file) of an entry in a repository, or a list of entries if a dir",
"operationId": "repoGetContents",
2019-04-17 21:36:35 +05:30
"parameters": [
{
"type": "string",
"description": "owner of the repo",
"name": "owner",
"in": "path",
"required": true
},
{
"type": "string",
"description": "name of the repo",
"name": "repo",
"in": "path",
"required": true
},
{
"type": "string",
2019-06-30 02:21:10 +05:30
"description": "path of the dir, file, symlink or submodule in the repo",
2019-04-17 21:36:35 +05:30
"name": "filepath",
"in": "path",
"required": true
},
{
"type": "string",
"description": "The name of the commit/branch/tag. Default the repository’ s default branch (usually master)",
"name": "ref",
"in": "query"
}
],
"responses": {
"200": {
2019-06-30 02:21:10 +05:30
"$ref": "#/responses/ContentsResponse"
2020-04-15 10:48:51 +05:30
},
"404": {
"$ref": "#/responses/notFound"
2019-04-17 21:36:35 +05:30
}
}
},
"put": {
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"repository"
],
"summary": "Update a file in a repository",
"operationId": "repoUpdateFile",
"parameters": [
{
"type": "string",
"description": "owner of the repo",
"name": "owner",
"in": "path",
"required": true
},
{
"type": "string",
"description": "name of the repo",
"name": "repo",
"in": "path",
"required": true
},
{
"type": "string",
"description": "path of the file to update",
"name": "filepath",
"in": "path",
"required": true
},
{
"name": "body",
"in": "body",
2019-05-30 23:27:55 +05:30
"required": true,
2019-04-17 21:36:35 +05:30
"schema": {
"$ref": "#/definitions/UpdateFileOptions"
}
}
],
"responses": {
"200": {
"$ref": "#/responses/FileResponse"
2020-06-01 02:29:34 +05:30
},
"403": {
"$ref": "#/responses/error"
},
"404": {
"$ref": "#/responses/notFound"
},
"422": {
"$ref": "#/responses/error"
2019-04-17 21:36:35 +05:30
}
}
},
"post": {
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"repository"
],
"summary": "Create a file in a repository",
"operationId": "repoCreateFile",
"parameters": [
{
"type": "string",
"description": "owner of the repo",
"name": "owner",
"in": "path",
"required": true
},
{
"type": "string",
"description": "name of the repo",
"name": "repo",
"in": "path",
"required": true
},
{
"type": "string",
"description": "path of the file to create",
"name": "filepath",
"in": "path",
"required": true
},
{
"name": "body",
"in": "body",
2019-05-30 23:27:55 +05:30
"required": true,
2019-04-17 21:36:35 +05:30
"schema": {
"$ref": "#/definitions/CreateFileOptions"
}
}
],
"responses": {
"201": {
"$ref": "#/responses/FileResponse"
2020-06-01 02:29:34 +05:30
},
"403": {
"$ref": "#/responses/error"
},
"404": {
"$ref": "#/responses/notFound"
},
"422": {
"$ref": "#/responses/error"
2019-04-17 21:36:35 +05:30
}
}
},
"delete": {
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"repository"
],
"summary": "Delete a file in a repository",
"operationId": "repoDeleteFile",
"parameters": [
{
"type": "string",
"description": "owner of the repo",
"name": "owner",
"in": "path",
"required": true
},
{
"type": "string",
"description": "name of the repo",
"name": "repo",
"in": "path",
"required": true
},
{
"type": "string",
"description": "path of the file to delete",
"name": "filepath",
"in": "path",
"required": true
},
{
"name": "body",
"in": "body",
2019-05-30 23:27:55 +05:30
"required": true,
2019-04-17 21:36:35 +05:30
"schema": {
"$ref": "#/definitions/DeleteFileOptions"
}
}
],
"responses": {
"200": {
"$ref": "#/responses/FileDeleteResponse"
2020-04-15 10:48:51 +05:30
},
"400": {
"$ref": "#/responses/error"
},
"403": {
"$ref": "#/responses/error"
},
"404": {
"$ref": "#/responses/error"
2019-04-17 21:36:35 +05:30
}
}
}
},
2022-02-10 01:58:55 +05:30
"/repos/ { owner}/ { repo}/diffpatch": {
"post": {
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"repository"
],
"summary": "Apply diff patch to repository",
"operationId": "repoApplyDiffPatch",
"parameters": [
{
"type": "string",
"description": "owner of the repo",
"name": "owner",
"in": "path",
"required": true
},
{
"type": "string",
"description": "name of the repo",
"name": "repo",
"in": "path",
"required": true
},
{
"name": "body",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/UpdateFileOptions"
}
}
],
"responses": {
"200": {
"$ref": "#/responses/FileResponse"
}
}
}
},
2017-11-13 12:32:25 +05:30
"/repos/ { owner}/ { repo}/editorconfig/ { filepath}": {
2017-05-02 19:05:59 +05:30
"get": {
2017-11-13 12:32:25 +05:30
"produces": [
"application/json"
],
2017-08-21 16:43:47 +05:30
"tags": [
"repository"
],
2017-11-13 12:32:25 +05:30
"summary": "Get the EditorConfig definitions of a file in a repository",
"operationId": "repoGetEditorConfig",
"parameters": [
{
"type": "string",
"description": "owner of the repo",
"name": "owner",
"in": "path",
"required": true
2017-05-02 19:05:59 +05:30
},
2017-11-13 12:32:25 +05:30
{
"type": "string",
"description": "name of the repo",
"name": "repo",
"in": "path",
"required": true
2017-05-02 19:05:59 +05:30
},
2017-11-13 12:32:25 +05:30
{
"type": "string",
"description": "filepath of file to get",
"name": "filepath",
"in": "path",
"required": true
2022-04-21 20:47:57 +05:30
},
{
"type": "string",
"description": "The name of the commit/branch/tag. Default the repository’ s default branch (usually master)",
"name": "ref",
"in": "query"
2017-05-02 19:05:59 +05:30
}
2017-08-21 16:43:47 +05:30
],
2017-05-02 19:05:59 +05:30
"responses": {
2018-06-01 11:21:49 +05:30
"200": {
"description": "success"
2019-12-20 22:37:12 +05:30
},
"404": {
"$ref": "#/responses/notFound"
2018-06-01 11:21:49 +05:30
}
2017-05-02 19:05:59 +05:30
}
}
},
2017-11-13 12:32:25 +05:30
"/repos/ { owner}/ { repo}/forks": {
2017-09-12 12:18:13 +05:30
"get": {
"produces": [
"application/json"
],
"tags": [
"repository"
],
2017-11-13 12:32:25 +05:30
"summary": "List a repository's forks",
"operationId": "listForks",
"parameters": [
{
"type": "string",
"description": "owner of the repo",
"name": "owner",
"in": "path",
"required": true
},
{
"type": "string",
"description": "name of the repo",
"name": "repo",
"in": "path",
"required": true
2020-01-25 00:30:29 +05:30
},
{
"type": "integer",
"description": "page number of results to return (1-based)",
"name": "page",
"in": "query"
},
{
"type": "integer",
2020-06-09 10:27:38 +05:30
"description": "page size of results",
2020-01-25 00:30:29 +05:30
"name": "limit",
"in": "query"
2017-11-13 12:32:25 +05:30
}
],
2017-09-12 12:18:13 +05:30
"responses": {
"200": {
2017-11-13 12:32:25 +05:30
"$ref": "#/responses/RepositoryList"
2017-09-12 12:18:13 +05:30
}
}
2017-11-13 12:32:25 +05:30
},
"post": {
2017-09-12 12:18:13 +05:30
"produces": [
"application/json"
],
"tags": [
2017-11-13 12:32:25 +05:30
"repository"
2017-09-12 12:18:13 +05:30
],
2017-11-13 12:32:25 +05:30
"summary": "Fork a repository",
"operationId": "createFork",
"parameters": [
{
"type": "string",
"description": "owner of the repo to fork",
"name": "owner",
"in": "path",
"required": true
2017-09-12 12:18:13 +05:30
},
2017-11-13 12:32:25 +05:30
{
"type": "string",
"description": "name of the repo to fork",
"name": "repo",
"in": "path",
"required": true
2017-09-12 12:18:13 +05:30
},
2017-11-13 12:32:25 +05:30
{
"name": "body",
"in": "body",
"schema": {
"$ref": "#/definitions/CreateForkOption"
}
}
],
"responses": {
"202": {
"$ref": "#/responses/Repository"
2019-12-20 22:37:12 +05:30
},
"403": {
"$ref": "#/responses/forbidden"
},
2021-12-24 20:13:00 +05:30
"409": {
"description": "The repository with the same name already exists."
},
2019-12-20 22:37:12 +05:30
"422": {
"$ref": "#/responses/validationError"
2017-09-12 12:18:13 +05:30
}
}
}
},
2019-04-17 21:36:35 +05:30
"/repos/ { owner}/ { repo}/git/blobs/ { sha}": {
"get": {
"produces": [
"application/json"
],
"tags": [
"repository"
],
"summary": "Gets the blob of a repository.",
"operationId": "GetBlob",
"parameters": [
{
"type": "string",
"description": "owner of the repo",
"name": "owner",
"in": "path",
"required": true
},
{
"type": "string",
"description": "name of the repo",
"name": "repo",
"in": "path",
"required": true
},
{
"type": "string",
"description": "sha of the commit",
"name": "sha",
"in": "path",
"required": true
}
],
"responses": {
"200": {
"$ref": "#/responses/GitBlobResponse"
2019-12-20 22:37:12 +05:30
},
"400": {
"$ref": "#/responses/error"
2019-04-17 21:36:35 +05:30
}
}
}
},
2019-02-03 09:05:17 +05:30
"/repos/ { owner}/ { repo}/git/commits/ { sha}": {
"get": {
"produces": [
"application/json"
],
"tags": [
"repository"
],
"summary": "Get a single commit from a repository",
2020-05-11 15:14:36 +05:30
"operationId": "repoGetSingleCommit",
2019-02-03 09:05:17 +05:30
"parameters": [
{
"type": "string",
"description": "owner of the repo",
"name": "owner",
"in": "path",
"required": true
},
{
"type": "string",
"description": "name of the repo",
"name": "repo",
"in": "path",
"required": true
},
{
"type": "string",
2020-05-11 15:14:36 +05:30
"description": "a git ref or commit sha",
2019-02-03 09:05:17 +05:30
"name": "sha",
"in": "path",
"required": true
}
],
"responses": {
"200": {
"$ref": "#/responses/Commit"
},
"404": {
"$ref": "#/responses/notFound"
2020-04-08 08:24:46 +05:30
},
"422": {
"$ref": "#/responses/validationError"
2019-02-03 09:05:17 +05:30
}
}
}
},
2021-09-20 21:44:29 +05:30
"/repos/ { owner}/ { repo}/git/commits/ { sha}. { diffType}": {
"get": {
"produces": [
"text/plain"
],
"tags": [
"repository"
],
"summary": "Get a commit's diff or patch",
"operationId": "repoDownloadCommitDiffOrPatch",
"parameters": [
{
"type": "string",
"description": "owner of the repo",
"name": "owner",
"in": "path",
"required": true
},
{
"type": "string",
"description": "name of the repo",
"name": "repo",
"in": "path",
"required": true
},
{
"type": "string",
"description": "SHA of the commit to get",
"name": "sha",
"in": "path",
"required": true
},
{
"enum": [
"diff",
"patch"
],
"type": "string",
"description": "whether the output is diff or patch",
"name": "diffType",
"in": "path",
"required": true
}
],
"responses": {
"200": {
"$ref": "#/responses/string"
},
"404": {
"$ref": "#/responses/notFound"
}
}
}
},
2021-08-11 06:31:40 +05:30
"/repos/ { owner}/ { repo}/git/notes/ { sha}": {
"get": {
"produces": [
"application/json"
],
"tags": [
"repository"
],
"summary": "Get a note corresponding to a single commit from a repository",
"operationId": "repoGetNote",
"parameters": [
{
"type": "string",
"description": "owner of the repo",
"name": "owner",
"in": "path",
"required": true
},
{
"type": "string",
"description": "name of the repo",
"name": "repo",
"in": "path",
"required": true
},
{
"type": "string",
"description": "a git ref or commit sha",
"name": "sha",
"in": "path",
"required": true
}
],
"responses": {
"200": {
"$ref": "#/responses/Note"
},
"404": {
"$ref": "#/responses/notFound"
},
"422": {
"$ref": "#/responses/validationError"
}
}
}
},
2018-11-28 03:22:20 +05:30
"/repos/ { owner}/ { repo}/git/refs": {
"get": {
"produces": [
"application/json"
],
"tags": [
"repository"
],
"summary": "Get specified ref or filtered repository's refs",
"operationId": "repoListAllGitRefs",
"parameters": [
{
"type": "string",
"description": "owner of the repo",
"name": "owner",
"in": "path",
"required": true
},
{
"type": "string",
"description": "name of the repo",
"name": "repo",
"in": "path",
"required": true
}
],
"responses": {
"200": {
"$ref": "#/responses/ReferenceList"
},
"404": {
"$ref": "#/responses/notFound"
}
}
}
},
"/repos/ { owner}/ { repo}/git/refs/ { ref}": {
"get": {
"produces": [
"application/json"
],
"tags": [
"repository"
],
"summary": "Get specified ref or filtered repository's refs",
"operationId": "repoListGitRefs",
"parameters": [
{
"type": "string",
"description": "owner of the repo",
"name": "owner",
"in": "path",
"required": true
},
{
"type": "string",
"description": "name of the repo",
"name": "repo",
"in": "path",
"required": true
},
{
"type": "string",
"description": "part or full name of the ref",
"name": "ref",
"in": "path",
"required": true
}
],
"responses": {
"200": {
"$ref": "#/responses/ReferenceList"
},
"404": {
"$ref": "#/responses/notFound"
}
}
}
},
2019-06-08 20:01:11 +05:30
"/repos/ { owner}/ { repo}/git/tags/ { sha}": {
"get": {
"produces": [
"application/json"
],
"tags": [
"repository"
],
2019-08-27 01:22:04 +05:30
"summary": "Gets the tag object of an annotated tag (not lightweight tags)",
2021-06-24 02:38:47 +05:30
"operationId": "GetAnnotatedTag",
2019-06-08 20:01:11 +05:30
"parameters": [
{
"type": "string",
"description": "owner of the repo",
"name": "owner",
"in": "path",
"required": true
},
{
"type": "string",
"description": "name of the repo",
"name": "repo",
"in": "path",
"required": true
},
{
"type": "string",
2019-08-27 01:22:04 +05:30
"description": "sha of the tag. The Git tags API only supports annotated tag objects, not lightweight tags.",
2019-06-08 20:01:11 +05:30
"name": "sha",
"in": "path",
"required": true
}
],
"responses": {
"200": {
"$ref": "#/responses/AnnotatedTag"
2019-12-20 22:37:12 +05:30
},
"400": {
"$ref": "#/responses/error"
2019-06-08 20:01:11 +05:30
}
}
}
},
2019-01-24 23:43:30 +05:30
"/repos/ { owner}/ { repo}/git/trees/ { sha}": {
"get": {
"produces": [
"application/json"
],
"tags": [
"repository"
],
"summary": "Gets the tree of a repository.",
"operationId": "GetTree",
"parameters": [
{
"type": "string",
"description": "owner of the repo",
"name": "owner",
"in": "path",
"required": true
},
{
"type": "string",
"description": "name of the repo",
"name": "repo",
"in": "path",
"required": true
},
{
"type": "string",
"description": "sha of the commit",
"name": "sha",
"in": "path",
"required": true
2019-02-06 23:49:26 +05:30
},
{
"type": "boolean",
"description": "show all directories and files",
"name": "recursive",
"in": "query"
},
{
"type": "integer",
"description": "page number; the 'truncated' field in the response will be true if there are still more items after this page, false if the last page",
"name": "page",
"in": "query"
},
{
"type": "integer",
2020-06-09 10:27:38 +05:30
"description": "number of items per page",
2019-02-06 23:49:26 +05:30
"name": "per_page",
"in": "query"
2019-01-24 23:43:30 +05:30
}
],
"responses": {
"200": {
"$ref": "#/responses/GitTreeResponse"
2019-12-20 22:37:12 +05:30
},
"400": {
"$ref": "#/responses/error"
2019-01-24 23:43:30 +05:30
}
}
}
},
2017-11-13 12:32:25 +05:30
"/repos/ { owner}/ { repo}/hooks": {
2017-08-21 16:43:47 +05:30
"get": {
"produces": [
"application/json"
],
"tags": [
"repository"
],
2017-11-13 12:32:25 +05:30
"summary": "List the hooks in a repository",
"operationId": "repoListHooks",
"parameters": [
{
"type": "string",
"description": "owner of the repo",
"name": "owner",
"in": "path",
"required": true
},
{
"type": "string",
"description": "name of the repo",
"name": "repo",
"in": "path",
"required": true
2020-01-25 00:30:29 +05:30
},
{
"type": "integer",
"description": "page number of results to return (1-based)",
"name": "page",
"in": "query"
},
{
"type": "integer",
2020-06-09 10:27:38 +05:30
"description": "page size of results",
2020-01-25 00:30:29 +05:30
"name": "limit",
"in": "query"
2017-11-13 12:32:25 +05:30
}
],
2017-08-21 16:43:47 +05:30
"responses": {
"200": {
2017-11-13 12:32:25 +05:30
"$ref": "#/responses/HookList"
2017-08-21 16:43:47 +05:30
}
}
2017-11-13 12:32:25 +05:30
},
"post": {
"consumes": [
"application/json"
],
2017-05-02 19:05:59 +05:30
"produces": [
"application/json"
],
2017-08-21 16:43:47 +05:30
"tags": [
2017-11-13 12:32:25 +05:30
"repository"
],
"summary": "Create a hook",
"operationId": "repoCreateHook",
"parameters": [
{
"type": "string",
"description": "owner of the repo",
"name": "owner",
"in": "path",
"required": true
},
{
"type": "string",
"description": "name of the repo",
"name": "repo",
"in": "path",
"required": true
},
{
"name": "body",
"in": "body",
"schema": {
"$ref": "#/definitions/CreateHookOption"
}
}
2017-08-21 16:43:47 +05:30
],
2017-05-02 19:05:59 +05:30
"responses": {
2017-11-20 12:30:53 +05:30
"201": {
2017-11-13 12:32:25 +05:30
"$ref": "#/responses/Hook"
2017-05-02 19:05:59 +05:30
}
}
}
},
2019-04-17 11:01:08 +05:30
"/repos/ { owner}/ { repo}/hooks/git": {
"get": {
"produces": [
"application/json"
],
"tags": [
"repository"
],
"summary": "List the Git hooks in a repository",
"operationId": "repoListGitHooks",
"parameters": [
{
"type": "string",
"description": "owner of the repo",
"name": "owner",
"in": "path",
"required": true
},
{
"type": "string",
"description": "name of the repo",
"name": "repo",
"in": "path",
"required": true
}
],
"responses": {
"200": {
"$ref": "#/responses/GitHookList"
}
}
}
},
"/repos/ { owner}/ { repo}/hooks/git/ { id}": {
"get": {
"produces": [
"application/json"
],
"tags": [
"repository"
],
"summary": "Get a Git hook",
"operationId": "repoGetGitHook",
"parameters": [
{
"type": "string",
"description": "owner of the repo",
"name": "owner",
"in": "path",
"required": true
},
{
"type": "string",
"description": "name of the repo",
"name": "repo",
"in": "path",
"required": true
},
{
"type": "string",
"description": "id of the hook to get",
"name": "id",
"in": "path",
"required": true
}
],
"responses": {
"200": {
"$ref": "#/responses/GitHook"
},
"404": {
"$ref": "#/responses/notFound"
}
}
},
"delete": {
"produces": [
"application/json"
],
"tags": [
"repository"
],
"summary": "Delete a Git hook in a repository",
"operationId": "repoDeleteGitHook",
"parameters": [
{
"type": "string",
"description": "owner of the repo",
"name": "owner",
"in": "path",
"required": true
},
{
"type": "string",
"description": "name of the repo",
"name": "repo",
"in": "path",
"required": true
},
{
"type": "string",
"description": "id of the hook to get",
"name": "id",
"in": "path",
"required": true
}
],
"responses": {
"204": {
"$ref": "#/responses/empty"
},
"404": {
"$ref": "#/responses/notFound"
}
}
},
"patch": {
"produces": [
"application/json"
],
"tags": [
"repository"
],
"summary": "Edit a Git hook in a repository",
"operationId": "repoEditGitHook",
"parameters": [
{
"type": "string",
"description": "owner of the repo",
"name": "owner",
"in": "path",
"required": true
},
{
"type": "string",
"description": "name of the repo",
"name": "repo",
"in": "path",
"required": true
},
{
"type": "string",
"description": "id of the hook to get",
"name": "id",
"in": "path",
"required": true
},
{
"name": "body",
"in": "body",
"schema": {
"$ref": "#/definitions/EditGitHookOption"
}
}
],
"responses": {
"200": {
"$ref": "#/responses/GitHook"
},
"404": {
"$ref": "#/responses/notFound"
}
}
}
},
2017-11-13 12:32:25 +05:30
"/repos/ { owner}/ { repo}/hooks/ { id}": {
2017-05-02 19:05:59 +05:30
"get": {
"produces": [
"application/json"
],
2017-08-21 16:43:47 +05:30
"tags": [
2017-11-13 12:32:25 +05:30
"repository"
],
"summary": "Get a hook",
"operationId": "repoGetHook",
"parameters": [
{
"type": "string",
"description": "owner of the repo",
"name": "owner",
"in": "path",
"required": true
},
{
"type": "string",
"description": "name of the repo",
"name": "repo",
"in": "path",
"required": true
},
{
"type": "integer",
2018-10-21 09:10:42 +05:30
"format": "int64",
2017-11-13 12:32:25 +05:30
"description": "id of the hook to get",
"name": "id",
"in": "path",
"required": true
}
2017-08-21 16:43:47 +05:30
],
2017-05-02 19:05:59 +05:30
"responses": {
"200": {
2017-11-13 12:32:25 +05:30
"$ref": "#/responses/Hook"
2019-12-20 22:37:12 +05:30
},
"404": {
"$ref": "#/responses/notFound"
2017-05-02 19:05:59 +05:30
}
}
2017-11-13 12:32:25 +05:30
},
2018-06-12 20:29:22 +05:30
"delete": {
"produces": [
"application/json"
],
"tags": [
"repository"
],
"summary": "Delete a hook in a repository",
"operationId": "repoDeleteHook",
"parameters": [
{
"type": "string",
"description": "owner of the repo",
"name": "owner",
"in": "path",
"required": true
},
{
"type": "string",
"description": "name of the repo",
"name": "repo",
"in": "path",
"required": true
},
{
"type": "integer",
2018-10-21 09:10:42 +05:30
"format": "int64",
2018-06-12 20:29:22 +05:30
"description": "id of the hook to delete",
"name": "id",
"in": "path",
"required": true
}
],
"responses": {
"204": {
"$ref": "#/responses/empty"
},
"404": {
"$ref": "#/responses/notFound"
}
}
},
2017-11-13 12:32:25 +05:30
"patch": {
2017-05-02 19:05:59 +05:30
"produces": [
"application/json"
],
2017-08-21 16:43:47 +05:30
"tags": [
2017-11-13 12:32:25 +05:30
"repository"
],
"summary": "Edit a hook in a repository",
"operationId": "repoEditHook",
"parameters": [
{
"type": "string",
"description": "owner of the repo",
"name": "owner",
"in": "path",
"required": true
},
{
"type": "string",
"description": "name of the repo",
"name": "repo",
"in": "path",
"required": true
},
2018-06-12 20:29:22 +05:30
{
"type": "integer",
2018-10-21 09:10:42 +05:30
"format": "int64",
2018-06-12 20:29:22 +05:30
"description": "index of the hook",
"name": "id",
"in": "path",
"required": true
},
2017-11-13 12:32:25 +05:30
{
"name": "body",
"in": "body",
"schema": {
"$ref": "#/definitions/EditHookOption"
}
}
2017-08-21 16:43:47 +05:30
],
2017-05-02 19:05:59 +05:30
"responses": {
"200": {
2017-11-13 12:32:25 +05:30
"$ref": "#/responses/Hook"
2017-05-02 19:05:59 +05:30
}
}
}
},
2018-04-29 11:51:33 +05:30
"/repos/ { owner}/ { repo}/hooks/ { id}/tests": {
"post": {
"produces": [
"application/json"
],
"tags": [
"repository"
],
"summary": "Test a push webhook",
"operationId": "repoTestHook",
"parameters": [
{
"type": "string",
"description": "owner of the repo",
"name": "owner",
"in": "path",
"required": true
},
{
"type": "string",
"description": "name of the repo",
"name": "repo",
"in": "path",
"required": true
},
{
"type": "integer",
2018-10-21 09:10:42 +05:30
"format": "int64",
2018-04-29 11:51:33 +05:30
"description": "id of the hook to test",
"name": "id",
"in": "path",
"required": true
2022-04-21 20:47:57 +05:30
},
{
"type": "string",
2022-09-04 14:48:07 +05:30
"description": "The name of the commit/branch/tag, indicates which commit will be loaded to the webhook payload.",
2022-04-21 20:47:57 +05:30
"name": "ref",
"in": "query"
2018-04-29 11:51:33 +05:30
}
],
"responses": {
"204": {
"$ref": "#/responses/empty"
}
}
}
},
2020-09-11 20:18:39 +05:30
"/repos/ { owner}/ { repo}/issue_templates": {
"get": {
"produces": [
"application/json"
],
"tags": [
"repository"
],
"summary": "Get available issue templates for a repository",
"operationId": "repoGetIssueTemplates",
"parameters": [
{
"type": "string",
"description": "owner of the repo",
"name": "owner",
"in": "path",
"required": true
},
{
"type": "string",
"description": "name of the repo",
"name": "repo",
"in": "path",
"required": true
}
],
"responses": {
"200": {
"$ref": "#/responses/IssueTemplates"
}
}
}
},
2018-05-08 11:35:18 +05:30
"/repos/ { owner}/ { repo}/issues": {
2017-05-02 19:05:59 +05:30
"get": {
2017-11-13 12:32:25 +05:30
"produces": [
"application/json"
2017-08-21 16:43:47 +05:30
],
"tags": [
2017-11-13 12:32:25 +05:30
"issue"
2017-08-21 16:43:47 +05:30
],
2018-05-08 11:35:18 +05:30
"summary": "List a repository's issues",
"operationId": "issueListIssues",
2017-11-13 12:32:25 +05:30
"parameters": [
{
"type": "string",
"description": "owner of the repo",
"name": "owner",
"in": "path",
"required": true
2017-05-02 19:05:59 +05:30
},
2017-11-13 12:32:25 +05:30
{
"type": "string",
"description": "name of the repo",
"name": "repo",
"in": "path",
"required": true
},
2018-05-08 11:35:18 +05:30
{
2020-06-28 02:02:28 +05:30
"enum": [
"closed",
"open",
"all"
],
2018-05-08 11:35:18 +05:30
"type": "string",
"description": "whether issue is open or closed",
"name": "state",
"in": "query"
},
2019-02-04 20:50:44 +05:30
{
"type": "string",
"description": "comma separated list of labels. Fetch only issues that have any of this labels. Non existent labels are discarded",
"name": "labels",
"in": "query"
},
2017-11-13 12:32:25 +05:30
{
"type": "string",
2018-05-08 11:35:18 +05:30
"description": "search string",
"name": "q",
2017-11-13 12:32:25 +05:30
"in": "query"
2020-01-20 17:30:32 +05:30
},
{
2020-06-28 02:02:28 +05:30
"enum": [
"issues",
"pulls"
],
2020-01-20 17:30:32 +05:30
"type": "string",
"description": "filter by type (issues / pulls) if set",
"name": "type",
"in": "query"
2020-01-25 00:30:29 +05:30
},
2020-04-30 09:45:39 +05:30
{
"type": "string",
"description": "comma separated list of milestone names or ids. It uses names and fall back to ids. Fetch only issues that have any of this milestones. Non existent milestones are discarded",
"name": "milestones",
"in": "query"
},
2021-06-17 04:03:37 +05:30
{
"type": "string",
"format": "date-time",
2021-09-18 06:31:50 +05:30
"description": "Only show items updated after the given time. This is a timestamp in RFC 3339 format",
2021-06-17 04:03:37 +05:30
"name": "since",
"in": "query"
},
{
"type": "string",
"format": "date-time",
2021-09-18 06:31:50 +05:30
"description": "Only show items updated before the given time. This is a timestamp in RFC 3339 format",
2021-06-17 04:03:37 +05:30
"name": "before",
"in": "query"
},
{
"type": "string",
2021-09-18 06:31:50 +05:30
"description": "Only show items which were created by the the given user",
2021-06-17 04:03:37 +05:30
"name": "created_by",
"in": "query"
},
{
"type": "string",
2021-09-18 06:31:50 +05:30
"description": "Only show items for which the given user is assigned",
2021-06-17 04:03:37 +05:30
"name": "assigned_by",
"in": "query"
},
{
"type": "string",
2021-09-18 06:31:50 +05:30
"description": "Only show items in which the given user was mentioned",
2021-06-17 04:03:37 +05:30
"name": "mentioned_by",
"in": "query"
},
2020-01-25 00:30:29 +05:30
{
"type": "integer",
"description": "page number of results to return (1-based)",
"name": "page",
"in": "query"
},
{
"type": "integer",
2020-06-09 10:27:38 +05:30
"description": "page size of results",
2020-01-25 00:30:29 +05:30
"name": "limit",
"in": "query"
2017-05-02 19:05:59 +05:30
}
2017-08-21 16:43:47 +05:30
],
2017-05-02 19:05:59 +05:30
"responses": {
2017-11-13 12:32:25 +05:30
"200": {
2018-05-08 11:35:18 +05:30
"$ref": "#/responses/IssueList"
2017-05-02 19:05:59 +05:30
}
}
2018-05-08 11:35:18 +05:30
},
"post": {
2017-11-13 12:32:25 +05:30
"consumes": [
"application/json"
],
2017-05-02 19:05:59 +05:30
"produces": [
"application/json"
],
2017-08-21 16:43:47 +05:30
"tags": [
2017-11-13 12:32:25 +05:30
"issue"
],
2019-01-01 23:26:47 +05:30
"summary": "Create an issue. If using deadline only the date will be taken into account, and time of day ignored.",
2018-05-08 11:35:18 +05:30
"operationId": "issueCreateIssue",
2017-11-13 12:32:25 +05:30
"parameters": [
{
"type": "string",
"description": "owner of the repo",
"name": "owner",
"in": "path",
"required": true
},
{
"type": "string",
"description": "name of the repo",
"name": "repo",
"in": "path",
"required": true
},
{
"name": "body",
"in": "body",
"schema": {
2018-05-08 11:35:18 +05:30
"$ref": "#/definitions/CreateIssueOption"
2017-11-13 12:32:25 +05:30
}
}
2017-08-21 16:43:47 +05:30
],
2017-05-02 19:05:59 +05:30
"responses": {
2018-05-08 11:35:18 +05:30
"201": {
"$ref": "#/responses/Issue"
2019-12-20 22:37:12 +05:30
},
"403": {
"$ref": "#/responses/forbidden"
},
"412": {
"$ref": "#/responses/error"
},
"422": {
"$ref": "#/responses/validationError"
2017-05-02 19:05:59 +05:30
}
}
2018-05-08 11:35:18 +05:30
}
},
"/repos/ { owner}/ { repo}/issues/comments": {
"get": {
2017-05-02 19:05:59 +05:30
"produces": [
"application/json"
],
2017-08-21 16:43:47 +05:30
"tags": [
2017-11-13 12:32:25 +05:30
"issue"
2017-08-21 16:43:47 +05:30
],
2018-05-08 11:35:18 +05:30
"summary": "List all comments in a repository",
"operationId": "issueGetRepoComments",
2017-05-02 19:05:59 +05:30
"parameters": [
{
2017-11-13 12:32:25 +05:30
"type": "string",
"description": "owner of the repo",
"name": "owner",
"in": "path",
"required": true
},
{
"type": "string",
"description": "name of the repo",
"name": "repo",
"in": "path",
"required": true
},
{
2018-05-08 11:35:18 +05:30
"type": "string",
2020-01-13 21:32:24 +05:30
"format": "date-time",
2018-05-08 11:35:18 +05:30
"description": "if provided, only comments updated since the provided time are returned.",
2018-07-12 19:10:41 +05:30
"name": "since",
2018-05-08 11:35:18 +05:30
"in": "query"
2020-01-13 21:32:24 +05:30
},
{
"type": "string",
"format": "date-time",
"description": "if provided, only comments updated before the provided time are returned.",
"name": "before",
"in": "query"
2020-01-25 00:30:29 +05:30
},
{
"type": "integer",
"description": "page number of results to return (1-based)",
"name": "page",
"in": "query"
},
{
"type": "integer",
2020-06-09 10:27:38 +05:30
"description": "page size of results",
2020-01-25 00:30:29 +05:30
"name": "limit",
"in": "query"
2017-05-02 19:05:59 +05:30
}
],
"responses": {
2017-11-13 12:32:25 +05:30
"200": {
2018-05-08 11:35:18 +05:30
"$ref": "#/responses/CommentList"
2017-05-02 19:05:59 +05:30
}
}
2018-05-08 11:35:18 +05:30
}
},
"/repos/ { owner}/ { repo}/issues/comments/ { id}": {
2020-01-08 12:30:59 +05:30
"get": {
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"issue"
],
"summary": "Get a comment",
"operationId": "issueGetComment",
"parameters": [
{
"type": "string",
"description": "owner of the repo",
"name": "owner",
"in": "path",
"required": true
},
{
"type": "string",
"description": "name of the repo",
"name": "repo",
"in": "path",
"required": true
},
{
"type": "integer",
"format": "int64",
"description": "id of the comment",
"name": "id",
"in": "path",
"required": true
}
],
"responses": {
"200": {
"$ref": "#/responses/Comment"
},
"204": {
"$ref": "#/responses/empty"
},
"403": {
"$ref": "#/responses/forbidden"
},
"404": {
"$ref": "#/responses/notFound"
}
}
},
2017-11-13 12:32:25 +05:30
"delete": {
2017-08-21 16:43:47 +05:30
"tags": [
2017-11-13 12:32:25 +05:30
"issue"
2017-08-21 16:43:47 +05:30
],
2018-05-08 11:35:18 +05:30
"summary": "Delete a comment",
"operationId": "issueDeleteComment",
2017-11-13 12:32:25 +05:30
"parameters": [
{
"type": "string",
"description": "owner of the repo",
"name": "owner",
"in": "path",
"required": true
2017-05-02 19:05:59 +05:30
},
2017-11-13 12:32:25 +05:30
{
"type": "string",
"description": "name of the repo",
"name": "repo",
"in": "path",
"required": true
2017-05-02 19:05:59 +05:30
},
2017-11-13 12:32:25 +05:30
{
"type": "integer",
2018-10-21 09:10:42 +05:30
"format": "int64",
2018-05-08 11:35:18 +05:30
"description": "id of comment to delete",
"name": "id",
2017-11-13 12:32:25 +05:30
"in": "path",
"required": true
}
],
"responses": {
"204": {
"$ref": "#/responses/empty"
2019-12-20 22:37:12 +05:30
},
"403": {
"$ref": "#/responses/forbidden"
2020-01-08 12:30:59 +05:30
},
"404": {
"$ref": "#/responses/notFound"
2017-05-02 19:05:59 +05:30
}
}
2018-05-08 11:35:18 +05:30
},
"patch": {
"consumes": [
"application/json"
],
2017-05-02 19:05:59 +05:30
"produces": [
"application/json"
],
2017-08-21 16:43:47 +05:30
"tags": [
2017-11-13 12:32:25 +05:30
"issue"
],
2018-05-08 11:35:18 +05:30
"summary": "Edit a comment",
"operationId": "issueEditComment",
2017-11-13 12:32:25 +05:30
"parameters": [
{
"type": "string",
"description": "owner of the repo",
"name": "owner",
"in": "path",
"required": true
},
{
"type": "string",
"description": "name of the repo",
"name": "repo",
"in": "path",
"required": true
},
{
"type": "integer",
2018-10-21 09:10:42 +05:30
"format": "int64",
2018-05-08 11:35:18 +05:30
"description": "id of the comment to edit",
"name": "id",
2017-11-13 12:32:25 +05:30
"in": "path",
"required": true
},
{
2018-05-08 11:35:18 +05:30
"name": "body",
"in": "body",
"schema": {
"$ref": "#/definitions/EditIssueCommentOption"
}
2017-11-13 12:32:25 +05:30
}
2017-08-21 16:43:47 +05:30
],
2017-05-02 19:05:59 +05:30
"responses": {
2018-05-08 11:35:18 +05:30
"200": {
"$ref": "#/responses/Comment"
2020-01-08 12:30:59 +05:30
},
"204": {
"$ref": "#/responses/empty"
},
"403": {
"$ref": "#/responses/forbidden"
},
"404": {
"$ref": "#/responses/notFound"
2017-05-02 19:05:59 +05:30
}
}
}
},
2019-12-08 03:34:19 +05:30
"/repos/ { owner}/ { repo}/issues/comments/ { id}/reactions": {
"get": {
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"issue"
],
2020-01-06 10:28:13 +05:30
"summary": "Get a list of reactions from a comment of an issue",
2019-12-08 03:34:19 +05:30
"operationId": "issueGetCommentReactions",
"parameters": [
{
"type": "string",
"description": "owner of the repo",
"name": "owner",
"in": "path",
"required": true
},
{
"type": "string",
"description": "name of the repo",
"name": "repo",
"in": "path",
"required": true
},
{
"type": "integer",
"format": "int64",
"description": "id of the comment to edit",
"name": "id",
"in": "path",
"required": true
}
],
"responses": {
"200": {
2019-12-31 13:51:21 +05:30
"$ref": "#/responses/ReactionList"
2019-12-20 22:37:12 +05:30
},
"403": {
"$ref": "#/responses/forbidden"
2019-12-08 03:34:19 +05:30
}
}
},
"post": {
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"issue"
],
2020-01-06 10:28:13 +05:30
"summary": "Add a reaction to a comment of an issue",
2019-12-08 03:34:19 +05:30
"operationId": "issuePostCommentReaction",
"parameters": [
{
"type": "string",
"description": "owner of the repo",
"name": "owner",
"in": "path",
"required": true
},
{
"type": "string",
"description": "name of the repo",
"name": "repo",
"in": "path",
"required": true
},
{
"type": "integer",
"format": "int64",
"description": "id of the comment to edit",
"name": "id",
"in": "path",
"required": true
},
{
"name": "content",
"in": "body",
"schema": {
"$ref": "#/definitions/EditReactionOption"
}
}
],
"responses": {
2019-12-31 13:51:21 +05:30
"200": {
"$ref": "#/responses/Reaction"
},
2019-12-08 03:34:19 +05:30
"201": {
2019-12-31 13:51:21 +05:30
"$ref": "#/responses/Reaction"
2019-12-20 22:37:12 +05:30
},
"403": {
"$ref": "#/responses/forbidden"
2019-12-08 03:34:19 +05:30
}
}
},
"delete": {
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"issue"
],
2020-01-06 10:28:13 +05:30
"summary": "Remove a reaction from a comment of an issue",
2019-12-08 03:34:19 +05:30
"operationId": "issueDeleteCommentReaction",
"parameters": [
{
"type": "string",
"description": "owner of the repo",
"name": "owner",
"in": "path",
"required": true
},
{
"type": "string",
"description": "name of the repo",
"name": "repo",
"in": "path",
"required": true
},
{
"type": "integer",
"format": "int64",
"description": "id of the comment to edit",
"name": "id",
"in": "path",
"required": true
},
{
"name": "content",
"in": "body",
"schema": {
"$ref": "#/definitions/EditReactionOption"
}
}
],
"responses": {
"200": {
"$ref": "#/responses/empty"
2019-12-20 22:37:12 +05:30
},
"403": {
"$ref": "#/responses/forbidden"
2019-12-08 03:34:19 +05:30
}
}
}
},
2018-05-08 11:35:18 +05:30
"/repos/ { owner}/ { repo}/issues/ { index}": {
2017-05-02 19:05:59 +05:30
"get": {
"produces": [
"application/json"
],
2017-08-21 16:43:47 +05:30
"tags": [
2017-11-13 12:32:25 +05:30
"issue"
],
2018-05-08 11:35:18 +05:30
"summary": "Get an issue",
"operationId": "issueGetIssue",
2017-11-13 12:32:25 +05:30
"parameters": [
{
"type": "string",
"description": "owner of the repo",
"name": "owner",
"in": "path",
"required": true
},
{
"type": "string",
"description": "name of the repo",
"name": "repo",
"in": "path",
"required": true
},
{
"type": "integer",
2018-10-21 09:10:42 +05:30
"format": "int64",
2018-05-08 11:35:18 +05:30
"description": "index of the issue to get",
"name": "index",
"in": "path",
"required": true
2017-11-13 12:32:25 +05:30
}
2017-08-21 16:43:47 +05:30
],
2017-05-02 19:05:59 +05:30
"responses": {
"200": {
2018-05-08 11:35:18 +05:30
"$ref": "#/responses/Issue"
2019-12-20 22:37:12 +05:30
},
"404": {
"$ref": "#/responses/notFound"
2017-05-02 19:05:59 +05:30
}
}
},
2022-03-01 05:50:15 +05:30
"delete": {
"tags": [
"issue"
],
"summary": "Delete an issue",
"operationId": "issueDelete",
"parameters": [
{
"type": "string",
"description": "owner of the repo",
"name": "owner",
"in": "path",
"required": true
},
{
"type": "string",
"description": "name of the repo",
"name": "repo",
"in": "path",
"required": true
},
{
"type": "integer",
"format": "int64",
"description": "index of issue to delete",
"name": "index",
"in": "path",
"required": true
}
],
"responses": {
"204": {
"$ref": "#/responses/empty"
},
"403": {
"$ref": "#/responses/forbidden"
},
"404": {
"$ref": "#/responses/notFound"
}
}
},
2018-05-08 11:35:18 +05:30
"patch": {
2017-05-02 19:05:59 +05:30
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
2017-08-21 16:43:47 +05:30
"tags": [
2017-11-13 12:32:25 +05:30
"issue"
2017-08-21 16:43:47 +05:30
],
2019-01-01 23:26:47 +05:30
"summary": "Edit an issue. If using deadline only the date will be taken into account, and time of day ignored.",
2018-05-08 11:35:18 +05:30
"operationId": "issueEditIssue",
2017-05-02 19:05:59 +05:30
"parameters": [
{
2017-11-13 12:32:25 +05:30
"type": "string",
"description": "owner of the repo",
"name": "owner",
"in": "path",
"required": true
},
{
"type": "string",
"description": "name of the repo",
"name": "repo",
"in": "path",
"required": true
2017-05-02 19:05:59 +05:30
},
2018-05-08 11:35:18 +05:30
{
"type": "integer",
2018-10-21 09:10:42 +05:30
"format": "int64",
2018-05-08 11:35:18 +05:30
"description": "index of the issue to edit",
"name": "index",
"in": "path",
"required": true
},
2017-05-02 19:05:59 +05:30
{
2017-11-13 12:32:25 +05:30
"name": "body",
2017-05-02 19:05:59 +05:30
"in": "body",
"schema": {
2018-05-08 11:35:18 +05:30
"$ref": "#/definitions/EditIssueOption"
2017-05-02 19:05:59 +05:30
}
}
],
"responses": {
"201": {
2017-11-13 12:32:25 +05:30
"$ref": "#/responses/Issue"
2019-12-20 22:37:12 +05:30
},
"403": {
"$ref": "#/responses/forbidden"
},
"404": {
"$ref": "#/responses/notFound"
},
"412": {
"$ref": "#/responses/error"
2017-05-02 19:05:59 +05:30
}
}
}
},
2018-05-08 11:35:18 +05:30
"/repos/ { owner}/ { repo}/issues/ { index}/comments": {
2017-05-02 19:05:59 +05:30
"get": {
"produces": [
"application/json"
],
2017-08-21 16:43:47 +05:30
"tags": [
2017-11-13 12:32:25 +05:30
"issue"
2017-08-21 16:43:47 +05:30
],
2018-05-08 11:35:18 +05:30
"summary": "List all comments on an issue",
"operationId": "issueGetComments",
2017-11-13 12:32:25 +05:30
"parameters": [
{
"type": "string",
"description": "owner of the repo",
"name": "owner",
"in": "path",
"required": true
2017-05-02 19:05:59 +05:30
},
2017-11-13 12:32:25 +05:30
{
"type": "string",
"description": "name of the repo",
"name": "repo",
"in": "path",
"required": true
2017-05-02 19:05:59 +05:30
},
2018-05-08 11:35:18 +05:30
{
"type": "integer",
2018-10-21 09:10:42 +05:30
"format": "int64",
2018-05-08 11:35:18 +05:30
"description": "index of the issue",
2018-06-12 20:29:22 +05:30
"name": "index",
2018-05-08 11:35:18 +05:30
"in": "path",
"required": true
},
2017-11-13 12:32:25 +05:30
{
"type": "string",
2020-01-13 21:32:24 +05:30
"format": "date-time",
2018-05-08 11:35:18 +05:30
"description": "if provided, only comments updated since the specified time are returned.",
2018-07-12 19:10:41 +05:30
"name": "since",
2017-11-13 12:32:25 +05:30
"in": "query"
2020-01-13 21:32:24 +05:30
},
{
"type": "string",
"format": "date-time",
"description": "if provided, only comments updated before the provided time are returned.",
"name": "before",
"in": "query"
2017-05-02 19:05:59 +05:30
}
2017-08-21 16:43:47 +05:30
],
2017-05-02 19:05:59 +05:30
"responses": {
2017-11-13 12:32:25 +05:30
"200": {
"$ref": "#/responses/CommentList"
2017-05-02 19:05:59 +05:30
}
}
2018-05-08 11:35:18 +05:30
},
"post": {
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"issue"
],
"summary": "Add a comment to an issue",
"operationId": "issueCreateComment",
"parameters": [
{
"type": "string",
"description": "owner of the repo",
"name": "owner",
"in": "path",
"required": true
},
{
"type": "string",
"description": "name of the repo",
"name": "repo",
"in": "path",
"required": true
},
{
"type": "integer",
2018-10-21 09:10:42 +05:30
"format": "int64",
2018-05-08 11:35:18 +05:30
"description": "index of the issue",
2018-06-12 20:29:22 +05:30
"name": "index",
2018-05-08 11:35:18 +05:30
"in": "path",
"required": true
},
{
"name": "body",
"in": "body",
"schema": {
2018-06-15 13:17:13 +05:30
"$ref": "#/definitions/CreateIssueCommentOption"
2018-05-08 11:35:18 +05:30
}
}
],
"responses": {
"201": {
"$ref": "#/responses/Comment"
2019-12-20 22:37:12 +05:30
},
"403": {
"$ref": "#/responses/forbidden"
2018-05-08 11:35:18 +05:30
}
}
2017-05-02 19:05:59 +05:30
}
},
2018-05-08 11:35:18 +05:30
"/repos/ { owner}/ { repo}/issues/ { index}/comments/ { id}": {
2017-11-20 12:54:07 +05:30
"delete": {
"tags": [
"issue"
],
"summary": "Delete a comment",
2018-05-08 11:35:18 +05:30
"operationId": "issueDeleteCommentDeprecated",
"deprecated": true,
2017-11-20 12:54:07 +05:30
"parameters": [
{
"type": "string",
"description": "owner of the repo",
"name": "owner",
"in": "path",
"required": true
},
{
"type": "string",
"description": "name of the repo",
"name": "repo",
"in": "path",
"required": true
},
2018-05-08 11:35:18 +05:30
{
"type": "integer",
"description": "this parameter is ignored",
"name": "index",
"in": "path",
"required": true
},
2017-11-20 12:54:07 +05:30
{
"type": "integer",
2018-10-21 09:10:42 +05:30
"format": "int64",
2017-11-20 12:54:07 +05:30
"description": "id of comment to delete",
"name": "id",
"in": "path",
"required": true
}
],
"responses": {
"204": {
"$ref": "#/responses/empty"
2019-12-20 22:37:12 +05:30
},
"403": {
"$ref": "#/responses/forbidden"
2020-01-08 12:30:59 +05:30
},
"404": {
"$ref": "#/responses/notFound"
2017-11-20 12:54:07 +05:30
}
}
},
"patch": {
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"issue"
],
"summary": "Edit a comment",
2018-05-08 11:35:18 +05:30
"operationId": "issueEditCommentDeprecated",
"deprecated": true,
2017-11-20 12:54:07 +05:30
"parameters": [
{
"type": "string",
"description": "owner of the repo",
"name": "owner",
"in": "path",
"required": true
},
{
"type": "string",
"description": "name of the repo",
"name": "repo",
"in": "path",
"required": true
},
2018-05-08 11:35:18 +05:30
{
"type": "integer",
"description": "this parameter is ignored",
"name": "index",
"in": "path",
"required": true
},
2017-11-20 12:54:07 +05:30
{
"type": "integer",
2018-10-21 09:10:42 +05:30
"format": "int64",
2017-11-20 12:54:07 +05:30
"description": "id of the comment to edit",
"name": "id",
"in": "path",
"required": true
},
{
"name": "body",
"in": "body",
"schema": {
"$ref": "#/definitions/EditIssueCommentOption"
}
}
],
"responses": {
"200": {
"$ref": "#/responses/Comment"
2019-12-20 22:37:12 +05:30
},
"204": {
"$ref": "#/responses/empty"
},
"403": {
"$ref": "#/responses/forbidden"
2020-01-08 12:30:59 +05:30
},
"404": {
"$ref": "#/responses/notFound"
2017-11-20 12:54:07 +05:30
}
}
}
},
2018-07-16 18:13:00 +05:30
"/repos/ { owner}/ { repo}/issues/ { index}/deadline": {
"post": {
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"issue"
],
2019-01-01 23:26:47 +05:30
"summary": "Set an issue deadline. If set to null, the deadline is deleted. If using deadline only the date will be taken into account, and time of day ignored.",
2018-07-16 18:13:00 +05:30
"operationId": "issueEditIssueDeadline",
"parameters": [
{
"type": "string",
"description": "owner of the repo",
"name": "owner",
"in": "path",
"required": true
},
{
"type": "string",
"description": "name of the repo",
"name": "repo",
"in": "path",
"required": true
},
{
"type": "integer",
2018-10-21 09:10:42 +05:30
"format": "int64",
2018-07-16 18:13:00 +05:30
"description": "index of the issue to create or update a deadline on",
"name": "index",
"in": "path",
"required": true
},
{
"name": "body",
"in": "body",
"schema": {
"$ref": "#/definitions/EditDeadlineOption"
}
}
],
"responses": {
"201": {
"$ref": "#/responses/IssueDeadline"
},
"403": {
2019-12-20 22:37:12 +05:30
"$ref": "#/responses/forbidden"
2018-07-16 18:13:00 +05:30
},
"404": {
2019-12-20 22:37:12 +05:30
"$ref": "#/responses/notFound"
2018-07-16 18:13:00 +05:30
}
}
}
},
2018-05-08 11:35:18 +05:30
"/repos/ { owner}/ { repo}/issues/ { index}/labels": {
2017-05-02 19:05:59 +05:30
"get": {
"produces": [
"application/json"
],
2017-08-21 16:43:47 +05:30
"tags": [
2017-11-13 12:32:25 +05:30
"issue"
],
2018-05-08 11:35:18 +05:30
"summary": "Get an issue's labels",
"operationId": "issueGetLabels",
2017-11-13 12:32:25 +05:30
"parameters": [
{
"type": "string",
"description": "owner of the repo",
"name": "owner",
"in": "path",
"required": true
},
{
"type": "string",
"description": "name of the repo",
"name": "repo",
"in": "path",
"required": true
},
{
"type": "integer",
2018-10-21 09:10:42 +05:30
"format": "int64",
2018-05-08 11:35:18 +05:30
"description": "index of the issue",
2018-01-04 12:01:40 +05:30
"name": "index",
2017-11-13 12:32:25 +05:30
"in": "path",
"required": true
}
2017-08-21 16:43:47 +05:30
],
2017-05-02 19:05:59 +05:30
"responses": {
"200": {
2018-05-08 11:35:18 +05:30
"$ref": "#/responses/LabelList"
},
"404": {
"$ref": "#/responses/notFound"
2017-05-02 19:05:59 +05:30
}
}
2017-08-21 16:43:47 +05:30
},
2018-05-08 11:35:18 +05:30
"put": {
2017-08-21 16:43:47 +05:30
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
2017-11-13 12:32:25 +05:30
"issue"
2017-08-21 16:43:47 +05:30
],
2018-05-08 11:35:18 +05:30
"summary": "Replace an issue's labels",
"operationId": "issueReplaceLabels",
2017-08-21 16:43:47 +05:30
"parameters": [
{
2017-11-13 12:32:25 +05:30
"type": "string",
"description": "owner of the repo",
"name": "owner",
"in": "path",
"required": true
2017-08-21 16:43:47 +05:30
},
{
2017-11-13 12:32:25 +05:30
"type": "string",
"description": "name of the repo",
"name": "repo",
"in": "path",
"required": true
2017-08-21 16:43:47 +05:30
},
{
2017-11-13 12:32:25 +05:30
"type": "integer",
2018-10-21 09:10:42 +05:30
"format": "int64",
2018-05-08 11:35:18 +05:30
"description": "index of the issue",
2018-01-04 12:01:40 +05:30
"name": "index",
2017-11-13 12:32:25 +05:30
"in": "path",
"required": true
2017-08-21 16:43:47 +05:30
},
{
2017-11-13 12:32:25 +05:30
"name": "body",
2017-08-21 16:43:47 +05:30
"in": "body",
"schema": {
2018-05-08 11:35:18 +05:30
"$ref": "#/definitions/IssueLabelsOption"
2017-08-21 16:43:47 +05:30
}
2017-11-13 12:32:25 +05:30
}
],
"responses": {
2018-05-08 11:35:18 +05:30
"200": {
"$ref": "#/responses/LabelList"
2019-12-20 22:37:12 +05:30
},
"403": {
"$ref": "#/responses/forbidden"
2017-11-13 12:32:25 +05:30
}
}
2018-05-08 11:35:18 +05:30
},
2017-11-13 12:32:25 +05:30
"post": {
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"issue"
],
2018-05-08 11:35:18 +05:30
"summary": "Add a label to an issue",
"operationId": "issueAddLabel",
2017-11-13 12:32:25 +05:30
"parameters": [
{
"type": "string",
"description": "owner of the repo",
"name": "owner",
"in": "path",
"required": true
2017-08-21 16:43:47 +05:30
},
{
2017-11-13 12:32:25 +05:30
"type": "string",
"description": "name of the repo",
"name": "repo",
"in": "path",
"required": true
2017-08-21 16:43:47 +05:30
},
{
2017-11-13 12:32:25 +05:30
"type": "integer",
2018-10-21 09:10:42 +05:30
"format": "int64",
2017-11-13 12:32:25 +05:30
"description": "index of the issue",
2018-05-08 11:35:18 +05:30
"name": "index",
2017-11-13 12:32:25 +05:30
"in": "path",
"required": true
2017-08-21 16:43:47 +05:30
},
{
2017-11-13 12:32:25 +05:30
"name": "body",
2017-08-21 16:43:47 +05:30
"in": "body",
"schema": {
2018-05-08 11:35:18 +05:30
"$ref": "#/definitions/IssueLabelsOption"
2017-08-21 16:43:47 +05:30
}
}
],
"responses": {
2018-05-08 11:35:18 +05:30
"200": {
"$ref": "#/responses/LabelList"
2019-12-20 22:37:12 +05:30
},
"403": {
"$ref": "#/responses/forbidden"
2017-08-21 16:43:47 +05:30
}
}
2018-05-08 11:35:18 +05:30
},
2017-11-20 12:54:07 +05:30
"delete": {
2018-05-08 11:35:18 +05:30
"produces": [
"application/json"
],
2017-11-20 12:54:07 +05:30
"tags": [
"issue"
],
2018-05-08 11:35:18 +05:30
"summary": "Remove all labels from an issue",
"operationId": "issueClearLabels",
2017-11-20 12:54:07 +05:30
"parameters": [
{
"type": "string",
"description": "owner of the repo",
"name": "owner",
"in": "path",
"required": true
},
{
"type": "string",
"description": "name of the repo",
"name": "repo",
"in": "path",
"required": true
},
{
"type": "integer",
2018-10-21 09:10:42 +05:30
"format": "int64",
2018-05-08 11:35:18 +05:30
"description": "index of the issue",
2017-11-20 12:54:07 +05:30
"name": "index",
"in": "path",
"required": true
}
],
"responses": {
"204": {
"$ref": "#/responses/empty"
2019-12-20 22:37:12 +05:30
},
"403": {
"$ref": "#/responses/forbidden"
2017-11-20 12:54:07 +05:30
}
}
2018-05-08 11:35:18 +05:30
}
},
"/repos/ { owner}/ { repo}/issues/ { index}/labels/ { id}": {
"delete": {
2017-11-20 12:54:07 +05:30
"produces": [
"application/json"
],
"tags": [
"issue"
],
2018-05-08 11:35:18 +05:30
"summary": "Remove a label from an issue",
"operationId": "issueRemoveLabel",
2017-11-20 12:54:07 +05:30
"parameters": [
{
"type": "string",
"description": "owner of the repo",
"name": "owner",
"in": "path",
"required": true
},
{
"type": "string",
"description": "name of the repo",
"name": "repo",
"in": "path",
"required": true
},
{
"type": "integer",
2018-10-21 09:10:42 +05:30
"format": "int64",
2018-05-08 11:35:18 +05:30
"description": "index of the issue",
2017-11-20 12:54:07 +05:30
"name": "index",
"in": "path",
"required": true
},
{
"type": "integer",
2018-10-21 09:10:42 +05:30
"format": "int64",
2018-05-08 11:35:18 +05:30
"description": "id of the label to remove",
2017-11-20 12:54:07 +05:30
"name": "id",
"in": "path",
"required": true
2017-11-13 12:32:25 +05:30
}
2017-08-21 16:43:47 +05:30
],
2017-05-02 19:05:59 +05:30
"responses": {
2018-05-08 11:35:18 +05:30
"204": {
"$ref": "#/responses/empty"
2019-12-20 22:37:12 +05:30
},
"403": {
"$ref": "#/responses/forbidden"
},
"422": {
"$ref": "#/responses/validationError"
2017-05-02 19:05:59 +05:30
}
}
}
},
2019-12-08 03:34:19 +05:30
"/repos/ { owner}/ { repo}/issues/ { index}/reactions": {
"get": {
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"issue"
],
2020-01-06 10:28:13 +05:30
"summary": "Get a list reactions of an issue",
2019-12-08 03:34:19 +05:30
"operationId": "issueGetIssueReactions",
"parameters": [
{
"type": "string",
"description": "owner of the repo",
"name": "owner",
"in": "path",
"required": true
},
{
"type": "string",
"description": "name of the repo",
"name": "repo",
"in": "path",
"required": true
},
{
"type": "integer",
"format": "int64",
"description": "index of the issue",
"name": "index",
"in": "path",
"required": true
2020-01-25 00:30:29 +05:30
},
{
"type": "integer",
"description": "page number of results to return (1-based)",
"name": "page",
"in": "query"
},
{
"type": "integer",
2020-06-09 10:27:38 +05:30
"description": "page size of results",
2020-01-25 00:30:29 +05:30
"name": "limit",
"in": "query"
2019-12-08 03:34:19 +05:30
}
],
"responses": {
"200": {
2019-12-31 13:51:21 +05:30
"$ref": "#/responses/ReactionList"
2019-12-20 22:37:12 +05:30
},
"403": {
"$ref": "#/responses/forbidden"
2019-12-08 03:34:19 +05:30
}
}
},
"post": {
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"issue"
],
2020-01-06 10:28:13 +05:30
"summary": "Add a reaction to an issue",
2019-12-08 03:34:19 +05:30
"operationId": "issuePostIssueReaction",
"parameters": [
{
"type": "string",
"description": "owner of the repo",
"name": "owner",
"in": "path",
"required": true
},
{
"type": "string",
"description": "name of the repo",
"name": "repo",
"in": "path",
"required": true
},
{
"type": "integer",
"format": "int64",
"description": "index of the issue",
"name": "index",
"in": "path",
"required": true
},
{
"name": "content",
"in": "body",
"schema": {
"$ref": "#/definitions/EditReactionOption"
}
}
],
"responses": {
2019-12-31 13:51:21 +05:30
"200": {
"$ref": "#/responses/Reaction"
},
2019-12-08 03:34:19 +05:30
"201": {
2019-12-31 13:51:21 +05:30
"$ref": "#/responses/Reaction"
2019-12-20 22:37:12 +05:30
},
"403": {
"$ref": "#/responses/forbidden"
2019-12-08 03:34:19 +05:30
}
}
},
"delete": {
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"issue"
],
2020-01-06 10:28:13 +05:30
"summary": "Remove a reaction from an issue",
2019-12-08 03:34:19 +05:30
"operationId": "issueDeleteIssueReaction",
"parameters": [
{
"type": "string",
"description": "owner of the repo",
"name": "owner",
"in": "path",
"required": true
},
{
"type": "string",
"description": "name of the repo",
"name": "repo",
"in": "path",
"required": true
},
{
"type": "integer",
"format": "int64",
"description": "index of the issue",
"name": "index",
"in": "path",
"required": true
},
{
"name": "content",
"in": "body",
"schema": {
"$ref": "#/definitions/EditReactionOption"
}
}
],
"responses": {
"200": {
"$ref": "#/responses/empty"
2019-12-20 22:37:12 +05:30
},
"403": {
"$ref": "#/responses/forbidden"
2019-12-08 03:34:19 +05:30
}
}
}
},
2019-12-12 09:53:05 +05:30
"/repos/ { owner}/ { repo}/issues/ { index}/stopwatch/delete": {
"delete": {
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"issue"
],
"summary": "Delete an issue's existing stopwatch.",
"operationId": "issueDeleteStopWatch",
"parameters": [
{
"type": "string",
"description": "owner of the repo",
"name": "owner",
"in": "path",
"required": true
},
{
"type": "string",
"description": "name of the repo",
"name": "repo",
"in": "path",
"required": true
},
{
"type": "integer",
"format": "int64",
"description": "index of the issue to stop the stopwatch on",
"name": "index",
"in": "path",
"required": true
}
],
"responses": {
"204": {
"$ref": "#/responses/empty"
},
"403": {
"description": "Not repo writer, user does not have rights to toggle stopwatch"
},
"404": {
2019-12-20 22:37:12 +05:30
"$ref": "#/responses/notFound"
2019-12-12 09:53:05 +05:30
},
"409": {
"description": "Cannot cancel a non existent stopwatch"
}
}
}
},
2019-02-07 08:27:25 +05:30
"/repos/ { owner}/ { repo}/issues/ { index}/stopwatch/start": {
"post": {
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"issue"
],
"summary": "Start stopwatch on an issue.",
"operationId": "issueStartStopWatch",
"parameters": [
{
"type": "string",
"description": "owner of the repo",
"name": "owner",
"in": "path",
"required": true
},
{
"type": "string",
"description": "name of the repo",
"name": "repo",
"in": "path",
"required": true
},
{
"type": "integer",
"format": "int64",
"description": "index of the issue to create the stopwatch on",
"name": "index",
"in": "path",
"required": true
}
],
"responses": {
"201": {
"$ref": "#/responses/empty"
},
"403": {
"description": "Not repo writer, user does not have rights to toggle stopwatch"
},
"404": {
2019-12-20 22:37:12 +05:30
"$ref": "#/responses/notFound"
2019-02-07 08:27:25 +05:30
},
"409": {
"description": "Cannot start a stopwatch again if it already exists"
}
}
}
},
"/repos/ { owner}/ { repo}/issues/ { index}/stopwatch/stop": {
"post": {
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"issue"
],
"summary": "Stop an issue's existing stopwatch.",
2019-12-12 09:53:05 +05:30
"operationId": "issueStopStopWatch",
2019-02-07 08:27:25 +05:30
"parameters": [
{
"type": "string",
"description": "owner of the repo",
"name": "owner",
"in": "path",
"required": true
},
{
"type": "string",
"description": "name of the repo",
"name": "repo",
"in": "path",
"required": true
},
{
"type": "integer",
"format": "int64",
"description": "index of the issue to stop the stopwatch on",
"name": "index",
"in": "path",
"required": true
}
],
"responses": {
"201": {
"$ref": "#/responses/empty"
},
"403": {
"description": "Not repo writer, user does not have rights to toggle stopwatch"
},
"404": {
2019-12-20 22:37:12 +05:30
"$ref": "#/responses/notFound"
2019-02-07 08:27:25 +05:30
},
"409": {
"description": "Cannot stop a non existent stopwatch"
}
}
}
},
2019-11-02 20:57:49 +05:30
"/repos/ { owner}/ { repo}/issues/ { index}/subscriptions": {
"get": {
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"issue"
],
"summary": "Get users who subscribed on an issue.",
"operationId": "issueSubscriptions",
"parameters": [
{
"type": "string",
"description": "owner of the repo",
"name": "owner",
"in": "path",
"required": true
},
{
"type": "string",
"description": "name of the repo",
"name": "repo",
"in": "path",
"required": true
},
{
"type": "integer",
"format": "int64",
"description": "index of the issue",
"name": "index",
"in": "path",
"required": true
2020-01-25 00:30:29 +05:30
},
{
"type": "integer",
"description": "page number of results to return (1-based)",
"name": "page",
"in": "query"
},
{
"type": "integer",
2020-06-09 10:27:38 +05:30
"description": "page size of results",
2020-01-25 00:30:29 +05:30
"name": "limit",
"in": "query"
2019-11-02 20:57:49 +05:30
}
],
"responses": {
2019-11-20 20:20:54 +05:30
"200": {
"$ref": "#/responses/UserList"
2019-11-02 20:57:49 +05:30
},
"404": {
2019-12-20 22:37:12 +05:30
"$ref": "#/responses/notFound"
2019-11-02 20:57:49 +05:30
}
}
}
},
2020-04-21 19:18:53 +05:30
"/repos/ { owner}/ { repo}/issues/ { index}/subscriptions/check": {
"get": {
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"issue"
],
"summary": "Check if user is subscribed to an issue",
"operationId": "issueCheckSubscription",
"parameters": [
{
"type": "string",
"description": "owner of the repo",
"name": "owner",
"in": "path",
"required": true
},
{
"type": "string",
"description": "name of the repo",
"name": "repo",
"in": "path",
"required": true
},
{
"type": "integer",
"format": "int64",
"description": "index of the issue",
"name": "index",
"in": "path",
"required": true
}
],
"responses": {
"200": {
"$ref": "#/responses/WatchInfo"
},
"404": {
"$ref": "#/responses/notFound"
}
}
}
},
2019-11-02 20:57:49 +05:30
"/repos/ { owner}/ { repo}/issues/ { index}/subscriptions/ { user}": {
"put": {
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"issue"
],
"summary": "Subscribe user to issue",
"operationId": "issueAddSubscription",
"parameters": [
{
"type": "string",
"description": "owner of the repo",
"name": "owner",
"in": "path",
"required": true
},
{
"type": "string",
"description": "name of the repo",
"name": "repo",
"in": "path",
"required": true
},
{
"type": "integer",
"format": "int64",
"description": "index of the issue",
"name": "index",
"in": "path",
"required": true
},
{
"type": "string",
"description": "user to subscribe",
"name": "user",
"in": "path",
"required": true
}
],
"responses": {
2020-05-01 04:25:24 +05:30
"200": {
"description": "Already subscribed"
},
2019-11-02 20:57:49 +05:30
"201": {
2020-05-01 04:25:24 +05:30
"description": "Successfully Subscribed"
2019-11-02 20:57:49 +05:30
},
"304": {
"description": "User can only subscribe itself if he is no admin"
},
"404": {
2019-12-20 22:37:12 +05:30
"$ref": "#/responses/notFound"
2019-11-02 20:57:49 +05:30
}
}
},
"delete": {
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"issue"
],
"summary": "Unsubscribe user from issue",
"operationId": "issueDeleteSubscription",
"parameters": [
{
"type": "string",
"description": "owner of the repo",
"name": "owner",
"in": "path",
"required": true
},
{
"type": "string",
"description": "name of the repo",
"name": "repo",
"in": "path",
"required": true
},
{
"type": "integer",
"format": "int64",
"description": "index of the issue",
"name": "index",
"in": "path",
"required": true
},
{
"type": "string",
"description": "user witch unsubscribe",
"name": "user",
"in": "path",
"required": true
}
],
"responses": {
2020-05-01 04:25:24 +05:30
"200": {
"description": "Already unsubscribed"
},
2019-11-02 20:57:49 +05:30
"201": {
2020-05-01 04:25:24 +05:30
"description": "Successfully Unsubscribed"
2019-11-02 20:57:49 +05:30
},
"304": {
"description": "User can only subscribe itself if he is no admin"
},
"404": {
2019-12-20 22:37:12 +05:30
"$ref": "#/responses/notFound"
2019-11-02 20:57:49 +05:30
}
}
}
},
2022-01-01 19:42:25 +05:30
"/repos/ { owner}/ { repo}/issues/ { index}/timeline": {
"get": {
"produces": [
"application/json"
],
"tags": [
"issue"
],
"summary": "List all comments and events on an issue",
"operationId": "issueGetCommentsAndTimeline",
"parameters": [
{
"type": "string",
"description": "owner of the repo",
"name": "owner",
"in": "path",
"required": true
},
{
"type": "string",
"description": "name of the repo",
"name": "repo",
"in": "path",
"required": true
},
{
"type": "integer",
"format": "int64",
"description": "index of the issue",
"name": "index",
"in": "path",
"required": true
},
{
"type": "string",
"format": "date-time",
"description": "if provided, only comments updated since the specified time are returned.",
"name": "since",
"in": "query"
},
{
"type": "integer",
"description": "page number of results to return (1-based)",
"name": "page",
"in": "query"
},
{
"type": "integer",
"description": "page size of results",
"name": "limit",
"in": "query"
},
{
"type": "string",
"format": "date-time",
"description": "if provided, only comments updated before the provided time are returned.",
"name": "before",
"in": "query"
}
],
"responses": {
"200": {
"$ref": "#/responses/TimelineList"
}
}
}
},
2019-12-28 02:00:58 +05:30
"/repos/ { owner}/ { repo}/issues/ { index}/times": {
"get": {
"produces": [
"application/json"
],
"tags": [
"issue"
],
"summary": "List an issue's tracked times",
"operationId": "issueTrackedTimes",
"parameters": [
{
"type": "string",
"description": "owner of the repo",
"name": "owner",
"in": "path",
"required": true
},
{
"type": "string",
"description": "name of the repo",
"name": "repo",
"in": "path",
"required": true
},
{
"type": "integer",
"format": "int64",
"description": "index of the issue",
"name": "index",
"in": "path",
"required": true
2020-01-09 02:44:00 +05:30
},
2020-12-22 09:17:17 +05:30
{
"type": "string",
"description": "optional filter by user (available for issue managers)",
"name": "user",
"in": "query"
},
2020-01-09 02:44:00 +05:30
{
"type": "string",
"format": "date-time",
"description": "Only show times updated after the given time. This is a timestamp in RFC 3339 format",
"name": "since",
"in": "query"
},
{
"type": "string",
"format": "date-time",
"description": "Only show times updated before the given time. This is a timestamp in RFC 3339 format",
"name": "before",
"in": "query"
2020-01-25 00:30:29 +05:30
},
{
"type": "integer",
"description": "page number of results to return (1-based)",
"name": "page",
"in": "query"
},
{
"type": "integer",
2020-06-09 10:27:38 +05:30
"description": "page size of results",
2020-01-25 00:30:29 +05:30
"name": "limit",
"in": "query"
2019-12-28 02:00:58 +05:30
}
],
"responses": {
"200": {
"$ref": "#/responses/TrackedTimeList"
},
"404": {
"$ref": "#/responses/notFound"
}
}
},
"post": {
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"issue"
],
"summary": "Add tracked time to a issue",
"operationId": "issueAddTime",
"parameters": [
{
"type": "string",
"description": "owner of the repo",
"name": "owner",
"in": "path",
"required": true
},
{
"type": "string",
"description": "name of the repo",
"name": "repo",
"in": "path",
"required": true
},
{
"type": "integer",
"format": "int64",
"description": "index of the issue",
"name": "index",
"in": "path",
"required": true
},
{
"name": "body",
"in": "body",
"schema": {
"$ref": "#/definitions/AddTimeOption"
}
}
],
"responses": {
"200": {
"$ref": "#/responses/TrackedTime"
},
"400": {
"$ref": "#/responses/error"
},
"403": {
"$ref": "#/responses/forbidden"
}
}
},
"delete": {
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"issue"
],
"summary": "Reset a tracked time of an issue",
"operationId": "issueResetTime",
"parameters": [
{
"type": "string",
"description": "owner of the repo",
"name": "owner",
"in": "path",
"required": true
},
{
"type": "string",
"description": "name of the repo",
"name": "repo",
"in": "path",
"required": true
},
{
"type": "integer",
"format": "int64",
"description": "index of the issue to add tracked time to",
"name": "index",
"in": "path",
"required": true
}
],
"responses": {
"204": {
"$ref": "#/responses/empty"
},
"400": {
"$ref": "#/responses/error"
},
"403": {
2020-01-09 02:44:00 +05:30
"$ref": "#/responses/forbidden"
2019-12-28 02:00:58 +05:30
}
}
}
},
"/repos/ { owner}/ { repo}/issues/ { index}/times/ { id}": {
"delete": {
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"issue"
],
"summary": "Delete specific tracked time",
"operationId": "issueDeleteTime",
"parameters": [
{
"type": "string",
"description": "owner of the repo",
"name": "owner",
"in": "path",
"required": true
},
{
"type": "string",
"description": "name of the repo",
"name": "repo",
"in": "path",
"required": true
},
{
"type": "integer",
"format": "int64",
"description": "index of the issue",
"name": "index",
"in": "path",
"required": true
},
{
"type": "integer",
"format": "int64",
"description": "id of time to delete",
"name": "id",
"in": "path",
"required": true
}
],
"responses": {
"204": {
"$ref": "#/responses/empty"
},
"400": {
"$ref": "#/responses/error"
},
"403": {
2020-01-09 02:44:00 +05:30
"$ref": "#/responses/forbidden"
2019-12-28 02:00:58 +05:30
}
}
}
},
2017-11-13 12:32:25 +05:30
"/repos/ { owner}/ { repo}/keys": {
2017-05-02 19:05:59 +05:30
"get": {
"produces": [
"application/json"
],
2017-08-21 16:43:47 +05:30
"tags": [
2017-11-13 12:32:25 +05:30
"repository"
],
"summary": "List a repository's keys",
"operationId": "repoListKeys",
"parameters": [
{
"type": "string",
"description": "owner of the repo",
"name": "owner",
"in": "path",
"required": true
},
{
"type": "string",
"description": "name of the repo",
"name": "repo",
"in": "path",
"required": true
2018-11-01 09:10:49 +05:30
},
{
"type": "integer",
"description": "the key_id to search for",
"name": "key_id",
"in": "query"
},
{
"type": "string",
"description": "fingerprint of the key",
"name": "fingerprint",
"in": "query"
2020-01-25 00:30:29 +05:30
},
{
"type": "integer",
"description": "page number of results to return (1-based)",
"name": "page",
"in": "query"
},
{
"type": "integer",
2020-06-09 10:27:38 +05:30
"description": "page size of results",
2020-01-25 00:30:29 +05:30
"name": "limit",
"in": "query"
2017-11-13 12:32:25 +05:30
}
2017-08-21 16:43:47 +05:30
],
2017-05-02 19:05:59 +05:30
"responses": {
"200": {
2017-11-13 12:32:25 +05:30
"$ref": "#/responses/DeployKeyList"
2017-09-12 12:18:13 +05:30
}
}
2017-11-13 12:32:25 +05:30
},
"post": {
"consumes": [
"application/json"
],
2017-09-12 12:18:13 +05:30
"produces": [
"application/json"
],
"tags": [
2017-11-13 12:32:25 +05:30
"repository"
2017-09-12 12:18:13 +05:30
],
2017-11-13 12:32:25 +05:30
"summary": "Add a key to a repository",
"operationId": "repoCreateKey",
"parameters": [
{
"type": "string",
"description": "owner of the repo",
"name": "owner",
"in": "path",
"required": true
2017-09-12 12:18:13 +05:30
},
2017-11-13 12:32:25 +05:30
{
"type": "string",
"description": "name of the repo",
"name": "repo",
"in": "path",
"required": true
},
{
"name": "body",
"in": "body",
"schema": {
"$ref": "#/definitions/CreateKeyOption"
}
}
],
"responses": {
"201": {
"$ref": "#/responses/DeployKey"
2019-12-20 22:37:12 +05:30
},
"422": {
"$ref": "#/responses/validationError"
2017-05-02 19:05:59 +05:30
}
}
}
},
2017-11-13 12:32:25 +05:30
"/repos/ { owner}/ { repo}/keys/ { id}": {
2017-05-02 19:05:59 +05:30
"get": {
"produces": [
"application/json"
],
2017-08-21 16:43:47 +05:30
"tags": [
2017-11-13 12:32:25 +05:30
"repository"
],
"summary": "Get a repository's key by id",
"operationId": "repoGetKey",
"parameters": [
{
"type": "string",
"description": "owner of the repo",
"name": "owner",
"in": "path",
"required": true
},
{
"type": "string",
"description": "name of the repo",
"name": "repo",
"in": "path",
"required": true
},
{
"type": "integer",
2018-10-21 09:10:42 +05:30
"format": "int64",
2017-11-13 12:32:25 +05:30
"description": "id of the key to get",
"name": "id",
"in": "path",
"required": true
}
2017-08-21 16:43:47 +05:30
],
2017-05-02 19:05:59 +05:30
"responses": {
"200": {
2017-11-13 12:32:25 +05:30
"$ref": "#/responses/DeployKey"
}
}
},
"delete": {
"tags": [
"repository"
],
"summary": "Delete a key from a repository",
"operationId": "repoDeleteKey",
"parameters": [
{
"type": "string",
"description": "owner of the repo",
"name": "owner",
"in": "path",
"required": true
2017-05-02 19:05:59 +05:30
},
2017-11-13 12:32:25 +05:30
{
"type": "string",
"description": "name of the repo",
"name": "repo",
"in": "path",
"required": true
},
{
"type": "integer",
2018-10-21 09:10:42 +05:30
"format": "int64",
2017-11-13 12:32:25 +05:30
"description": "id of the key to delete",
"name": "id",
"in": "path",
"required": true
}
],
"responses": {
"204": {
"$ref": "#/responses/empty"
2019-12-20 22:37:12 +05:30
},
"403": {
"$ref": "#/responses/forbidden"
2017-05-02 19:05:59 +05:30
}
}
}
},
2017-11-13 12:32:25 +05:30
"/repos/ { owner}/ { repo}/labels": {
2017-05-02 19:05:59 +05:30
"get": {
"produces": [
"application/json"
],
2017-08-21 16:43:47 +05:30
"tags": [
2017-11-13 12:32:25 +05:30
"issue"
],
"summary": "Get all of a repository's labels",
"operationId": "issueListLabels",
"parameters": [
{
"type": "string",
"description": "owner of the repo",
"name": "owner",
"in": "path",
"required": true
},
{
"type": "string",
"description": "name of the repo",
"name": "repo",
"in": "path",
"required": true
2020-01-25 00:30:29 +05:30
},
{
"type": "integer",
"description": "page number of results to return (1-based)",
"name": "page",
"in": "query"
},
{
"type": "integer",
2020-06-09 10:27:38 +05:30
"description": "page size of results",
2020-01-25 00:30:29 +05:30
"name": "limit",
"in": "query"
}
],
"responses": {
"200": {
"$ref": "#/responses/LabelList"
}
2017-05-02 19:05:59 +05:30
}
2017-11-13 12:32:25 +05:30
},
"post": {
"consumes": [
"application/json"
],
2017-05-02 19:05:59 +05:30
"produces": [
"application/json"
],
2017-08-21 16:43:47 +05:30
"tags": [
2017-11-13 12:32:25 +05:30
"issue"
2017-08-21 16:43:47 +05:30
],
2017-11-13 12:32:25 +05:30
"summary": "Create a label",
"operationId": "issueCreateLabel",
"parameters": [
{
"type": "string",
"description": "owner of the repo",
"name": "owner",
"in": "path",
"required": true
2017-05-02 19:05:59 +05:30
},
2017-11-13 12:32:25 +05:30
{
"type": "string",
"description": "name of the repo",
"name": "repo",
"in": "path",
"required": true
2017-05-02 19:05:59 +05:30
},
2017-11-13 12:32:25 +05:30
{
"name": "body",
"in": "body",
"schema": {
"$ref": "#/definitions/CreateLabelOption"
}
}
],
"responses": {
"201": {
"$ref": "#/responses/Label"
2020-02-09 20:03:03 +05:30
},
"422": {
"$ref": "#/responses/validationError"
2017-05-02 19:05:59 +05:30
}
}
}
},
2017-11-13 12:32:25 +05:30
"/repos/ { owner}/ { repo}/labels/ { id}": {
2017-05-02 19:05:59 +05:30
"get": {
"produces": [
"application/json"
],
2017-08-21 16:43:47 +05:30
"tags": [
2017-11-13 12:32:25 +05:30
"issue"
],
"summary": "Get a single label",
"operationId": "issueGetLabel",
"parameters": [
{
"type": "string",
"description": "owner of the repo",
"name": "owner",
"in": "path",
"required": true
},
{
"type": "string",
"description": "name of the repo",
"name": "repo",
"in": "path",
"required": true
},
{
"type": "integer",
2018-10-21 09:10:42 +05:30
"format": "int64",
2017-11-13 12:32:25 +05:30
"description": "id of the label to get",
"name": "id",
"in": "path",
"required": true
}
2017-08-21 16:43:47 +05:30
],
2017-05-02 19:05:59 +05:30
"responses": {
"200": {
2017-11-13 12:32:25 +05:30
"$ref": "#/responses/Label"
2017-05-02 19:05:59 +05:30
}
}
2017-11-13 12:32:25 +05:30
},
"delete": {
2017-08-21 16:43:47 +05:30
"tags": [
2017-11-13 12:32:25 +05:30
"issue"
],
"summary": "Delete a label",
"operationId": "issueDeleteLabel",
"parameters": [
{
"type": "string",
"description": "owner of the repo",
"name": "owner",
"in": "path",
"required": true
},
{
"type": "string",
"description": "name of the repo",
"name": "repo",
"in": "path",
"required": true
},
{
"type": "integer",
2018-10-21 09:10:42 +05:30
"format": "int64",
2017-11-13 12:32:25 +05:30
"description": "id of the label to delete",
"name": "id",
"in": "path",
"required": true
}
2017-08-21 16:43:47 +05:30
],
2017-05-02 19:05:59 +05:30
"responses": {
"204": {
"$ref": "#/responses/empty"
}
}
2017-11-13 12:32:25 +05:30
},
"patch": {
"consumes": [
"application/json"
],
2017-05-02 19:05:59 +05:30
"produces": [
"application/json"
],
2017-08-21 16:43:47 +05:30
"tags": [
2017-11-13 12:32:25 +05:30
"issue"
2017-08-21 16:43:47 +05:30
],
2017-11-13 12:32:25 +05:30
"summary": "Update a label",
"operationId": "issueEditLabel",
"parameters": [
{
"type": "string",
"description": "owner of the repo",
"name": "owner",
"in": "path",
"required": true
2017-05-02 19:05:59 +05:30
},
2017-11-13 12:32:25 +05:30
{
"type": "string",
"description": "name of the repo",
"name": "repo",
"in": "path",
"required": true
},
{
"type": "integer",
2018-10-21 09:10:42 +05:30
"format": "int64",
2017-11-13 12:32:25 +05:30
"description": "id of the label to edit",
"name": "id",
"in": "path",
"required": true
},
{
"name": "body",
"in": "body",
"schema": {
"$ref": "#/definitions/EditLabelOption"
}
2017-05-02 19:05:59 +05:30
}
2017-08-21 16:43:47 +05:30
],
2017-05-02 19:05:59 +05:30
"responses": {
"200": {
2017-11-13 12:32:25 +05:30
"$ref": "#/responses/Label"
2020-02-09 20:03:03 +05:30
},
"422": {
"$ref": "#/responses/validationError"
2017-05-02 19:05:59 +05:30
}
}
}
},
2020-06-07 17:18:41 +05:30
"/repos/ { owner}/ { repo}/languages": {
"get": {
"produces": [
"application/json"
],
"tags": [
"repository"
],
"summary": "Get languages and number of bytes of code written",
"operationId": "repoGetLanguages",
"parameters": [
{
"type": "string",
"description": "owner of the repo",
"name": "owner",
"in": "path",
"required": true
},
{
"type": "string",
"description": "name of the repo",
"name": "repo",
"in": "path",
"required": true
}
],
"responses": {
"200": {
"$ref": "#/responses/LanguageStatistics"
},
"404": {
"$ref": "#/responses/notFound"
}
}
}
},
2022-06-04 18:47:53 +05:30
"/repos/ { owner}/ { repo}/media/ { filepath}": {
"get": {
"tags": [
"repository"
],
"summary": "Get a file or it's LFS object from a repository",
"operationId": "repoGetRawFileOrLFS",
"parameters": [
{
"type": "string",
"description": "owner of the repo",
"name": "owner",
"in": "path",
"required": true
},
{
"type": "string",
"description": "name of the repo",
"name": "repo",
"in": "path",
"required": true
},
{
"type": "string",
"description": "filepath of the file to get",
"name": "filepath",
"in": "path",
"required": true
},
{
"type": "string",
"description": "The name of the commit/branch/tag. Default the repository’ s default branch (usually master)",
"name": "ref",
"in": "query"
}
],
"responses": {
"200": {
"description": "Returns raw file content."
},
"404": {
"$ref": "#/responses/notFound"
}
}
}
},
2017-11-13 12:32:25 +05:30
"/repos/ { owner}/ { repo}/milestones": {
2017-05-02 19:05:59 +05:30
"get": {
"produces": [
"application/json"
],
2017-08-21 16:43:47 +05:30
"tags": [
2017-11-13 12:32:25 +05:30
"issue"
],
2018-11-26 14:15:42 +05:30
"summary": "Get all of a repository's opened milestones",
2018-06-12 20:29:22 +05:30
"operationId": "issueGetMilestonesList",
2017-11-13 12:32:25 +05:30
"parameters": [
{
"type": "string",
"description": "owner of the repo",
"name": "owner",
"in": "path",
"required": true
},
{
"type": "string",
"description": "name of the repo",
"name": "repo",
"in": "path",
"required": true
2019-06-06 06:07:45 +05:30
},
{
"type": "string",
2022-06-13 13:04:46 +05:30
"description": "Milestone state, Recognized values are open, closed and all. Defaults to \"open\"",
2019-06-06 06:07:45 +05:30
"name": "state",
"in": "query"
2020-01-25 00:30:29 +05:30
},
2020-07-28 17:00:40 +05:30
{
"type": "string",
"description": "filter by milestone name",
"name": "name",
"in": "query"
},
2020-01-25 00:30:29 +05:30
{
"type": "integer",
"description": "page number of results to return (1-based)",
"name": "page",
"in": "query"
},
{
"type": "integer",
2020-06-09 10:27:38 +05:30
"description": "page size of results",
2020-01-25 00:30:29 +05:30
"name": "limit",
"in": "query"
2017-11-13 12:32:25 +05:30
}
2017-08-21 16:43:47 +05:30
],
2017-05-02 19:05:59 +05:30
"responses": {
"200": {
2017-11-13 12:32:25 +05:30
"$ref": "#/responses/MilestoneList"
2017-05-02 19:05:59 +05:30
}
}
2017-11-13 12:32:25 +05:30
},
"post": {
"consumes": [
"application/json"
],
2017-05-02 19:05:59 +05:30
"produces": [
"application/json"
],
2017-08-21 16:43:47 +05:30
"tags": [
2017-11-13 12:32:25 +05:30
"issue"
2017-08-21 16:43:47 +05:30
],
2017-11-13 12:32:25 +05:30
"summary": "Create a milestone",
"operationId": "issueCreateMilestone",
"parameters": [
{
"type": "string",
"description": "owner of the repo",
"name": "owner",
"in": "path",
"required": true
},
{
"type": "string",
"description": "name of the repo",
"name": "repo",
"in": "path",
"required": true
},
{
"name": "body",
"in": "body",
"schema": {
"$ref": "#/definitions/CreateMilestoneOption"
}
}
],
"responses": {
"201": {
"$ref": "#/responses/Milestone"
}
}
}
},
"/repos/ { owner}/ { repo}/milestones/ { id}": {
"get": {
"produces": [
"application/json"
],
"tags": [
"issue"
],
"summary": "Get a milestone",
"operationId": "issueGetMilestone",
2018-06-12 20:29:22 +05:30
"parameters": [
{
"type": "string",
"description": "owner of the repo",
"name": "owner",
"in": "path",
"required": true
},
{
"type": "string",
"description": "name of the repo",
"name": "repo",
"in": "path",
"required": true
},
{
2020-09-14 17:18:03 +05:30
"type": "string",
"description": "the milestone to get, identified by ID and if not available by name",
2018-06-12 20:29:22 +05:30
"name": "id",
"in": "path",
"required": true
}
],
2017-05-02 19:05:59 +05:30
"responses": {
"200": {
2017-11-13 12:32:25 +05:30
"$ref": "#/responses/Milestone"
}
}
},
"delete": {
"tags": [
"issue"
],
"summary": "Delete a milestone",
"operationId": "issueDeleteMilestone",
"parameters": [
{
"type": "string",
"description": "owner of the repo",
"name": "owner",
"in": "path",
"required": true
2017-05-02 19:05:59 +05:30
},
2017-11-13 12:32:25 +05:30
{
"type": "string",
"description": "name of the repo",
"name": "repo",
"in": "path",
"required": true
},
{
2020-09-14 17:18:03 +05:30
"type": "string",
"description": "the milestone to delete, identified by ID and if not available by name",
2018-06-12 20:29:22 +05:30
"name": "id",
2017-11-13 12:32:25 +05:30
"in": "path",
"required": true
}
],
"responses": {
"204": {
"$ref": "#/responses/empty"
}
}
},
"patch": {
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"issue"
],
"summary": "Update a milestone",
"operationId": "issueEditMilestone",
"parameters": [
{
"type": "string",
"description": "owner of the repo",
"name": "owner",
"in": "path",
"required": true
},
{
"type": "string",
"description": "name of the repo",
"name": "repo",
"in": "path",
"required": true
},
2018-06-12 20:29:22 +05:30
{
2020-09-14 17:18:03 +05:30
"type": "string",
"description": "the milestone to edit, identified by ID and if not available by name",
2018-06-12 20:29:22 +05:30
"name": "id",
"in": "path",
"required": true
},
2017-11-13 12:32:25 +05:30
{
"name": "body",
"in": "body",
"schema": {
"$ref": "#/definitions/EditMilestoneOption"
}
}
],
"responses": {
"200": {
"$ref": "#/responses/Milestone"
2017-05-02 19:05:59 +05:30
}
}
}
},
2017-11-13 12:32:25 +05:30
"/repos/ { owner}/ { repo}/mirror-sync": {
"post": {
"produces": [
"application/json"
],
"tags": [
"repository"
],
"summary": "Sync a mirrored repository",
"operationId": "repoMirrorSync",
"parameters": [
{
"type": "string",
"description": "owner of the repo to sync",
"name": "owner",
"in": "path",
"required": true
},
{
"type": "string",
"description": "name of the repo to sync",
"name": "repo",
"in": "path",
"required": true
}
],
"responses": {
"200": {
"$ref": "#/responses/empty"
2019-12-20 22:37:12 +05:30
},
"403": {
"$ref": "#/responses/forbidden"
2017-11-13 12:32:25 +05:30
}
}
}
},
2020-01-09 17:26:32 +05:30
"/repos/ { owner}/ { repo}/notifications": {
"get": {
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"notification"
],
"summary": "List users's notification threads on a specific repo",
"operationId": "notifyGetRepoList",
"parameters": [
{
"type": "string",
"description": "owner of the repo",
"name": "owner",
"in": "path",
"required": true
},
{
"type": "string",
"description": "name of the repo",
"name": "repo",
"in": "path",
"required": true
},
{
2021-06-17 19:32:34 +05:30
"type": "boolean",
2020-01-09 17:26:32 +05:30
"description": "If true, show notifications marked as read. Default value is false",
"name": "all",
"in": "query"
},
2020-07-12 03:16:01 +05:30
{
"type": "array",
"items": {
"type": "string"
},
"collectionFormat": "multi",
"description": "Show notifications with the provided status types. Options are: unread, read and/or pinned. Defaults to unread \u0026 pinned",
"name": "status-types",
"in": "query"
},
2021-06-16 22:34:37 +05:30
{
"type": "array",
"items": {
"enum": [
"issue",
"pull",
"commit",
"repository"
],
"type": "string"
},
"collectionFormat": "multi",
"description": "filter notifications by subject type",
"name": "subject-type",
"in": "query"
},
2020-01-09 17:26:32 +05:30
{
"type": "string",
"format": "date-time",
"description": "Only show notifications updated after the given time. This is a timestamp in RFC 3339 format",
"name": "since",
"in": "query"
},
{
"type": "string",
"format": "date-time",
"description": "Only show notifications updated before the given time. This is a timestamp in RFC 3339 format",
"name": "before",
"in": "query"
2020-01-25 00:30:29 +05:30
},
{
"type": "integer",
"description": "page number of results to return (1-based)",
"name": "page",
"in": "query"
},
{
"type": "integer",
2020-06-09 10:27:38 +05:30
"description": "page size of results",
2020-01-25 00:30:29 +05:30
"name": "limit",
"in": "query"
2020-01-09 17:26:32 +05:30
}
],
"responses": {
"200": {
"$ref": "#/responses/NotificationThreadList"
}
}
},
"put": {
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"notification"
],
2020-07-12 03:16:01 +05:30
"summary": "Mark notification threads as read, pinned or unread on a specific repo",
2020-01-09 17:26:32 +05:30
"operationId": "notifyReadRepoList",
"parameters": [
{
"type": "string",
"description": "owner of the repo",
"name": "owner",
"in": "path",
"required": true
},
{
"type": "string",
"description": "name of the repo",
"name": "repo",
"in": "path",
"required": true
},
2020-07-12 03:16:01 +05:30
{
"type": "string",
"description": "If true, mark all notifications on this repo. Default value is false",
"name": "all",
"in": "query"
},
{
"type": "array",
"items": {
"type": "string"
},
"collectionFormat": "multi",
"description": "Mark notifications with the provided status types. Options are: unread, read and/or pinned. Defaults to unread.",
"name": "status-types",
"in": "query"
},
{
"type": "string",
"description": "Status to mark notifications as. Defaults to read.",
"name": "to-status",
"in": "query"
},
2020-01-09 17:26:32 +05:30
{
"type": "string",
"format": "date-time",
"description": "Describes the last point that notifications were checked. Anything updated since this time will not be updated.",
"name": "last_read_at",
"in": "query"
}
],
"responses": {
"205": {
2021-09-18 05:10:50 +05:30
"$ref": "#/responses/NotificationThreadList"
2020-01-09 17:26:32 +05:30
}
}
}
},
2017-11-13 12:32:25 +05:30
"/repos/ { owner}/ { repo}/pulls": {
2017-05-02 19:05:59 +05:30
"get": {
"produces": [
"application/json"
],
2017-08-21 16:43:47 +05:30
"tags": [
2017-11-13 12:32:25 +05:30
"repository"
],
"summary": "List a repo's pull requests",
"operationId": "repoListPullRequests",
"parameters": [
{
"type": "string",
"description": "owner of the repo",
"name": "owner",
"in": "path",
"required": true
},
{
"type": "string",
"description": "name of the repo",
"name": "repo",
"in": "path",
"required": true
2018-10-21 09:10:42 +05:30
},
{
"enum": [
"closed",
"open",
"all"
],
"type": "string",
"description": "State of pull request: open or closed (optional)",
"name": "state",
"in": "query"
},
{
"enum": [
"oldest",
"recentupdate",
"leastupdate",
"mostcomment",
"leastcomment",
"priority"
],
"type": "string",
"description": "Type of sort",
"name": "sort",
"in": "query"
},
{
"type": "integer",
"format": "int64",
"description": "ID of the milestone",
"name": "milestone",
"in": "query"
},
{
"type": "array",
"items": {
"type": "integer",
"format": "int64"
},
"collectionFormat": "multi",
"description": "Label IDs",
"name": "labels",
"in": "query"
2020-01-25 00:30:29 +05:30
},
{
"type": "integer",
"description": "page number of results to return (1-based)",
"name": "page",
"in": "query"
},
{
"type": "integer",
2020-06-09 10:27:38 +05:30
"description": "page size of results",
2020-01-25 00:30:29 +05:30
"name": "limit",
"in": "query"
2017-11-13 12:32:25 +05:30
}
2017-08-21 16:43:47 +05:30
],
2017-05-02 19:05:59 +05:30
"responses": {
"200": {
2017-11-13 12:32:25 +05:30
"$ref": "#/responses/PullRequestList"
}
}
},
"post": {
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"repository"
],
"summary": "Create a pull request",
"operationId": "repoCreatePullRequest",
"parameters": [
{
"type": "string",
"description": "owner of the repo",
"name": "owner",
"in": "path",
"required": true
2017-05-02 19:05:59 +05:30
},
2017-11-13 12:32:25 +05:30
{
"type": "string",
"description": "name of the repo",
"name": "repo",
"in": "path",
"required": true
},
{
"name": "body",
"in": "body",
"schema": {
"$ref": "#/definitions/CreatePullRequestOption"
}
}
],
"responses": {
"201": {
"$ref": "#/responses/PullRequest"
2019-12-20 22:37:12 +05:30
},
"409": {
"$ref": "#/responses/error"
},
"422": {
"$ref": "#/responses/validationError"
2017-05-02 19:05:59 +05:30
}
}
}
},
2017-11-13 12:32:25 +05:30
"/repos/ { owner}/ { repo}/pulls/ { index}": {
2017-05-02 19:05:59 +05:30
"get": {
"produces": [
"application/json"
],
2017-08-21 16:43:47 +05:30
"tags": [
2017-11-13 12:32:25 +05:30
"repository"
],
"summary": "Get a pull request",
"operationId": "repoGetPullRequest",
"parameters": [
{
"type": "string",
"description": "owner of the repo",
"name": "owner",
"in": "path",
"required": true
},
{
"type": "string",
"description": "name of the repo",
"name": "repo",
"in": "path",
"required": true
},
{
"type": "integer",
2018-10-21 09:10:42 +05:30
"format": "int64",
2017-11-13 12:32:25 +05:30
"description": "index of the pull request to get",
"name": "index",
"in": "path",
"required": true
}
2017-08-21 16:43:47 +05:30
],
2017-05-02 19:05:59 +05:30
"responses": {
"200": {
2017-11-13 12:32:25 +05:30
"$ref": "#/responses/PullRequest"
2020-01-09 17:26:32 +05:30
},
"404": {
"$ref": "#/responses/notFound"
2017-11-13 12:32:25 +05:30
}
}
},
"patch": {
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"repository"
],
2019-11-03 20:16:32 +05:30
"summary": "Update a pull request. If using deadline only the date will be taken into account, and time of day ignored.",
2017-11-13 12:32:25 +05:30
"operationId": "repoEditPullRequest",
"parameters": [
{
"type": "string",
"description": "owner of the repo",
"name": "owner",
"in": "path",
"required": true
2017-05-02 19:05:59 +05:30
},
2017-11-13 12:32:25 +05:30
{
"type": "string",
"description": "name of the repo",
"name": "repo",
"in": "path",
"required": true
},
{
"type": "integer",
2018-10-21 09:10:42 +05:30
"format": "int64",
2017-11-13 12:32:25 +05:30
"description": "index of the pull request to edit",
"name": "index",
"in": "path",
"required": true
},
{
"name": "body",
"in": "body",
"schema": {
"$ref": "#/definitions/EditPullRequestOption"
}
}
],
"responses": {
"201": {
"$ref": "#/responses/PullRequest"
2019-12-20 22:37:12 +05:30
},
"403": {
"$ref": "#/responses/forbidden"
},
2020-06-08 00:43:40 +05:30
"409": {
"$ref": "#/responses/error"
},
2019-12-20 22:37:12 +05:30
"412": {
"$ref": "#/responses/error"
},
"422": {
"$ref": "#/responses/validationError"
2017-05-02 19:05:59 +05:30
}
}
}
},
2021-09-22 04:34:53 +05:30
"/repos/ { owner}/ { repo}/pulls/ { index}. { diffType}": {
2020-06-05 16:33:12 +05:30
"get": {
"produces": [
"text/plain"
],
"tags": [
"repository"
],
2021-09-22 04:34:53 +05:30
"summary": "Get a pull request diff or patch",
"operationId": "repoDownloadPullDiffOrPatch",
2020-06-05 16:33:12 +05:30
"parameters": [
{
"type": "string",
"description": "owner of the repo",
"name": "owner",
"in": "path",
"required": true
},
{
"type": "string",
"description": "name of the repo",
"name": "repo",
"in": "path",
"required": true
},
{
"type": "integer",
"format": "int64",
"description": "index of the pull request to get",
"name": "index",
"in": "path",
"required": true
},
{
2021-09-22 04:34:53 +05:30
"enum": [
"diff",
"patch"
],
2020-06-05 16:33:12 +05:30
"type": "string",
2021-09-22 04:34:53 +05:30
"description": "whether the output is diff or patch",
"name": "diffType",
2020-06-05 16:33:12 +05:30
"in": "path",
"required": true
2021-09-28 02:39:49 +05:30
},
{
"type": "boolean",
"description": "whether to include binary file changes. if true, the diff is applicable with `git apply`",
"name": "binary",
"in": "query"
2020-06-05 16:33:12 +05:30
}
],
"responses": {
"200": {
"$ref": "#/responses/string"
2021-07-02 17:49:57 +05:30
},
"404": {
"$ref": "#/responses/notFound"
}
}
}
},
"/repos/ { owner}/ { repo}/pulls/ { index}/commits": {
"get": {
"produces": [
"application/json"
],
"tags": [
"repository"
],
"summary": "Get commits for a pull request",
"operationId": "repoGetPullRequestCommits",
"parameters": [
{
"type": "string",
"description": "owner of the repo",
"name": "owner",
"in": "path",
"required": true
},
{
"type": "string",
"description": "name of the repo",
"name": "repo",
"in": "path",
"required": true
},
{
"type": "integer",
"format": "int64",
"description": "index of the pull request to get",
"name": "index",
"in": "path",
"required": true
},
{
"type": "integer",
"description": "page number of results to return (1-based)",
"name": "page",
"in": "query"
},
{
"type": "integer",
"description": "page size of results",
"name": "limit",
"in": "query"
}
],
"responses": {
"200": {
"$ref": "#/responses/CommitList"
2020-06-05 16:33:12 +05:30
},
"404": {
"$ref": "#/responses/notFound"
}
}
}
},
2022-09-29 07:57:20 +05:30
"/repos/ { owner}/ { repo}/pulls/ { index}/files": {
"get": {
"produces": [
"application/json"
],
"tags": [
"repository"
],
"summary": "Get changed files for a pull request",
"operationId": "repoGetPullRequestFiles",
"parameters": [
{
"type": "string",
"description": "owner of the repo",
"name": "owner",
"in": "path",
"required": true
},
{
"type": "string",
"description": "name of the repo",
"name": "repo",
"in": "path",
"required": true
},
{
"type": "integer",
"format": "int64",
"description": "index of the pull request to get",
"name": "index",
"in": "path",
"required": true
},
{
"type": "string",
"description": "skip to given file",
"name": "skip-to",
"in": "query"
},
{
"enum": [
"ignore-all",
"ignore-change",
"ignore-eol",
"show-all"
],
"type": "string",
"description": "whitespace behavior",
"name": "whitespace",
"in": "query"
},
{
"type": "integer",
"description": "page number of results to return (1-based)",
"name": "page",
"in": "query"
},
{
"type": "integer",
"description": "page size of results",
"name": "limit",
"in": "query"
}
],
"responses": {
"200": {
"$ref": "#/responses/ChangedFileList"
},
"404": {
"$ref": "#/responses/notFound"
}
}
}
},
2017-11-13 12:32:25 +05:30
"/repos/ { owner}/ { repo}/pulls/ { index}/merge": {
2017-05-02 19:05:59 +05:30
"get": {
"produces": [
"application/json"
],
2017-08-21 16:43:47 +05:30
"tags": [
2017-11-13 12:32:25 +05:30
"repository"
],
"summary": "Check if a pull request has been merged",
"operationId": "repoPullRequestIsMerged",
"parameters": [
{
"type": "string",
"description": "owner of the repo",
"name": "owner",
"in": "path",
"required": true
},
{
"type": "string",
"description": "name of the repo",
"name": "repo",
"in": "path",
"required": true
},
{
"type": "integer",
2018-10-21 09:10:42 +05:30
"format": "int64",
2017-11-13 12:32:25 +05:30
"description": "index of the pull request",
"name": "index",
"in": "path",
"required": true
}
],
"responses": {
"204": {
2018-10-21 09:10:42 +05:30
"description": "pull request has been merged"
2017-11-13 12:32:25 +05:30
},
"404": {
2018-10-21 09:10:42 +05:30
"description": "pull request has not been merged"
2017-11-13 12:32:25 +05:30
}
}
},
"post": {
"produces": [
"application/json"
],
"tags": [
"repository"
],
"summary": "Merge a pull request",
"operationId": "repoMergePullRequest",
"parameters": [
{
"type": "string",
"description": "owner of the repo",
"name": "owner",
"in": "path",
"required": true
},
{
"type": "string",
"description": "name of the repo",
"name": "repo",
"in": "path",
"required": true
},
{
"type": "integer",
2018-10-21 09:10:42 +05:30
"format": "int64",
2017-11-13 12:32:25 +05:30
"description": "index of the pull request to merge",
"name": "index",
"in": "path",
"required": true
2019-02-08 13:38:38 +05:30
},
{
"name": "body",
"in": "body",
"schema": {
"$ref": "#/definitions/MergePullRequestOption"
}
2017-11-13 12:32:25 +05:30
}
2017-08-21 16:43:47 +05:30
],
2017-05-02 19:05:59 +05:30
"responses": {
"200": {
2017-11-13 12:32:25 +05:30
"$ref": "#/responses/empty"
},
"405": {
"$ref": "#/responses/empty"
2019-12-20 22:37:12 +05:30
},
"409": {
"$ref": "#/responses/error"
2017-05-02 19:05:59 +05:30
}
}
2022-05-07 22:35:52 +05:30
},
"delete": {
"produces": [
"application/json"
],
"tags": [
"repository"
],
"summary": "Cancel the scheduled auto merge for the given pull request",
"operationId": "repoCancelScheduledAutoMerge",
"parameters": [
{
"type": "string",
"description": "owner of the repo",
"name": "owner",
"in": "path",
"required": true
},
{
"type": "string",
"description": "name of the repo",
"name": "repo",
"in": "path",
"required": true
},
{
"type": "integer",
"format": "int64",
"description": "index of the pull request to merge",
"name": "index",
"in": "path",
"required": true
}
],
"responses": {
"204": {
"$ref": "#/responses/empty"
},
"403": {
"$ref": "#/responses/forbidden"
},
"404": {
"$ref": "#/responses/notFound"
}
}
2017-05-02 19:05:59 +05:30
}
2017-11-13 12:32:25 +05:30
},
2020-10-20 23:48:25 +05:30
"/repos/ { owner}/ { repo}/pulls/ { index}/requested_reviewers": {
"post": {
"produces": [
"application/json"
],
"tags": [
"repository"
],
"summary": "create review requests for a pull request",
"operationId": "repoCreatePullReviewRequests",
"parameters": [
{
"type": "string",
"description": "owner of the repo",
"name": "owner",
"in": "path",
"required": true
},
{
"type": "string",
"description": "name of the repo",
"name": "repo",
"in": "path",
"required": true
},
{
"type": "integer",
"format": "int64",
"description": "index of the pull request",
"name": "index",
"in": "path",
"required": true
},
{
"name": "body",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/PullReviewRequestOptions"
}
}
],
"responses": {
"201": {
"$ref": "#/responses/PullReviewList"
},
"404": {
"$ref": "#/responses/notFound"
},
"422": {
"$ref": "#/responses/validationError"
}
}
},
"delete": {
"produces": [
"application/json"
],
"tags": [
"repository"
],
"summary": "cancel review requests for a pull request",
"operationId": "repoDeletePullReviewRequests",
"parameters": [
{
"type": "string",
"description": "owner of the repo",
"name": "owner",
"in": "path",
"required": true
},
{
"type": "string",
"description": "name of the repo",
"name": "repo",
"in": "path",
"required": true
},
{
"type": "integer",
"format": "int64",
"description": "index of the pull request",
"name": "index",
"in": "path",
"required": true
},
{
"name": "body",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/PullReviewRequestOptions"
}
}
],
"responses": {
"204": {
"$ref": "#/responses/empty"
},
"404": {
"$ref": "#/responses/notFound"
},
"422": {
"$ref": "#/responses/validationError"
}
}
}
},
2020-05-02 05:50:51 +05:30
"/repos/ { owner}/ { repo}/pulls/ { index}/reviews": {
"get": {
"produces": [
"application/json"
],
"tags": [
"repository"
],
"summary": "List all reviews for a pull request",
"operationId": "repoListPullReviews",
"parameters": [
{
"type": "string",
"description": "owner of the repo",
"name": "owner",
"in": "path",
"required": true
},
{
"type": "string",
"description": "name of the repo",
"name": "repo",
"in": "path",
"required": true
},
{
"type": "integer",
"format": "int64",
"description": "index of the pull request",
"name": "index",
"in": "path",
"required": true
},
{
"type": "integer",
"description": "page number of results to return (1-based)",
"name": "page",
"in": "query"
},
{
"type": "integer",
2020-06-09 10:27:38 +05:30
"description": "page size of results",
2020-05-02 05:50:51 +05:30
"name": "limit",
"in": "query"
}
],
"responses": {
"200": {
"$ref": "#/responses/PullReviewList"
},
"404": {
"$ref": "#/responses/notFound"
}
}
},
"post": {
"produces": [
"application/json"
],
"tags": [
"repository"
],
"summary": "Create a review to an pull request",
"operationId": "repoCreatePullReview",
"parameters": [
{
"type": "string",
"description": "owner of the repo",
"name": "owner",
"in": "path",
"required": true
},
{
"type": "string",
"description": "name of the repo",
"name": "repo",
"in": "path",
"required": true
},
{
"type": "integer",
"format": "int64",
"description": "index of the pull request",
"name": "index",
"in": "path",
"required": true
},
{
"name": "body",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/CreatePullReviewOptions"
}
}
],
"responses": {
"200": {
"$ref": "#/responses/PullReview"
},
"404": {
"$ref": "#/responses/notFound"
},
"422": {
"$ref": "#/responses/validationError"
}
}
}
},
"/repos/ { owner}/ { repo}/pulls/ { index}/reviews/ { id}": {
"get": {
"produces": [
"application/json"
],
"tags": [
"repository"
],
"summary": "Get a specific review for a pull request",
"operationId": "repoGetPullReview",
"parameters": [
{
"type": "string",
"description": "owner of the repo",
"name": "owner",
"in": "path",
"required": true
},
{
"type": "string",
"description": "name of the repo",
"name": "repo",
"in": "path",
"required": true
},
{
"type": "integer",
"format": "int64",
"description": "index of the pull request",
"name": "index",
"in": "path",
"required": true
},
{
"type": "integer",
"format": "int64",
"description": "id of the review",
"name": "id",
"in": "path",
"required": true
}
],
"responses": {
"200": {
"$ref": "#/responses/PullReview"
},
"404": {
"$ref": "#/responses/notFound"
}
}
},
"post": {
"produces": [
"application/json"
],
"tags": [
"repository"
],
"summary": "Submit a pending review to an pull request",
"operationId": "repoSubmitPullReview",
"parameters": [
{
"type": "string",
"description": "owner of the repo",
"name": "owner",
"in": "path",
"required": true
},
{
"type": "string",
"description": "name of the repo",
"name": "repo",
"in": "path",
"required": true
},
{
"type": "integer",
"format": "int64",
"description": "index of the pull request",
"name": "index",
"in": "path",
"required": true
},
{
"type": "integer",
"format": "int64",
"description": "id of the review",
"name": "id",
"in": "path",
"required": true
},
{
"name": "body",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/SubmitPullReviewOptions"
}
}
],
"responses": {
"200": {
"$ref": "#/responses/PullReview"
},
"404": {
"$ref": "#/responses/notFound"
},
"422": {
"$ref": "#/responses/validationError"
}
}
},
"delete": {
"produces": [
"application/json"
],
"tags": [
"repository"
],
"summary": "Delete a specific review from a pull request",
"operationId": "repoDeletePullReview",
"parameters": [
{
"type": "string",
"description": "owner of the repo",
"name": "owner",
"in": "path",
"required": true
},
{
"type": "string",
"description": "name of the repo",
"name": "repo",
"in": "path",
"required": true
},
{
"type": "integer",
"format": "int64",
"description": "index of the pull request",
"name": "index",
"in": "path",
"required": true
},
{
"type": "integer",
"format": "int64",
"description": "id of the review",
"name": "id",
"in": "path",
"required": true
}
],
"responses": {
"204": {
"$ref": "#/responses/empty"
},
"403": {
"$ref": "#/responses/forbidden"
},
"404": {
"$ref": "#/responses/notFound"
}
}
}
},
"/repos/ { owner}/ { repo}/pulls/ { index}/reviews/ { id}/comments": {
"get": {
"produces": [
"application/json"
],
"tags": [
"repository"
],
"summary": "Get a specific review for a pull request",
"operationId": "repoGetPullReviewComments",
"parameters": [
{
"type": "string",
"description": "owner of the repo",
"name": "owner",
"in": "path",
"required": true
},
{
"type": "string",
"description": "name of the repo",
"name": "repo",
"in": "path",
"required": true
},
{
"type": "integer",
"format": "int64",
"description": "index of the pull request",
"name": "index",
"in": "path",
"required": true
},
{
"type": "integer",
"format": "int64",
"description": "id of the review",
"name": "id",
"in": "path",
"required": true
}
],
"responses": {
"200": {
"$ref": "#/responses/PullReviewCommentList"
},
"404": {
"$ref": "#/responses/notFound"
}
}
}
},
2021-02-11 23:02:25 +05:30
"/repos/ { owner}/ { repo}/pulls/ { index}/reviews/ { id}/dismissals": {
"post": {
"produces": [
"application/json"
],
"tags": [
"repository"
],
"summary": "Dismiss a review for a pull request",
"operationId": "repoDismissPullReview",
"parameters": [
{
"type": "string",
"description": "owner of the repo",
"name": "owner",
"in": "path",
"required": true
},
{
"type": "string",
"description": "name of the repo",
"name": "repo",
"in": "path",
"required": true
},
{
"type": "integer",
"format": "int64",
"description": "index of the pull request",
"name": "index",
"in": "path",
"required": true
},
{
"type": "integer",
"format": "int64",
"description": "id of the review",
"name": "id",
"in": "path",
"required": true
},
{
"name": "body",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/DismissPullReviewOptions"
}
}
],
"responses": {
"200": {
"$ref": "#/responses/PullReview"
},
"403": {
"$ref": "#/responses/forbidden"
},
"422": {
"$ref": "#/responses/validationError"
}
}
}
},
"/repos/ { owner}/ { repo}/pulls/ { index}/reviews/ { id}/undismissals": {
"post": {
"produces": [
"application/json"
],
"tags": [
"repository"
],
"summary": "Cancel to dismiss a review for a pull request",
"operationId": "repoUnDismissPullReview",
"parameters": [
{
"type": "string",
"description": "owner of the repo",
"name": "owner",
"in": "path",
"required": true
},
{
"type": "string",
"description": "name of the repo",
"name": "repo",
"in": "path",
"required": true
},
{
"type": "integer",
"format": "int64",
"description": "index of the pull request",
"name": "index",
"in": "path",
"required": true
},
{
"type": "integer",
"format": "int64",
"description": "id of the review",
"name": "id",
"in": "path",
"required": true
}
],
"responses": {
"200": {
"$ref": "#/responses/PullReview"
},
"403": {
"$ref": "#/responses/forbidden"
},
"422": {
"$ref": "#/responses/validationError"
}
}
}
},
2020-08-05 02:25:22 +05:30
"/repos/ { owner}/ { repo}/pulls/ { index}/update": {
"post": {
"produces": [
"application/json"
],
"tags": [
"repository"
],
"summary": "Merge PR's baseBranch into headBranch",
"operationId": "repoUpdatePullRequest",
"parameters": [
{
"type": "string",
"description": "owner of the repo",
"name": "owner",
"in": "path",
"required": true
},
{
"type": "string",
"description": "name of the repo",
"name": "repo",
"in": "path",
"required": true
},
{
"type": "integer",
"format": "int64",
"description": "index of the pull request to get",
"name": "index",
"in": "path",
"required": true
2021-08-31 19:33:45 +05:30
},
{
"enum": [
"merge",
"rebase"
],
"type": "string",
"description": "how to update pull request",
"name": "style",
"in": "query"
2020-08-05 02:25:22 +05:30
}
],
"responses": {
"200": {
"$ref": "#/responses/empty"
},
"403": {
"$ref": "#/responses/forbidden"
},
"404": {
"$ref": "#/responses/notFound"
},
"409": {
"$ref": "#/responses/error"
},
"422": {
"$ref": "#/responses/validationError"
}
}
}
},
2022-07-30 22:15:59 +05:30
"/repos/ { owner}/ { repo}/push_mirrors": {
"get": {
"produces": [
"application/json"
],
"tags": [
"repository"
],
"summary": "Get all push mirrors of the repository",
"operationId": "repoListPushMirrors",
"parameters": [
{
"type": "string",
"description": "owner of the repo",
"name": "owner",
"in": "path",
"required": true
},
{
"type": "string",
"description": "name of the repo",
"name": "repo",
"in": "path",
"required": true
},
{
"type": "integer",
"description": "page number of results to return (1-based)",
"name": "page",
"in": "query"
},
{
"type": "integer",
"description": "page size of results",
"name": "limit",
"in": "query"
}
],
"responses": {
"200": {
"$ref": "#/responses/PushMirrorList"
},
"400": {
"$ref": "#/responses/error"
},
"403": {
"$ref": "#/responses/forbidden"
}
}
},
"post": {
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"repository"
],
"summary": "add a push mirror to the repository",
"operationId": "repoAddPushMirror",
"parameters": [
{
"type": "string",
"description": "owner of the repo",
"name": "owner",
"in": "path",
"required": true
},
{
"type": "string",
"description": "name of the repo",
"name": "repo",
"in": "path",
"required": true
},
{
"name": "body",
"in": "body",
"schema": {
"$ref": "#/definitions/CreatePushMirrorOption"
}
}
],
"responses": {
"201": {
"$ref": "#/responses/PushMirror"
},
"400": {
"$ref": "#/responses/error"
},
"403": {
"$ref": "#/responses/forbidden"
}
}
}
},
"/repos/ { owner}/ { repo}/push_mirrors-sync": {
"post": {
"produces": [
"application/json"
],
"tags": [
"repository"
],
"summary": "Sync all push mirrored repository",
"operationId": "repoPushMirrorSync",
"parameters": [
{
"type": "string",
"description": "owner of the repo to sync",
"name": "owner",
"in": "path",
"required": true
},
{
"type": "string",
"description": "name of the repo to sync",
"name": "repo",
"in": "path",
"required": true
}
],
"responses": {
"200": {
"$ref": "#/responses/empty"
},
"400": {
"$ref": "#/responses/error"
},
"403": {
"$ref": "#/responses/forbidden"
}
}
}
},
"/repos/ { owner}/ { repo}/push_mirrors/ { name}": {
"get": {
"produces": [
"application/json"
],
"tags": [
"repository"
],
"summary": "Get push mirror of the repository by remoteName",
"operationId": "repoGetPushMirrorByRemoteName",
"parameters": [
{
"type": "string",
"description": "owner of the repo",
"name": "owner",
"in": "path",
"required": true
},
{
"type": "string",
"description": "name of the repo",
"name": "repo",
"in": "path",
"required": true
},
{
"type": "string",
"description": "remote name of push mirror",
"name": "name",
"in": "path",
"required": true
}
],
"responses": {
"200": {
"$ref": "#/responses/PushMirror"
},
"400": {
"$ref": "#/responses/error"
},
"403": {
"$ref": "#/responses/forbidden"
}
}
},
"delete": {
"produces": [
"application/json"
],
"tags": [
"repository"
],
"summary": "deletes a push mirror from a repository by remoteName",
"operationId": "repoDeletePushMirror",
"parameters": [
{
"type": "string",
"description": "owner of the repo",
"name": "owner",
"in": "path",
"required": true
},
{
"type": "string",
"description": "name of the repo",
"name": "repo",
"in": "path",
"required": true
},
{
"type": "string",
"description": "remote name of the pushMirror",
"name": "name",
"in": "path",
"required": true
}
],
"responses": {
"204": {
"$ref": "#/responses/empty"
},
"400": {
"$ref": "#/responses/error"
},
"404": {
"$ref": "#/responses/notFound"
}
}
}
},
2017-11-13 12:32:25 +05:30
"/repos/ { owner}/ { repo}/raw/ { filepath}": {
"get": {
"produces": [
"application/json"
],
"tags": [
"repository"
],
"summary": "Get a file from a repository",
"operationId": "repoGetRawFile",
"parameters": [
{
"type": "string",
"description": "owner of the repo",
"name": "owner",
"in": "path",
"required": true
},
{
"type": "string",
"description": "name of the repo",
"name": "repo",
"in": "path",
"required": true
},
{
"type": "string",
"description": "filepath of the file to get",
"name": "filepath",
"in": "path",
"required": true
2021-02-09 05:45:47 +05:30
},
{
"type": "string",
"description": "The name of the commit/branch/tag. Default the repository’ s default branch (usually master)",
"name": "ref",
"in": "query"
2017-11-13 12:32:25 +05:30
}
],
"responses": {
2018-06-01 11:21:49 +05:30
"200": {
2022-04-28 20:27:56 +05:30
"description": "Returns raw file content."
2019-12-20 22:37:12 +05:30
},
"404": {
"$ref": "#/responses/notFound"
2018-06-01 11:21:49 +05:30
}
2017-11-13 12:32:25 +05:30
}
}
},
"/repos/ { owner}/ { repo}/releases": {
"get": {
2018-03-06 06:52:16 +05:30
"produces": [
"application/json"
],
"tags": [
"repository"
],
"summary": "List a repo's releases",
"operationId": "repoListReleases",
"parameters": [
{
"type": "string",
"description": "owner of the repo",
"name": "owner",
"in": "path",
"required": true
},
{
"type": "string",
"description": "name of the repo",
"name": "repo",
"in": "path",
"required": true
2019-01-25 12:40:50 +05:30
},
2021-06-17 14:28:10 +05:30
{
"type": "boolean",
"description": "filter (exclude / include) drafts, if you dont have repo write access none will show",
"name": "draft",
"in": "query"
},
{
"type": "boolean",
"description": "filter (exclude / include) pre-releases",
"name": "pre-release",
"in": "query"
},
2019-01-25 12:40:50 +05:30
{
"type": "integer",
2020-06-09 10:27:38 +05:30
"description": "page size of results, deprecated - use limit",
2020-01-25 00:30:29 +05:30
"name": "per_page",
"in": "query"
},
{
"type": "integer",
"description": "page number of results to return (1-based)",
2019-01-25 12:40:50 +05:30
"name": "page",
"in": "query"
},
{
"type": "integer",
2020-06-09 10:27:38 +05:30
"description": "page size of results",
2020-01-25 00:30:29 +05:30
"name": "limit",
2019-01-25 12:40:50 +05:30
"in": "query"
2018-03-06 06:52:16 +05:30
}
],
"responses": {
"200": {
"$ref": "#/responses/ReleaseList"
}
}
},
"post": {
2017-11-13 12:32:25 +05:30
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"repository"
],
"summary": "Create a release",
"operationId": "repoCreateRelease",
"parameters": [
{
"type": "string",
"description": "owner of the repo",
"name": "owner",
"in": "path",
"required": true
},
{
"type": "string",
"description": "name of the repo",
"name": "repo",
"in": "path",
"required": true
},
{
"name": "body",
"in": "body",
"schema": {
"$ref": "#/definitions/CreateReleaseOption"
}
}
],
"responses": {
"201": {
"$ref": "#/responses/Release"
2019-12-20 22:37:12 +05:30
},
2020-09-25 04:06:56 +05:30
"404": {
"$ref": "#/responses/notFound"
},
2019-12-20 22:37:12 +05:30
"409": {
"$ref": "#/responses/error"
2017-11-13 12:32:25 +05:30
}
}
}
},
2020-09-26 00:41:43 +05:30
"/repos/ { owner}/ { repo}/releases/tags/ { tag}": {
"get": {
"produces": [
"application/json"
],
"tags": [
"repository"
],
"summary": "Get a release by tag name",
2021-02-08 00:02:18 +05:30
"operationId": "repoGetReleaseByTag",
2020-09-26 00:41:43 +05:30
"parameters": [
{
"type": "string",
"description": "owner of the repo",
"name": "owner",
"in": "path",
"required": true
},
{
"type": "string",
"description": "name of the repo",
"name": "repo",
"in": "path",
"required": true
},
{
"type": "string",
2021-02-08 00:02:18 +05:30
"description": "tag name of the release to get",
2020-09-26 00:41:43 +05:30
"name": "tag",
"in": "path",
"required": true
}
],
"responses": {
"200": {
"$ref": "#/responses/Release"
},
"404": {
"$ref": "#/responses/notFound"
}
}
2020-10-31 07:26:34 +05:30
},
"delete": {
"tags": [
"repository"
],
2021-02-08 00:02:18 +05:30
"summary": "Delete a release by tag name",
"operationId": "repoDeleteReleaseByTag",
2020-10-31 07:26:34 +05:30
"parameters": [
{
"type": "string",
"description": "owner of the repo",
"name": "owner",
"in": "path",
"required": true
},
{
"type": "string",
"description": "name of the repo",
"name": "repo",
"in": "path",
"required": true
},
{
"type": "string",
2021-02-08 00:02:18 +05:30
"description": "tag name of the release to delete",
2020-10-31 07:26:34 +05:30
"name": "tag",
"in": "path",
"required": true
}
],
"responses": {
"204": {
"$ref": "#/responses/empty"
},
"404": {
"$ref": "#/responses/notFound"
2022-06-17 01:33:03 +05:30
},
"405": {
"$ref": "#/responses/empty"
2020-10-31 07:26:34 +05:30
}
}
2020-09-26 00:41:43 +05:30
}
},
2017-11-13 12:32:25 +05:30
"/repos/ { owner}/ { repo}/releases/ { id}": {
2018-03-06 06:52:16 +05:30
"get": {
"produces": [
"application/json"
],
"tags": [
"repository"
],
"summary": "Get a release",
"operationId": "repoGetRelease",
"parameters": [
{
"type": "string",
"description": "owner of the repo",
"name": "owner",
"in": "path",
"required": true
},
{
"type": "string",
"description": "name of the repo",
"name": "repo",
"in": "path",
"required": true
},
{
"type": "integer",
2018-10-21 09:10:42 +05:30
"format": "int64",
2018-03-06 06:52:16 +05:30
"description": "id of the release to get",
"name": "id",
"in": "path",
"required": true
}
],
"responses": {
"200": {
"$ref": "#/responses/Release"
2020-09-25 04:06:56 +05:30
},
"404": {
"$ref": "#/responses/notFound"
2018-03-06 06:52:16 +05:30
}
}
},
2017-11-13 12:32:25 +05:30
"delete": {
"tags": [
"repository"
],
"summary": "Delete a release",
"operationId": "repoDeleteRelease",
"parameters": [
{
"type": "string",
"description": "owner of the repo",
"name": "owner",
"in": "path",
"required": true
},
{
"type": "string",
"description": "name of the repo",
"name": "repo",
"in": "path",
"required": true
},
{
"type": "integer",
2018-10-21 09:10:42 +05:30
"format": "int64",
2017-11-13 12:32:25 +05:30
"description": "id of the release to delete",
"name": "id",
"in": "path",
"required": true
}
],
"responses": {
"204": {
"$ref": "#/responses/empty"
2020-09-25 04:06:56 +05:30
},
"404": {
"$ref": "#/responses/notFound"
2022-06-17 01:33:03 +05:30
},
"405": {
"$ref": "#/responses/empty"
2017-11-13 12:32:25 +05:30
}
}
},
"patch": {
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"repository"
],
"summary": "Update a release",
"operationId": "repoEditRelease",
"parameters": [
{
"type": "string",
"description": "owner of the repo",
"name": "owner",
"in": "path",
"required": true
},
{
"type": "string",
"description": "name of the repo",
"name": "repo",
"in": "path",
"required": true
},
{
"type": "integer",
2018-10-21 09:10:42 +05:30
"format": "int64",
2017-11-13 12:32:25 +05:30
"description": "id of the release to edit",
"name": "id",
"in": "path",
"required": true
},
{
"name": "body",
"in": "body",
"schema": {
"$ref": "#/definitions/EditReleaseOption"
}
}
],
"responses": {
"200": {
"$ref": "#/responses/Release"
2020-09-25 04:06:56 +05:30
},
"404": {
"$ref": "#/responses/notFound"
2017-11-13 12:32:25 +05:30
}
}
}
},
2018-03-06 06:52:16 +05:30
"/repos/ { owner}/ { repo}/releases/ { id}/assets": {
"get": {
"produces": [
"application/json"
],
"tags": [
"repository"
],
"summary": "List release's attachments",
"operationId": "repoListReleaseAttachments",
"parameters": [
{
"type": "string",
"description": "owner of the repo",
"name": "owner",
"in": "path",
"required": true
},
{
"type": "string",
"description": "name of the repo",
"name": "repo",
"in": "path",
"required": true
},
{
"type": "integer",
2018-10-21 09:10:42 +05:30
"format": "int64",
2018-03-06 06:52:16 +05:30
"description": "id of the release",
"name": "id",
"in": "path",
"required": true
}
],
"responses": {
"200": {
"$ref": "#/responses/AttachmentList"
}
}
},
"post": {
"consumes": [
"multipart/form-data"
],
"produces": [
"application/json"
],
"tags": [
"repository"
],
"summary": "Create a release attachment",
"operationId": "repoCreateReleaseAttachment",
"parameters": [
{
"type": "string",
"description": "owner of the repo",
"name": "owner",
"in": "path",
"required": true
},
{
"type": "string",
"description": "name of the repo",
"name": "repo",
"in": "path",
"required": true
},
{
"type": "integer",
2018-10-21 09:10:42 +05:30
"format": "int64",
2018-03-06 06:52:16 +05:30
"description": "id of the release",
"name": "id",
"in": "path",
"required": true
},
{
"type": "string",
"description": "name of the attachment",
"name": "name",
"in": "query"
},
{
"type": "file",
"description": "attachment to upload",
"name": "attachment",
"in": "formData",
"required": true
}
],
"responses": {
"201": {
"$ref": "#/responses/Attachment"
2019-12-20 22:37:12 +05:30
},
"400": {
"$ref": "#/responses/error"
2018-03-06 06:52:16 +05:30
}
}
}
},
"/repos/ { owner}/ { repo}/releases/ { id}/assets/ { attachment_id}": {
"get": {
"produces": [
"application/json"
],
"tags": [
"repository"
],
"summary": "Get a release attachment",
"operationId": "repoGetReleaseAttachment",
"parameters": [
{
"type": "string",
"description": "owner of the repo",
"name": "owner",
"in": "path",
"required": true
},
{
"type": "string",
"description": "name of the repo",
"name": "repo",
"in": "path",
"required": true
},
{
"type": "integer",
2018-10-21 09:10:42 +05:30
"format": "int64",
2018-03-06 06:52:16 +05:30
"description": "id of the release",
"name": "id",
"in": "path",
"required": true
},
{
"type": "integer",
2018-10-21 09:10:42 +05:30
"format": "int64",
2018-03-06 06:52:16 +05:30
"description": "id of the attachment to get",
"name": "attachment_id",
"in": "path",
"required": true
}
],
"responses": {
"200": {
"$ref": "#/responses/Attachment"
}
}
},
"delete": {
"produces": [
"application/json"
],
"tags": [
"repository"
],
"summary": "Delete a release attachment",
"operationId": "repoDeleteReleaseAttachment",
"parameters": [
{
"type": "string",
"description": "owner of the repo",
"name": "owner",
"in": "path",
"required": true
},
{
"type": "string",
"description": "name of the repo",
"name": "repo",
"in": "path",
"required": true
},
{
"type": "integer",
2018-10-21 09:10:42 +05:30
"format": "int64",
2018-03-06 06:52:16 +05:30
"description": "id of the release",
"name": "id",
"in": "path",
"required": true
},
{
"type": "integer",
2018-10-21 09:10:42 +05:30
"format": "int64",
2018-03-06 06:52:16 +05:30
"description": "id of the attachment to delete",
"name": "attachment_id",
"in": "path",
"required": true
}
],
"responses": {
"204": {
"$ref": "#/responses/empty"
}
}
},
"patch": {
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"repository"
],
"summary": "Edit a release attachment",
"operationId": "repoEditReleaseAttachment",
"parameters": [
{
"type": "string",
"description": "owner of the repo",
"name": "owner",
"in": "path",
"required": true
},
{
"type": "string",
"description": "name of the repo",
"name": "repo",
"in": "path",
"required": true
},
{
"type": "integer",
2018-10-21 09:10:42 +05:30
"format": "int64",
2018-03-06 06:52:16 +05:30
"description": "id of the release",
"name": "id",
"in": "path",
"required": true
},
{
"type": "integer",
2018-10-21 09:10:42 +05:30
"format": "int64",
2018-03-06 06:52:16 +05:30
"description": "id of the attachment to edit",
"name": "attachment_id",
"in": "path",
"required": true
},
{
"name": "body",
"in": "body",
"schema": {
"$ref": "#/definitions/EditAttachmentOptions"
}
}
],
"responses": {
"201": {
"$ref": "#/responses/Attachment"
}
}
}
},
2021-06-17 19:32:34 +05:30
"/repos/ { owner}/ { repo}/reviewers": {
"get": {
"produces": [
"application/json"
],
"tags": [
"repository"
],
"summary": "Return all users that can be requested to review in this repo",
"operationId": "repoGetReviewers",
"parameters": [
{
"type": "string",
"description": "owner of the repo",
"name": "owner",
"in": "path",
"required": true
},
{
"type": "string",
"description": "name of the repo",
"name": "repo",
"in": "path",
"required": true
}
],
"responses": {
"200": {
"$ref": "#/responses/UserList"
}
}
}
},
2019-10-16 19:12:42 +05:30
"/repos/ { owner}/ { repo}/signing-key.gpg": {
"get": {
"produces": [
"text/plain"
],
"tags": [
"repository"
],
"summary": "Get signing-key.gpg for given repository",
"operationId": "repoSigningKey",
"parameters": [
{
"type": "string",
"description": "owner of the repo",
"name": "owner",
"in": "path",
"required": true
},
{
"type": "string",
"description": "name of the repo",
"name": "repo",
"in": "path",
"required": true
}
],
"responses": {
"200": {
"description": "GPG armored public key",
"schema": {
"type": "string"
}
}
}
}
},
2017-11-13 12:32:25 +05:30
"/repos/ { owner}/ { repo}/stargazers": {
"get": {
"produces": [
"application/json"
],
"tags": [
"repository"
],
"summary": "List a repo's stargazers",
"operationId": "repoListStargazers",
"parameters": [
{
"type": "string",
"description": "owner of the repo",
"name": "owner",
"in": "path",
"required": true
},
{
"type": "string",
"description": "name of the repo",
"name": "repo",
"in": "path",
"required": true
2020-01-25 00:30:29 +05:30
},
{
"type": "integer",
"description": "page number of results to return (1-based)",
"name": "page",
"in": "query"
},
{
"type": "integer",
2020-06-09 10:27:38 +05:30
"description": "page size of results",
2020-01-25 00:30:29 +05:30
"name": "limit",
"in": "query"
2017-11-13 12:32:25 +05:30
}
],
"responses": {
"200": {
"$ref": "#/responses/UserList"
}
}
}
},
"/repos/ { owner}/ { repo}/statuses/ { sha}": {
"get": {
"produces": [
"application/json"
],
"tags": [
"repository"
],
"summary": "Get a commit's statuses",
"operationId": "repoListStatuses",
"parameters": [
{
"type": "string",
"description": "owner of the repo",
"name": "owner",
"in": "path",
"required": true
},
{
"type": "string",
"description": "name of the repo",
"name": "repo",
"in": "path",
"required": true
},
{
"type": "string",
"description": "sha of the commit",
"name": "sha",
"in": "path",
"required": true
2019-07-25 16:25:06 +05:30
},
{
"enum": [
"oldest",
"recentupdate",
"leastupdate",
"leastindex",
"highestindex"
],
"type": "string",
"description": "type of sort",
"name": "sort",
"in": "query"
},
{
"enum": [
"pending",
"success",
"error",
"failure",
"warning"
],
"type": "string",
"description": "type of state",
"name": "state",
"in": "query"
2020-01-25 00:30:29 +05:30
},
{
"type": "integer",
"description": "page number of results to return (1-based)",
"name": "page",
"in": "query"
},
{
"type": "integer",
2020-06-09 10:27:38 +05:30
"description": "page size of results",
2020-01-25 00:30:29 +05:30
"name": "limit",
"in": "query"
2017-11-13 12:32:25 +05:30
}
],
"responses": {
"200": {
2020-12-18 09:03:32 +05:30
"$ref": "#/responses/CommitStatusList"
2019-12-20 22:37:12 +05:30
},
"400": {
"$ref": "#/responses/error"
2017-11-13 12:32:25 +05:30
}
}
},
"post": {
"produces": [
"application/json"
],
"tags": [
"repository"
],
"summary": "Create a commit status",
"operationId": "repoCreateStatus",
"parameters": [
{
"type": "string",
"description": "owner of the repo",
"name": "owner",
"in": "path",
"required": true
},
{
"type": "string",
"description": "name of the repo",
"name": "repo",
"in": "path",
"required": true
},
{
"type": "string",
"description": "sha of the commit",
"name": "sha",
"in": "path",
"required": true
},
{
"name": "body",
"in": "body",
"schema": {
"$ref": "#/definitions/CreateStatusOption"
}
}
],
"responses": {
2019-12-20 03:16:53 +05:30
"201": {
2020-12-18 09:03:32 +05:30
"$ref": "#/responses/CommitStatus"
2019-12-20 22:37:12 +05:30
},
"400": {
"$ref": "#/responses/error"
2017-11-13 12:32:25 +05:30
}
}
}
},
"/repos/ { owner}/ { repo}/subscribers": {
"get": {
"produces": [
"application/json"
],
"tags": [
"repository"
],
"summary": "List a repo's watchers",
"operationId": "repoListSubscribers",
"parameters": [
{
"type": "string",
"description": "owner of the repo",
"name": "owner",
"in": "path",
"required": true
},
{
"type": "string",
"description": "name of the repo",
"name": "repo",
"in": "path",
"required": true
2020-01-25 00:30:29 +05:30
},
{
"type": "integer",
"description": "page number of results to return (1-based)",
"name": "page",
"in": "query"
},
{
"type": "integer",
2020-06-09 10:27:38 +05:30
"description": "page size of results",
2020-01-25 00:30:29 +05:30
"name": "limit",
"in": "query"
2017-11-13 12:32:25 +05:30
}
],
"responses": {
"200": {
"$ref": "#/responses/UserList"
}
}
}
},
"/repos/ { owner}/ { repo}/subscription": {
"get": {
"tags": [
"repository"
],
"summary": "Check if the current user is watching a repo",
"operationId": "userCurrentCheckSubscription",
"parameters": [
{
"type": "string",
"description": "owner of the repo",
"name": "owner",
"in": "path",
"required": true
},
{
"type": "string",
"description": "name of the repo",
"name": "repo",
"in": "path",
"required": true
}
],
"responses": {
"200": {
"$ref": "#/responses/WatchInfo"
2020-04-15 18:33:05 +05:30
},
"404": {
"description": "User is not watching this repo or repo do not exist"
2017-11-13 12:32:25 +05:30
}
}
},
"put": {
"tags": [
"repository"
],
"summary": "Watch a repo",
"operationId": "userCurrentPutSubscription",
"parameters": [
{
"type": "string",
"description": "owner of the repo",
"name": "owner",
"in": "path",
"required": true
},
{
"type": "string",
"description": "name of the repo",
"name": "repo",
"in": "path",
"required": true
}
],
"responses": {
"200": {
"$ref": "#/responses/WatchInfo"
}
}
},
"delete": {
"tags": [
"repository"
],
"summary": "Unwatch a repo",
"operationId": "userCurrentDeleteSubscription",
"parameters": [
{
"type": "string",
"description": "owner of the repo",
"name": "owner",
"in": "path",
"required": true
},
{
"type": "string",
"description": "name of the repo",
"name": "repo",
"in": "path",
"required": true
}
],
"responses": {
"204": {
"$ref": "#/responses/empty"
}
}
}
},
2019-02-07 17:30:52 +05:30
"/repos/ { owner}/ { repo}/tags": {
"get": {
"produces": [
"application/json"
],
"tags": [
"repository"
],
"summary": "List a repository's tags",
"operationId": "repoListTags",
"parameters": [
{
"type": "string",
"description": "owner of the repo",
"name": "owner",
"in": "path",
"required": true
},
{
"type": "string",
"description": "name of the repo",
"name": "repo",
"in": "path",
"required": true
2020-02-26 00:37:07 +05:30
},
{
"type": "integer",
"description": "page number of results to return (1-based)",
"name": "page",
"in": "query"
},
{
"type": "integer",
"description": "page size of results, default maximum page size is 50",
"name": "limit",
"in": "query"
2019-02-07 17:30:52 +05:30
}
],
"responses": {
"200": {
"$ref": "#/responses/TagList"
}
}
2021-06-17 21:34:10 +05:30
},
"post": {
"produces": [
"application/json"
],
"tags": [
"repository"
],
"summary": "Create a new git tag in a repository",
"operationId": "repoCreateTag",
"parameters": [
{
"type": "string",
"description": "owner of the repo",
"name": "owner",
"in": "path",
"required": true
},
{
"type": "string",
"description": "name of the repo",
"name": "repo",
"in": "path",
"required": true
},
{
"name": "body",
"in": "body",
"schema": {
"$ref": "#/definitions/CreateTagOption"
}
}
],
"responses": {
"200": {
2021-06-24 02:38:47 +05:30
"$ref": "#/responses/Tag"
2021-06-17 21:34:10 +05:30
},
"404": {
"$ref": "#/responses/notFound"
},
2022-06-17 01:33:03 +05:30
"405": {
"$ref": "#/responses/empty"
},
2021-06-17 21:34:10 +05:30
"409": {
"$ref": "#/responses/conflict"
}
}
2019-02-07 17:30:52 +05:30
}
},
2021-02-08 00:02:18 +05:30
"/repos/ { owner}/ { repo}/tags/ { tag}": {
2021-06-24 02:38:47 +05:30
"get": {
"produces": [
"application/json"
],
"tags": [
"repository"
],
"summary": "Get the tag of a repository by tag name",
"operationId": "repoGetTag",
"parameters": [
{
"type": "string",
"description": "owner of the repo",
"name": "owner",
"in": "path",
"required": true
},
{
"type": "string",
"description": "name of the repo",
"name": "repo",
"in": "path",
"required": true
},
{
"type": "string",
"description": "name of tag",
"name": "tag",
"in": "path",
"required": true
}
],
"responses": {
"200": {
"$ref": "#/responses/Tag"
},
"404": {
"$ref": "#/responses/notFound"
}
}
},
2021-02-08 00:02:18 +05:30
"delete": {
"produces": [
"application/json"
],
"tags": [
"repository"
],
"summary": "Delete a repository's tag by name",
"operationId": "repoDeleteTag",
"parameters": [
{
"type": "string",
"description": "owner of the repo",
"name": "owner",
"in": "path",
"required": true
},
{
"type": "string",
"description": "name of the repo",
"name": "repo",
"in": "path",
"required": true
},
{
"type": "string",
"description": "name of tag to delete",
"name": "tag",
"in": "path",
"required": true
}
],
"responses": {
"204": {
"$ref": "#/responses/empty"
},
"404": {
"$ref": "#/responses/notFound"
},
2022-06-17 01:33:03 +05:30
"405": {
"$ref": "#/responses/empty"
},
2021-02-08 00:02:18 +05:30
"409": {
"$ref": "#/responses/conflict"
}
}
}
},
2021-02-02 03:27:12 +05:30
"/repos/ { owner}/ { repo}/teams": {
"get": {
"produces": [
"application/json"
],
"tags": [
"repository"
],
"summary": "List a repository's teams",
"operationId": "repoListTeams",
"parameters": [
{
"type": "string",
"description": "owner of the repo",
"name": "owner",
"in": "path",
"required": true
},
{
"type": "string",
"description": "name of the repo",
"name": "repo",
"in": "path",
"required": true
}
],
"responses": {
"200": {
"$ref": "#/responses/TeamList"
}
}
}
},
"/repos/ { owner}/ { repo}/teams/ { team}": {
"get": {
"produces": [
"application/json"
],
"tags": [
"repository"
],
"summary": "Check if a team is assigned to a repository",
"operationId": "repoCheckTeam",
"parameters": [
{
"type": "string",
"description": "owner of the repo",
"name": "owner",
"in": "path",
"required": true
},
{
"type": "string",
"description": "name of the repo",
"name": "repo",
"in": "path",
"required": true
},
{
"type": "string",
"description": "team name",
"name": "team",
"in": "path",
"required": true
}
],
"responses": {
"200": {
"$ref": "#/responses/Team"
},
"404": {
"$ref": "#/responses/notFound"
},
"405": {
"$ref": "#/responses/error"
}
}
},
"put": {
"produces": [
"application/json"
],
"tags": [
"repository"
],
"summary": "Add a team to a repository",
"operationId": "repoAddTeam",
"parameters": [
{
"type": "string",
"description": "owner of the repo",
"name": "owner",
"in": "path",
"required": true
},
{
"type": "string",
"description": "name of the repo",
"name": "repo",
"in": "path",
"required": true
},
{
"type": "string",
"description": "team name",
"name": "team",
"in": "path",
"required": true
}
],
"responses": {
"204": {
"$ref": "#/responses/empty"
},
"405": {
"$ref": "#/responses/error"
},
"422": {
"$ref": "#/responses/validationError"
}
}
},
"delete": {
"produces": [
"application/json"
],
"tags": [
"repository"
],
"summary": "Delete a team from a repository",
"operationId": "repoDeleteTeam",
"parameters": [
{
"type": "string",
"description": "owner of the repo",
"name": "owner",
"in": "path",
"required": true
},
{
"type": "string",
"description": "name of the repo",
"name": "repo",
"in": "path",
"required": true
},
{
"type": "string",
"description": "team name",
"name": "team",
"in": "path",
"required": true
}
],
"responses": {
"204": {
"$ref": "#/responses/empty"
},
"405": {
"$ref": "#/responses/error"
},
"422": {
"$ref": "#/responses/validationError"
}
}
}
},
2017-11-13 12:32:25 +05:30
"/repos/ { owner}/ { repo}/times": {
"get": {
"produces": [
"application/json"
],
"tags": [
"repository"
],
"summary": "List a repo's tracked times",
"operationId": "repoTrackedTimes",
"parameters": [
{
"type": "string",
"description": "owner of the repo",
"name": "owner",
"in": "path",
"required": true
},
{
"type": "string",
"description": "name of the repo",
"name": "repo",
"in": "path",
"required": true
2020-01-09 02:44:00 +05:30
},
{
"type": "string",
2020-12-22 09:17:17 +05:30
"description": "optional filter by user (available for issue managers)",
2020-01-09 02:44:00 +05:30
"name": "user",
"in": "query"
},
{
"type": "string",
"format": "date-time",
"description": "Only show times updated after the given time. This is a timestamp in RFC 3339 format",
"name": "since",
"in": "query"
},
{
"type": "string",
"format": "date-time",
"description": "Only show times updated before the given time. This is a timestamp in RFC 3339 format",
"name": "before",
"in": "query"
2020-01-25 00:30:29 +05:30
},
{
"type": "integer",
"description": "page number of results to return (1-based)",
"name": "page",
"in": "query"
},
{
"type": "integer",
2020-06-09 10:27:38 +05:30
"description": "page size of results",
2020-01-25 00:30:29 +05:30
"name": "limit",
"in": "query"
2017-11-13 12:32:25 +05:30
}
],
"responses": {
"200": {
"$ref": "#/responses/TrackedTimeList"
2019-12-20 22:37:12 +05:30
},
"400": {
"$ref": "#/responses/error"
2020-01-09 02:44:00 +05:30
},
"403": {
"$ref": "#/responses/forbidden"
2017-11-13 12:32:25 +05:30
}
}
}
},
2018-06-12 20:29:22 +05:30
"/repos/ { owner}/ { repo}/times/ { user}": {
2017-11-13 12:32:25 +05:30
"get": {
"produces": [
"application/json"
],
"tags": [
2020-01-09 02:44:00 +05:30
"repository"
2017-11-13 12:32:25 +05:30
],
"summary": "List a user's tracked times in a repo",
"operationId": "userTrackedTimes",
2020-01-09 02:44:00 +05:30
"deprecated": true,
2017-11-13 12:32:25 +05:30
"parameters": [
{
"type": "string",
"description": "owner of the repo",
"name": "owner",
"in": "path",
"required": true
},
{
"type": "string",
"description": "name of the repo",
"name": "repo",
"in": "path",
"required": true
},
{
"type": "string",
"description": "username of user",
"name": "user",
"in": "path",
"required": true
}
],
"responses": {
"200": {
"$ref": "#/responses/TrackedTimeList"
2019-12-20 22:37:12 +05:30
},
"400": {
"$ref": "#/responses/error"
2020-01-09 02:44:00 +05:30
},
"403": {
"$ref": "#/responses/forbidden"
2017-11-13 12:32:25 +05:30
}
}
}
},
2019-09-03 21:16:24 +05:30
"/repos/ { owner}/ { repo}/topics": {
"get": {
"produces": [
"application/json"
],
"tags": [
"repository"
],
"summary": "Get list of topics that a repository has",
"operationId": "repoListTopics",
"parameters": [
{
"type": "string",
"description": "owner of the repo",
"name": "owner",
"in": "path",
"required": true
},
{
"type": "string",
"description": "name of the repo",
"name": "repo",
"in": "path",
"required": true
2020-01-25 00:30:29 +05:30
},
{
"type": "integer",
"description": "page number of results to return (1-based)",
"name": "page",
"in": "query"
},
{
"type": "integer",
2020-06-09 10:27:38 +05:30
"description": "page size of results",
2020-01-25 00:30:29 +05:30
"name": "limit",
"in": "query"
2019-09-03 21:16:24 +05:30
}
],
"responses": {
"200": {
"$ref": "#/responses/TopicNames"
}
}
},
"put": {
"produces": [
"application/json"
],
"tags": [
"repository"
],
"summary": "Replace list of topics for a repository",
"operationId": "repoUpdateTopics",
"parameters": [
{
"type": "string",
"description": "owner of the repo",
"name": "owner",
"in": "path",
"required": true
},
{
"type": "string",
"description": "name of the repo",
"name": "repo",
"in": "path",
"required": true
},
{
"name": "body",
"in": "body",
"schema": {
"$ref": "#/definitions/RepoTopicOptions"
}
}
],
"responses": {
"204": {
"$ref": "#/responses/empty"
2019-12-20 22:37:12 +05:30
},
"422": {
"$ref": "#/responses/invalidTopicsError"
2019-09-03 21:16:24 +05:30
}
}
}
},
"/repos/ { owner}/ { repo}/topics/ { topic}": {
"put": {
"produces": [
"application/json"
],
"tags": [
"repository"
],
"summary": "Add a topic to a repository",
2021-08-01 21:58:05 +05:30
"operationId": "repoAddTopic",
2019-09-03 21:16:24 +05:30
"parameters": [
{
"type": "string",
"description": "owner of the repo",
"name": "owner",
"in": "path",
"required": true
},
{
"type": "string",
"description": "name of the repo",
"name": "repo",
"in": "path",
"required": true
},
{
"type": "string",
"description": "name of the topic to add",
"name": "topic",
"in": "path",
"required": true
}
],
"responses": {
"204": {
"$ref": "#/responses/empty"
2019-12-20 22:37:12 +05:30
},
"422": {
"$ref": "#/responses/invalidTopicsError"
2019-09-03 21:16:24 +05:30
}
}
},
"delete": {
"produces": [
"application/json"
],
"tags": [
"repository"
],
"summary": "Delete a topic from a repository",
"operationId": "repoDeleteTopic",
"parameters": [
{
"type": "string",
"description": "owner of the repo",
"name": "owner",
"in": "path",
"required": true
},
{
"type": "string",
"description": "name of the repo",
"name": "repo",
"in": "path",
"required": true
},
{
"type": "string",
"description": "name of the topic to delete",
"name": "topic",
"in": "path",
"required": true
}
],
"responses": {
"204": {
"$ref": "#/responses/empty"
2019-12-20 22:37:12 +05:30
},
"422": {
"$ref": "#/responses/invalidTopicsError"
2019-09-03 21:16:24 +05:30
}
}
}
},
2020-01-31 21:19:04 +05:30
"/repos/ { owner}/ { repo}/transfer": {
"post": {
"produces": [
"application/json"
],
"tags": [
"repository"
],
"summary": "Transfer a repo ownership",
"operationId": "repoTransfer",
"parameters": [
{
"type": "string",
"description": "owner of the repo to transfer",
"name": "owner",
"in": "path",
"required": true
},
{
"type": "string",
"description": "name of the repo to transfer",
"name": "repo",
"in": "path",
"required": true
},
{
"description": "Transfer Options",
"name": "body",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/TransferRepoOption"
}
}
],
"responses": {
"202": {
"$ref": "#/responses/Repository"
},
"403": {
"$ref": "#/responses/forbidden"
},
"404": {
"$ref": "#/responses/notFound"
},
"422": {
"$ref": "#/responses/validationError"
}
}
}
},
2021-12-24 09:56:52 +05:30
"/repos/ { owner}/ { repo}/transfer/accept": {
"post": {
"produces": [
"application/json"
],
"tags": [
"repository"
],
"summary": "Accept a repo transfer",
"operationId": "acceptRepoTransfer",
"parameters": [
{
"type": "string",
"description": "owner of the repo to transfer",
"name": "owner",
"in": "path",
"required": true
},
{
"type": "string",
"description": "name of the repo to transfer",
"name": "repo",
"in": "path",
"required": true
}
],
"responses": {
"202": {
"$ref": "#/responses/Repository"
},
"403": {
"$ref": "#/responses/forbidden"
},
"404": {
"$ref": "#/responses/notFound"
}
}
}
},
"/repos/ { owner}/ { repo}/transfer/reject": {
"post": {
"produces": [
"application/json"
],
"tags": [
"repository"
],
"summary": "Reject a repo transfer",
"operationId": "rejectRepoTransfer",
"parameters": [
{
"type": "string",
"description": "owner of the repo to transfer",
"name": "owner",
"in": "path",
"required": true
},
{
"type": "string",
"description": "name of the repo to transfer",
"name": "repo",
"in": "path",
"required": true
}
],
"responses": {
"200": {
"$ref": "#/responses/Repository"
},
"403": {
"$ref": "#/responses/forbidden"
},
"404": {
"$ref": "#/responses/notFound"
}
}
}
},
2021-10-25 09:13:40 +05:30
"/repos/ { owner}/ { repo}/wiki/new": {
"post": {
"consumes": [
"application/json"
],
"tags": [
"repository"
],
"summary": "Create a wiki page",
"operationId": "repoCreateWikiPage",
"parameters": [
{
"type": "string",
"description": "owner of the repo",
"name": "owner",
"in": "path",
"required": true
},
{
"type": "string",
"description": "name of the repo",
"name": "repo",
"in": "path",
"required": true
},
{
"name": "body",
"in": "body",
"schema": {
"$ref": "#/definitions/CreateWikiPageOptions"
}
}
],
"responses": {
"201": {
"$ref": "#/responses/WikiPage"
},
"400": {
"$ref": "#/responses/error"
},
"403": {
"$ref": "#/responses/forbidden"
}
}
}
},
"/repos/ { owner}/ { repo}/wiki/page/ { pageName}": {
"get": {
"produces": [
"application/json"
],
"tags": [
"repository"
],
"summary": "Get a wiki page",
"operationId": "repoGetWikiPage",
"parameters": [
{
"type": "string",
"description": "owner of the repo",
"name": "owner",
"in": "path",
"required": true
},
{
"type": "string",
"description": "name of the repo",
"name": "repo",
"in": "path",
"required": true
},
{
"type": "string",
"description": "name of the page",
"name": "pageName",
"in": "path",
"required": true
}
],
"responses": {
"200": {
"$ref": "#/responses/WikiPage"
},
"404": {
"$ref": "#/responses/notFound"
}
}
},
"delete": {
"tags": [
"repository"
],
"summary": "Delete a wiki page",
"operationId": "repoDeleteWikiPage",
"parameters": [
{
"type": "string",
"description": "owner of the repo",
"name": "owner",
"in": "path",
"required": true
},
{
"type": "string",
"description": "name of the repo",
"name": "repo",
"in": "path",
"required": true
},
{
"type": "string",
"description": "name of the page",
"name": "pageName",
"in": "path",
"required": true
}
],
"responses": {
"204": {
"$ref": "#/responses/empty"
},
"403": {
"$ref": "#/responses/forbidden"
},
"404": {
"$ref": "#/responses/notFound"
}
}
},
"patch": {
"consumes": [
"application/json"
],
"tags": [
"repository"
],
"summary": "Edit a wiki page",
"operationId": "repoEditWikiPage",
"parameters": [
{
"type": "string",
"description": "owner of the repo",
"name": "owner",
"in": "path",
"required": true
},
{
"type": "string",
"description": "name of the repo",
"name": "repo",
"in": "path",
"required": true
},
{
"type": "string",
"description": "name of the page",
"name": "pageName",
"in": "path",
"required": true
},
{
"name": "body",
"in": "body",
"schema": {
"$ref": "#/definitions/CreateWikiPageOptions"
}
}
],
"responses": {
"200": {
"$ref": "#/responses/WikiPage"
},
"400": {
"$ref": "#/responses/error"
},
"403": {
"$ref": "#/responses/forbidden"
}
}
}
},
"/repos/ { owner}/ { repo}/wiki/pages": {
"get": {
"produces": [
"application/json"
],
"tags": [
"repository"
],
"summary": "Get all wiki pages",
"operationId": "repoGetWikiPages",
"parameters": [
{
"type": "string",
"description": "owner of the repo",
"name": "owner",
"in": "path",
"required": true
},
{
"type": "string",
"description": "name of the repo",
"name": "repo",
"in": "path",
"required": true
},
{
"type": "integer",
"description": "page number of results to return (1-based)",
"name": "page",
"in": "query"
},
{
"type": "integer",
"description": "page size of results",
"name": "limit",
"in": "query"
}
],
"responses": {
"200": {
"$ref": "#/responses/WikiPageList"
},
"404": {
"$ref": "#/responses/notFound"
}
}
}
},
"/repos/ { owner}/ { repo}/wiki/revisions/ { pageName}": {
"get": {
"produces": [
"application/json"
],
"tags": [
"repository"
],
"summary": "Get revisions of a wiki page",
"operationId": "repoGetWikiPageRevisions",
"parameters": [
{
"type": "string",
"description": "owner of the repo",
"name": "owner",
"in": "path",
"required": true
},
{
"type": "string",
"description": "name of the repo",
"name": "repo",
"in": "path",
"required": true
},
{
"type": "string",
"description": "name of the page",
"name": "pageName",
"in": "path",
"required": true
},
{
"type": "integer",
"description": "page number of results to return (1-based)",
"name": "page",
"in": "query"
}
],
"responses": {
"200": {
"$ref": "#/responses/WikiCommitList"
},
"404": {
"$ref": "#/responses/notFound"
}
}
}
},
2021-07-05 20:59:08 +05:30
"/repos/ { template_owner}/ { template_repo}/generate": {
"post": {
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"repository"
],
"summary": "Create a repository using a template",
"operationId": "generateRepo",
"parameters": [
{
"type": "string",
"description": "name of the template repository owner",
"name": "template_owner",
"in": "path",
"required": true
},
{
"type": "string",
"description": "name of the template repository",
"name": "template_repo",
"in": "path",
"required": true
},
{
"name": "body",
"in": "body",
"schema": {
"$ref": "#/definitions/GenerateRepoOption"
}
}
],
"responses": {
"201": {
"$ref": "#/responses/Repository"
},
"403": {
"$ref": "#/responses/forbidden"
},
"404": {
"$ref": "#/responses/notFound"
},
"409": {
"description": "The repository with the same name already exists."
},
"422": {
"$ref": "#/responses/validationError"
}
}
}
},
2017-11-13 12:32:25 +05:30
"/repositories/ { id}": {
"get": {
"produces": [
"application/json"
],
"tags": [
"repository"
],
"summary": "Get a repository by id",
"operationId": "repoGetByID",
"parameters": [
{
"type": "integer",
2018-10-21 09:10:42 +05:30
"format": "int64",
2017-11-13 12:32:25 +05:30
"description": "id of the repo to get",
"name": "id",
"in": "path",
"required": true
}
],
"responses": {
"200": {
"$ref": "#/responses/Repository"
}
}
}
},
2020-10-06 21:46:16 +05:30
"/settings/api": {
2020-09-05 13:13:06 +05:30
"get": {
"produces": [
"application/json"
],
"tags": [
"settings"
],
2020-10-06 21:46:16 +05:30
"summary": "Get instance's global settings for api",
"operationId": "getGeneralAPISettings",
2020-09-05 13:13:06 +05:30
"responses": {
"200": {
2020-10-06 21:46:16 +05:30
"$ref": "#/responses/GeneralAPISettings"
2020-09-05 13:13:06 +05:30
}
}
}
},
2020-10-06 21:46:16 +05:30
"/settings/attachment": {
2020-09-04 23:40:15 +05:30
"get": {
"produces": [
"application/json"
],
"tags": [
"settings"
],
2020-10-06 21:46:16 +05:30
"summary": "Get instance's global settings for Attachment",
"operationId": "getGeneralAttachmentSettings",
2020-09-04 23:40:15 +05:30
"responses": {
"200": {
2020-10-06 21:46:16 +05:30
"$ref": "#/responses/GeneralAttachmentSettings"
2020-09-04 23:40:15 +05:30
}
}
}
},
2020-06-22 23:51:31 +05:30
"/settings/repository": {
2020-06-04 14:46:53 +05:30
"get": {
"produces": [
"application/json"
],
"tags": [
2020-06-22 23:51:31 +05:30
"settings"
2020-06-04 14:46:53 +05:30
],
2020-06-22 23:51:31 +05:30
"summary": "Get instance's global settings for repositories",
"operationId": "getGeneralRepositorySettings",
2020-06-04 14:46:53 +05:30
"responses": {
"200": {
2020-06-22 23:51:31 +05:30
"$ref": "#/responses/GeneralRepoSettings"
2020-06-04 14:46:53 +05:30
}
}
}
},
2020-06-22 23:51:31 +05:30
"/settings/ui": {
2020-06-10 17:35:46 +05:30
"get": {
"produces": [
"application/json"
],
"tags": [
2020-06-22 23:51:31 +05:30
"settings"
2020-06-10 17:35:46 +05:30
],
2020-06-22 23:51:31 +05:30
"summary": "Get instance's global settings for ui",
"operationId": "getGeneralUISettings",
2020-06-10 17:35:46 +05:30
"responses": {
"200": {
2020-06-22 23:51:31 +05:30
"$ref": "#/responses/GeneralUISettings"
2020-06-10 17:35:46 +05:30
}
}
}
},
2019-10-16 19:12:42 +05:30
"/signing-key.gpg": {
"get": {
"produces": [
"text/plain"
],
"tags": [
"miscellaneous"
],
"summary": "Get default signing-key.gpg",
"operationId": "getSigningKey",
"responses": {
"200": {
"description": "GPG armored public key",
"schema": {
"type": "string"
}
}
}
}
},
2017-11-13 12:32:25 +05:30
"/teams/ { id}": {
"get": {
"produces": [
"application/json"
],
"tags": [
"organization"
],
"summary": "Get a team",
"operationId": "orgGetTeam",
"parameters": [
{
"type": "integer",
2018-10-21 09:10:42 +05:30
"format": "int64",
2017-11-13 12:32:25 +05:30
"description": "id of the team to get",
"name": "id",
"in": "path",
"required": true
}
],
"responses": {
"200": {
"$ref": "#/responses/Team"
}
}
},
"delete": {
"tags": [
"organization"
],
"summary": "Delete a team",
"operationId": "orgDeleteTeam",
"parameters": [
{
"type": "integer",
2018-10-21 09:10:42 +05:30
"format": "int64",
2017-11-13 12:32:25 +05:30
"description": "id of the team to delete",
"name": "id",
"in": "path",
"required": true
}
],
"responses": {
"204": {
2018-10-21 09:10:42 +05:30
"description": "team deleted"
2017-11-13 12:32:25 +05:30
}
}
},
"patch": {
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"organization"
],
"summary": "Edit a team",
"operationId": "orgEditTeam",
"parameters": [
{
"type": "integer",
"description": "id of the team to edit",
"name": "id",
"in": "path",
"required": true
},
{
"name": "body",
"in": "body",
"schema": {
"$ref": "#/definitions/EditTeamOption"
}
}
],
"responses": {
"200": {
"$ref": "#/responses/Team"
}
}
}
},
"/teams/ { id}/members": {
"get": {
"produces": [
"application/json"
],
"tags": [
"organization"
],
"summary": "List a team's members",
"operationId": "orgListTeamMembers",
"parameters": [
{
"type": "integer",
2018-10-21 09:10:42 +05:30
"format": "int64",
2017-11-13 12:32:25 +05:30
"description": "id of the team",
"name": "id",
"in": "path",
"required": true
2020-01-25 00:30:29 +05:30
},
{
"type": "integer",
"description": "page number of results to return (1-based)",
"name": "page",
"in": "query"
},
{
"type": "integer",
2020-06-09 10:27:38 +05:30
"description": "page size of results",
2020-01-25 00:30:29 +05:30
"name": "limit",
"in": "query"
2017-11-13 12:32:25 +05:30
}
],
"responses": {
"200": {
"$ref": "#/responses/UserList"
}
}
}
},
"/teams/ { id}/members/ { username}": {
2019-01-17 06:09:50 +05:30
"get": {
"produces": [
"application/json"
],
"tags": [
"organization"
],
"summary": "List a particular member of team",
"operationId": "orgListTeamMember",
"parameters": [
{
"type": "integer",
"format": "int64",
"description": "id of the team",
"name": "id",
"in": "path",
"required": true
},
{
"type": "string",
"description": "username of the member to list",
"name": "username",
"in": "path",
"required": true
}
],
"responses": {
"200": {
"$ref": "#/responses/User"
2019-12-20 22:37:12 +05:30
},
"404": {
"$ref": "#/responses/notFound"
2019-01-17 06:09:50 +05:30
}
}
},
2017-11-13 12:32:25 +05:30
"put": {
"produces": [
"application/json"
],
"tags": [
"organization"
],
"summary": "Add a team member",
"operationId": "orgAddTeamMember",
"parameters": [
{
"type": "integer",
2018-10-21 09:10:42 +05:30
"format": "int64",
2017-11-13 12:32:25 +05:30
"description": "id of the team",
"name": "id",
"in": "path",
"required": true
},
{
"type": "string",
"description": "username of the user to add",
"name": "username",
"in": "path",
"required": true
}
],
"responses": {
"204": {
"$ref": "#/responses/empty"
2019-12-20 22:37:12 +05:30
},
"404": {
"$ref": "#/responses/notFound"
2017-11-13 12:32:25 +05:30
}
}
},
"delete": {
"produces": [
"application/json"
],
"tags": [
"organization"
],
"summary": "Remove a team member",
2018-06-12 20:29:22 +05:30
"operationId": "orgRemoveTeamMember",
2017-11-13 12:32:25 +05:30
"parameters": [
{
"type": "integer",
2018-10-21 09:10:42 +05:30
"format": "int64",
2017-11-13 12:32:25 +05:30
"description": "id of the team",
"name": "id",
"in": "path",
"required": true
},
{
"type": "string",
"description": "username of the user to remove",
"name": "username",
"in": "path",
"required": true
}
],
"responses": {
"204": {
"$ref": "#/responses/empty"
2019-12-20 22:37:12 +05:30
},
"404": {
"$ref": "#/responses/notFound"
2017-11-13 12:32:25 +05:30
}
}
}
},
"/teams/ { id}/repos": {
"get": {
"produces": [
"application/json"
],
"tags": [
"organization"
],
"summary": "List a team's repos",
"operationId": "orgListTeamRepos",
"parameters": [
{
"type": "integer",
2018-10-21 09:10:42 +05:30
"format": "int64",
2017-11-13 12:32:25 +05:30
"description": "id of the team",
"name": "id",
"in": "path",
"required": true
2020-01-25 00:30:29 +05:30
},
{
"type": "integer",
"description": "page number of results to return (1-based)",
"name": "page",
"in": "query"
},
{
"type": "integer",
2020-06-09 10:27:38 +05:30
"description": "page size of results",
2020-01-25 00:30:29 +05:30
"name": "limit",
"in": "query"
2017-11-13 12:32:25 +05:30
}
],
"responses": {
"200": {
"$ref": "#/responses/RepositoryList"
}
}
}
},
"/teams/ { id}/repos/ { org}/ { repo}": {
2022-05-01 21:09:04 +05:30
"get": {
"produces": [
"application/json"
],
"tags": [
"organization"
],
"summary": "List a particular repo of team",
"operationId": "orgListTeamRepo",
"parameters": [
{
"type": "integer",
"format": "int64",
"description": "id of the team",
"name": "id",
"in": "path",
"required": true
},
{
"type": "string",
"description": "organization that owns the repo to list",
"name": "org",
"in": "path",
"required": true
},
{
"type": "string",
"description": "name of the repo to list",
"name": "repo",
"in": "path",
"required": true
}
],
"responses": {
"200": {
"$ref": "#/responses/Repository"
},
"404": {
"$ref": "#/responses/notFound"
}
}
},
2017-11-13 12:32:25 +05:30
"put": {
"produces": [
"application/json"
],
"tags": [
"organization"
],
"summary": "Add a repository to a team",
2018-06-12 20:29:22 +05:30
"operationId": "orgAddTeamRepository",
2017-11-13 12:32:25 +05:30
"parameters": [
{
"type": "integer",
2018-10-21 09:10:42 +05:30
"format": "int64",
2017-11-13 12:32:25 +05:30
"description": "id of the team",
"name": "id",
"in": "path",
"required": true
},
{
"type": "string",
"description": "organization that owns the repo to add",
"name": "org",
"in": "path",
"required": true
},
{
"type": "string",
"description": "name of the repo to add",
"name": "repo",
"in": "path",
"required": true
}
],
"responses": {
"204": {
"$ref": "#/responses/empty"
2019-12-20 22:37:12 +05:30
},
"403": {
"$ref": "#/responses/forbidden"
2017-11-13 12:32:25 +05:30
}
}
},
"delete": {
"description": "This does not delete the repository, it only removes the repository from the team.",
"produces": [
"application/json"
],
"tags": [
"organization"
],
"summary": "Remove a repository from a team",
2018-06-12 20:29:22 +05:30
"operationId": "orgRemoveTeamRepository",
2017-11-13 12:32:25 +05:30
"parameters": [
{
"type": "integer",
2018-10-21 09:10:42 +05:30
"format": "int64",
2017-11-13 12:32:25 +05:30
"description": "id of the team",
"name": "id",
"in": "path",
"required": true
},
{
"type": "string",
"description": "organization that owns the repo to remove",
"name": "org",
"in": "path",
"required": true
},
{
"type": "string",
"description": "name of the repo to remove",
"name": "repo",
"in": "path",
"required": true
}
],
"responses": {
"204": {
"$ref": "#/responses/empty"
2019-12-20 22:37:12 +05:30
},
"403": {
"$ref": "#/responses/forbidden"
2017-11-13 12:32:25 +05:30
}
}
}
},
2018-04-20 14:43:50 +05:30
"/topics/search": {
"get": {
"produces": [
"application/json"
],
"tags": [
"repository"
],
"summary": "search topics via keyword",
"operationId": "topicSearch",
"parameters": [
{
2018-06-12 20:29:22 +05:30
"type": "string",
"description": "keywords to search",
"name": "q",
"in": "query",
2018-04-20 14:43:50 +05:30
"required": true
2020-01-25 00:30:29 +05:30
},
{
"type": "integer",
"description": "page number of results to return (1-based)",
"name": "page",
"in": "query"
},
{
"type": "integer",
2020-06-09 10:27:38 +05:30
"description": "page size of results",
2020-01-25 00:30:29 +05:30
"name": "limit",
"in": "query"
2018-04-20 14:43:50 +05:30
}
],
"responses": {
"200": {
2019-09-03 21:16:24 +05:30
"$ref": "#/responses/TopicListResponse"
2019-12-20 22:37:12 +05:30
},
"403": {
"$ref": "#/responses/forbidden"
2018-04-20 14:43:50 +05:30
}
}
}
},
2017-11-13 12:32:25 +05:30
"/user": {
"get": {
"produces": [
"application/json"
],
"tags": [
"user"
],
"summary": "Get the authenticated user",
"operationId": "userGetCurrent",
"responses": {
"200": {
"$ref": "#/responses/User"
}
}
}
},
2020-02-29 11:49:32 +05:30
"/user/applications/oauth2": {
"get": {
"produces": [
"application/json"
],
"tags": [
"user"
],
"summary": "List the authenticated user's oauth2 applications",
"operationId": "userGetOauth2Application",
"parameters": [
{
"type": "integer",
"description": "page number of results to return (1-based)",
"name": "page",
"in": "query"
},
{
"type": "integer",
2020-06-09 10:27:38 +05:30
"description": "page size of results",
2020-02-29 11:49:32 +05:30
"name": "limit",
"in": "query"
}
],
"responses": {
"200": {
"$ref": "#/responses/OAuth2ApplicationList"
}
}
},
"post": {
"produces": [
"application/json"
],
"tags": [
"user"
],
"summary": "creates a new OAuth2 application",
"operationId": "userCreateOAuth2Application",
"parameters": [
{
"name": "body",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/CreateOAuth2ApplicationOptions"
}
}
],
"responses": {
"201": {
"$ref": "#/responses/OAuth2Application"
2021-04-11 14:23:23 +05:30
},
"400": {
"$ref": "#/responses/error"
2020-02-29 11:49:32 +05:30
}
}
}
},
"/user/applications/oauth2/ { id}": {
2020-04-10 06:07:31 +05:30
"get": {
"produces": [
"application/json"
],
"tags": [
"user"
],
"summary": "get an OAuth2 Application",
"operationId": "userGetOAuth2Application",
"parameters": [
{
"type": "integer",
"format": "int64",
"description": "Application ID to be found",
"name": "id",
"in": "path",
"required": true
}
],
"responses": {
"200": {
"$ref": "#/responses/OAuth2Application"
2021-04-11 14:23:23 +05:30
},
"404": {
"$ref": "#/responses/notFound"
2020-04-10 06:07:31 +05:30
}
}
},
2020-02-29 11:49:32 +05:30
"delete": {
"produces": [
"application/json"
],
"tags": [
"user"
],
"summary": "delete an OAuth2 Application",
"operationId": "userDeleteOAuth2Application",
"parameters": [
{
"type": "integer",
"format": "int64",
"description": "token to be deleted",
"name": "id",
"in": "path",
"required": true
}
],
"responses": {
"204": {
"$ref": "#/responses/empty"
2021-04-11 14:23:23 +05:30
},
"404": {
"$ref": "#/responses/notFound"
2020-02-29 11:49:32 +05:30
}
}
2020-04-10 06:07:31 +05:30
},
"patch": {
"produces": [
"application/json"
],
"tags": [
"user"
],
"summary": "update an OAuth2 Application, this includes regenerating the client secret",
"operationId": "userUpdateOAuth2Application",
"parameters": [
{
"type": "integer",
"format": "int64",
"description": "application to be updated",
"name": "id",
"in": "path",
"required": true
},
{
"name": "body",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/CreateOAuth2ApplicationOptions"
}
}
],
"responses": {
"200": {
"$ref": "#/responses/OAuth2Application"
2021-04-11 14:23:23 +05:30
},
"404": {
"$ref": "#/responses/notFound"
2020-04-10 06:07:31 +05:30
}
}
2020-02-29 11:49:32 +05:30
}
},
2017-11-13 12:32:25 +05:30
"/user/emails": {
"get": {
"produces": [
"application/json"
],
"tags": [
"user"
],
"summary": "List the authenticated user's email addresses",
"operationId": "userListEmails",
"responses": {
"200": {
"$ref": "#/responses/EmailList"
}
}
},
"post": {
"produces": [
"application/json"
],
"tags": [
"user"
],
"summary": "Add email addresses",
"operationId": "userAddEmail",
"parameters": [
{
"name": "body",
"in": "body",
"schema": {
"$ref": "#/definitions/CreateEmailOption"
}
}
],
"responses": {
"201": {
"$ref": "#/responses/EmailList"
2019-12-20 22:37:12 +05:30
},
"422": {
"$ref": "#/responses/validationError"
2017-11-13 12:32:25 +05:30
}
}
},
"delete": {
"produces": [
"application/json"
],
"tags": [
"user"
],
"summary": "Delete email addresses",
"operationId": "userDeleteEmail",
"parameters": [
{
"name": "body",
"in": "body",
"schema": {
"$ref": "#/definitions/DeleteEmailOption"
}
}
],
"responses": {
"204": {
"$ref": "#/responses/empty"
2021-04-10 11:42:38 +05:30
},
"404": {
"$ref": "#/responses/notFound"
2017-11-13 12:32:25 +05:30
}
}
}
},
"/user/followers": {
"get": {
"produces": [
"application/json"
],
"tags": [
"user"
],
"summary": "List the authenticated user's followers",
"operationId": "userCurrentListFollowers",
2020-01-25 00:30:29 +05:30
"parameters": [
{
"type": "integer",
"description": "page number of results to return (1-based)",
"name": "page",
"in": "query"
},
{
"type": "integer",
2020-06-09 10:27:38 +05:30
"description": "page size of results",
2020-01-25 00:30:29 +05:30
"name": "limit",
"in": "query"
}
],
2017-11-13 12:32:25 +05:30
"responses": {
"200": {
"$ref": "#/responses/UserList"
}
}
}
},
"/user/following": {
"get": {
"produces": [
"application/json"
],
"tags": [
"user"
],
"summary": "List the users that the authenticated user is following",
"operationId": "userCurrentListFollowing",
2020-01-25 00:30:29 +05:30
"parameters": [
{
"type": "integer",
"description": "page number of results to return (1-based)",
"name": "page",
"in": "query"
},
{
"type": "integer",
2020-06-09 10:27:38 +05:30
"description": "page size of results",
2020-01-25 00:30:29 +05:30
"name": "limit",
"in": "query"
}
],
2017-11-13 12:32:25 +05:30
"responses": {
"200": {
"$ref": "#/responses/UserList"
}
}
}
},
2018-06-12 20:29:22 +05:30
"/user/following/ { username}": {
2017-11-13 12:32:25 +05:30
"get": {
"tags": [
"user"
],
"summary": "Check whether a user is followed by the authenticated user",
"operationId": "userCurrentCheckFollowing",
"parameters": [
{
"type": "string",
"description": "username of followed user",
2018-06-12 20:29:22 +05:30
"name": "username",
2017-11-13 12:32:25 +05:30
"in": "path",
"required": true
}
],
"responses": {
"204": {
"$ref": "#/responses/empty"
},
"404": {
"$ref": "#/responses/notFound"
}
}
2018-06-12 20:29:22 +05:30
},
2017-11-13 12:32:25 +05:30
"put": {
"tags": [
"user"
],
"summary": "Follow a user",
"operationId": "userCurrentPutFollow",
"parameters": [
{
"type": "string",
"description": "username of user to follow",
"name": "username",
"in": "path",
"required": true
}
],
"responses": {
"204": {
"$ref": "#/responses/empty"
}
}
},
"delete": {
"tags": [
"user"
],
"summary": "Unfollow a user",
"operationId": "userCurrentDeleteFollow",
"parameters": [
{
"type": "string",
"description": "username of user to unfollow",
"name": "username",
"in": "path",
"required": true
}
],
"responses": {
"204": {
"$ref": "#/responses/empty"
}
}
}
},
2021-07-13 18:58:07 +05:30
"/user/gpg_key_token": {
"get": {
"produces": [
"text/plain"
],
"tags": [
"user"
],
"summary": "Get a Token to verify",
"operationId": "getVerificationToken",
"responses": {
"200": {
"$ref": "#/responses/string"
},
"404": {
"$ref": "#/responses/notFound"
}
}
}
},
"/user/gpg_key_verify": {
"post": {
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"user"
],
"summary": "Verify a GPG key",
"operationId": "userVerifyGPGKey",
"responses": {
"201": {
"$ref": "#/responses/GPGKey"
},
"404": {
"$ref": "#/responses/notFound"
},
"422": {
"$ref": "#/responses/validationError"
}
}
}
},
2017-11-13 12:32:25 +05:30
"/user/gpg_keys": {
"get": {
"produces": [
"application/json"
],
"tags": [
"user"
],
"summary": "List the authenticated user's GPG keys",
"operationId": "userCurrentListGPGKeys",
2020-01-25 00:30:29 +05:30
"parameters": [
{
"type": "integer",
"description": "page number of results to return (1-based)",
"name": "page",
"in": "query"
},
{
"type": "integer",
2020-06-09 10:27:38 +05:30
"description": "page size of results",
2020-01-25 00:30:29 +05:30
"name": "limit",
"in": "query"
}
],
2017-11-13 12:32:25 +05:30
"responses": {
"200": {
"$ref": "#/responses/GPGKeyList"
}
}
},
"post": {
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"user"
],
"summary": "Create a GPG key",
"operationId": "userCurrentPostGPGKey",
"parameters": [
{
"name": "Form",
"in": "body",
"schema": {
"$ref": "#/definitions/CreateGPGKeyOption"
}
}
],
"responses": {
"201": {
"$ref": "#/responses/GPGKey"
},
2020-05-29 02:55:54 +05:30
"404": {
"$ref": "#/responses/notFound"
},
2017-11-13 12:32:25 +05:30
"422": {
"$ref": "#/responses/validationError"
}
}
}
},
"/user/gpg_keys/ { id}": {
"get": {
"produces": [
"application/json"
],
"tags": [
"user"
],
"summary": "Get a GPG key",
"operationId": "userCurrentGetGPGKey",
"parameters": [
{
"type": "integer",
2018-10-21 09:10:42 +05:30
"format": "int64",
2017-11-13 12:32:25 +05:30
"description": "id of key to get",
"name": "id",
"in": "path",
"required": true
}
],
"responses": {
"200": {
"$ref": "#/responses/GPGKey"
},
"404": {
"$ref": "#/responses/notFound"
}
}
},
"delete": {
"produces": [
"application/json"
],
"tags": [
"user"
],
"summary": "Remove a GPG key",
"operationId": "userCurrentDeleteGPGKey",
"parameters": [
{
"type": "integer",
2018-10-21 09:10:42 +05:30
"format": "int64",
2017-11-13 12:32:25 +05:30
"description": "id of key to delete",
"name": "id",
"in": "path",
"required": true
}
],
"responses": {
"204": {
"$ref": "#/responses/empty"
},
"403": {
"$ref": "#/responses/forbidden"
2020-05-29 02:55:54 +05:30
},
"404": {
"$ref": "#/responses/notFound"
2017-11-13 12:32:25 +05:30
}
}
}
},
"/user/keys": {
"get": {
"produces": [
"application/json"
],
"tags": [
"user"
],
"summary": "List the authenticated user's public keys",
"operationId": "userCurrentListKeys",
2018-11-01 09:10:49 +05:30
"parameters": [
{
"type": "string",
"description": "fingerprint of the key",
"name": "fingerprint",
"in": "query"
2020-01-25 00:30:29 +05:30
},
{
"type": "integer",
"description": "page number of results to return (1-based)",
"name": "page",
"in": "query"
},
{
"type": "integer",
2020-06-09 10:27:38 +05:30
"description": "page size of results",
2020-01-25 00:30:29 +05:30
"name": "limit",
"in": "query"
2018-11-01 09:10:49 +05:30
}
],
2017-11-13 12:32:25 +05:30
"responses": {
"200": {
"$ref": "#/responses/PublicKeyList"
}
}
},
"post": {
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"user"
],
"summary": "Create a public key",
"operationId": "userCurrentPostKey",
"parameters": [
{
"name": "body",
"in": "body",
"schema": {
"$ref": "#/definitions/CreateKeyOption"
}
}
],
"responses": {
"201": {
"$ref": "#/responses/PublicKey"
},
"422": {
"$ref": "#/responses/validationError"
}
}
}
},
"/user/keys/ { id}": {
"get": {
"produces": [
"application/json"
],
"tags": [
"user"
],
"summary": "Get a public key",
"operationId": "userCurrentGetKey",
"parameters": [
{
"type": "integer",
2018-10-21 09:10:42 +05:30
"format": "int64",
2017-11-13 12:32:25 +05:30
"description": "id of key to get",
"name": "id",
"in": "path",
"required": true
}
],
"responses": {
"200": {
"$ref": "#/responses/PublicKey"
},
"404": {
"$ref": "#/responses/notFound"
}
}
},
"delete": {
"produces": [
"application/json"
],
"tags": [
"user"
],
"summary": "Delete a public key",
"operationId": "userCurrentDeleteKey",
"parameters": [
{
"type": "integer",
2018-10-21 09:10:42 +05:30
"format": "int64",
2017-11-13 12:32:25 +05:30
"description": "id of key to delete",
"name": "id",
"in": "path",
"required": true
}
],
"responses": {
"204": {
"$ref": "#/responses/empty"
},
"403": {
"$ref": "#/responses/forbidden"
2017-12-06 15:57:10 +05:30
},
"404": {
"$ref": "#/responses/notFound"
2017-11-13 12:32:25 +05:30
}
}
}
},
"/user/orgs": {
"get": {
"produces": [
"application/json"
],
"tags": [
"organization"
],
"summary": "List the current user's organizations",
"operationId": "orgListCurrentUserOrgs",
2020-01-25 00:30:29 +05:30
"parameters": [
{
"type": "integer",
"description": "page number of results to return (1-based)",
"name": "page",
"in": "query"
},
{
"type": "integer",
2020-06-09 10:27:38 +05:30
"description": "page size of results",
2020-01-25 00:30:29 +05:30
"name": "limit",
"in": "query"
}
],
2017-11-13 12:32:25 +05:30
"responses": {
"200": {
"$ref": "#/responses/OrganizationList"
}
}
}
},
"/user/repos": {
"get": {
"produces": [
"application/json"
],
"tags": [
"user"
],
2021-07-21 22:19:10 +05:30
"summary": "List the repos that the authenticated user owns",
2017-11-13 12:32:25 +05:30
"operationId": "userCurrentListRepos",
2020-01-25 00:30:29 +05:30
"parameters": [
{
"type": "integer",
"description": "page number of results to return (1-based)",
"name": "page",
"in": "query"
},
{
"type": "integer",
2020-06-09 10:27:38 +05:30
"description": "page size of results",
2020-01-25 00:30:29 +05:30
"name": "limit",
"in": "query"
}
],
2017-11-13 12:32:25 +05:30
"responses": {
"200": {
"$ref": "#/responses/RepositoryList"
}
}
},
"post": {
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"repository",
"user"
],
"summary": "Create a repository",
"operationId": "createCurrentUserRepo",
"parameters": [
{
"name": "body",
"in": "body",
"schema": {
"$ref": "#/definitions/CreateRepoOption"
}
}
],
"responses": {
"201": {
"$ref": "#/responses/Repository"
2019-05-30 20:39:05 +05:30
},
"409": {
"description": "The repository with the same name already exists."
},
"422": {
"$ref": "#/responses/validationError"
2017-11-13 12:32:25 +05:30
}
}
}
},
2021-06-24 01:28:44 +05:30
"/user/settings": {
"get": {
"produces": [
"application/json"
],
"tags": [
"user"
],
"summary": "Get user settings",
"operationId": "getUserSettings",
"responses": {
"200": {
"$ref": "#/responses/UserSettings"
}
}
},
"patch": {
"produces": [
"application/json"
],
"tags": [
"user"
],
"summary": "Update user settings",
"operationId": "updateUserSettings",
"parameters": [
{
"name": "body",
"in": "body",
"schema": {
"$ref": "#/definitions/UserSettingsOptions"
}
}
],
"responses": {
"200": {
"$ref": "#/responses/UserSettings"
}
}
}
},
2017-11-13 12:32:25 +05:30
"/user/starred": {
"get": {
"produces": [
"application/json"
],
"tags": [
"user"
],
"summary": "The repos that the authenticated user has starred",
"operationId": "userCurrentListStarred",
2020-01-25 00:30:29 +05:30
"parameters": [
{
"type": "integer",
"description": "page number of results to return (1-based)",
"name": "page",
"in": "query"
},
{
"type": "integer",
2020-06-09 10:27:38 +05:30
"description": "page size of results",
2020-01-25 00:30:29 +05:30
"name": "limit",
"in": "query"
}
],
2017-11-13 12:32:25 +05:30
"responses": {
"200": {
"$ref": "#/responses/RepositoryList"
}
}
}
},
"/user/starred/ { owner}/ { repo}": {
"get": {
"tags": [
"user"
],
"summary": "Whether the authenticated is starring the repo",
"operationId": "userCurrentCheckStarring",
"parameters": [
{
"type": "string",
"description": "owner of the repo",
"name": "owner",
"in": "path",
"required": true
},
{
"type": "string",
"description": "name of the repo",
"name": "repo",
"in": "path",
"required": true
}
],
"responses": {
"204": {
"$ref": "#/responses/empty"
},
"404": {
"$ref": "#/responses/notFound"
}
}
},
"put": {
"tags": [
"user"
],
"summary": "Star the given repo",
"operationId": "userCurrentPutStar",
"parameters": [
{
"type": "string",
"description": "owner of the repo to star",
"name": "owner",
"in": "path",
"required": true
},
{
"type": "string",
"description": "name of the repo to star",
"name": "repo",
"in": "path",
"required": true
}
],
"responses": {
"204": {
"$ref": "#/responses/empty"
}
}
},
"delete": {
"tags": [
"user"
],
"summary": "Unstar the given repo",
"operationId": "userCurrentDeleteStar",
"parameters": [
{
"type": "string",
"description": "owner of the repo to unstar",
"name": "owner",
"in": "path",
"required": true
},
{
"type": "string",
"description": "name of the repo to unstar",
"name": "repo",
"in": "path",
"required": true
}
],
"responses": {
"204": {
"$ref": "#/responses/empty"
}
}
}
},
2019-12-12 09:53:05 +05:30
"/user/stopwatches": {
"get": {
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"user"
],
"summary": "Get list of all existing stopwatches",
"operationId": "userGetStopWatches",
2020-01-25 00:30:29 +05:30
"parameters": [
{
"type": "integer",
"description": "page number of results to return (1-based)",
"name": "page",
"in": "query"
},
{
"type": "integer",
2020-06-09 10:27:38 +05:30
"description": "page size of results",
2020-01-25 00:30:29 +05:30
"name": "limit",
"in": "query"
}
],
2019-12-12 09:53:05 +05:30
"responses": {
"200": {
"$ref": "#/responses/StopWatchList"
}
}
}
},
2017-11-13 12:32:25 +05:30
"/user/subscriptions": {
"get": {
"produces": [
"application/json"
],
"tags": [
"user"
],
"summary": "List repositories watched by the authenticated user",
"operationId": "userCurrentListSubscriptions",
2020-01-25 00:30:29 +05:30
"parameters": [
{
"type": "integer",
"description": "page number of results to return (1-based)",
"name": "page",
"in": "query"
},
{
"type": "integer",
2020-06-09 10:27:38 +05:30
"description": "page size of results",
2020-01-25 00:30:29 +05:30
"name": "limit",
"in": "query"
}
],
2017-11-13 12:32:25 +05:30
"responses": {
"200": {
"$ref": "#/responses/RepositoryList"
}
}
}
},
2019-01-17 06:09:50 +05:30
"/user/teams": {
"get": {
"produces": [
"application/json"
],
"tags": [
"user"
],
"summary": "List all the teams a user belongs to",
"operationId": "userListTeams",
2020-01-25 00:30:29 +05:30
"parameters": [
{
"type": "integer",
"description": "page number of results to return (1-based)",
"name": "page",
"in": "query"
},
{
"type": "integer",
2020-06-09 10:27:38 +05:30
"description": "page size of results",
2020-01-25 00:30:29 +05:30
"name": "limit",
"in": "query"
}
],
2019-01-17 06:09:50 +05:30
"responses": {
"200": {
"$ref": "#/responses/TeamList"
}
}
}
},
2017-11-13 12:32:25 +05:30
"/user/times": {
"get": {
"produces": [
"application/json"
],
"tags": [
"user"
],
"summary": "List the current user's tracked times",
"operationId": "userCurrentTrackedTimes",
2020-01-09 02:44:00 +05:30
"parameters": [
2022-08-31 07:45:45 +05:30
{
"type": "integer",
"description": "page number of results to return (1-based)",
"name": "page",
"in": "query"
},
{
"type": "integer",
"description": "page size of results",
"name": "limit",
"in": "query"
},
2020-01-09 02:44:00 +05:30
{
"type": "string",
"format": "date-time",
"description": "Only show times updated after the given time. This is a timestamp in RFC 3339 format",
"name": "since",
"in": "query"
},
{
"type": "string",
"format": "date-time",
"description": "Only show times updated before the given time. This is a timestamp in RFC 3339 format",
"name": "before",
"in": "query"
}
],
2017-11-13 12:32:25 +05:30
"responses": {
"200": {
"$ref": "#/responses/TrackedTimeList"
}
}
}
},
"/users/search": {
"get": {
"produces": [
"application/json"
],
"tags": [
"user"
],
"summary": "Search for users",
"operationId": "userSearch",
"parameters": [
{
"type": "string",
"description": "keyword",
"name": "q",
"in": "query"
},
2018-10-18 14:14:51 +05:30
{
"type": "integer",
2018-10-21 09:10:42 +05:30
"format": "int64",
2018-10-18 14:14:51 +05:30
"description": "ID of the user to search for",
"name": "uid",
"in": "query"
},
2017-11-13 12:32:25 +05:30
{
"type": "integer",
2020-01-25 00:30:29 +05:30
"description": "page number of results to return (1-based)",
"name": "page",
"in": "query"
},
{
"type": "integer",
2020-06-09 10:27:38 +05:30
"description": "page size of results",
2017-11-13 12:32:25 +05:30
"name": "limit",
"in": "query"
}
],
"responses": {
"200": {
2018-09-21 14:26:26 +05:30
"description": "SearchResults of a successful search",
"schema": {
"type": "object",
"properties": {
"data": {
"type": "array",
"items": {
"$ref": "#/definitions/User"
}
},
"ok": {
"type": "boolean"
}
}
}
2017-11-13 12:32:25 +05:30
}
}
}
},
"/users/ { username}": {
"get": {
"produces": [
"application/json"
],
"tags": [
"user"
],
"summary": "Get a user",
"operationId": "userGet",
"parameters": [
{
"type": "string",
"description": "username of user to get",
"name": "username",
"in": "path",
"required": true
}
],
"responses": {
"200": {
"$ref": "#/responses/User"
},
"404": {
"$ref": "#/responses/notFound"
}
}
}
},
"/users/ { username}/followers": {
"get": {
"produces": [
"application/json"
],
"tags": [
"user"
],
"summary": "List the given user's followers",
"operationId": "userListFollowers",
"parameters": [
{
"type": "string",
"description": "username of user",
"name": "username",
"in": "path",
"required": true
2020-01-25 00:30:29 +05:30
},
{
"type": "integer",
"description": "page number of results to return (1-based)",
"name": "page",
"in": "query"
},
{
"type": "integer",
2020-06-09 10:27:38 +05:30
"description": "page size of results",
2020-01-25 00:30:29 +05:30
"name": "limit",
"in": "query"
2017-11-13 12:32:25 +05:30
}
],
"responses": {
"200": {
"$ref": "#/responses/UserList"
}
}
}
},
"/users/ { username}/following": {
"get": {
"produces": [
"application/json"
],
"tags": [
"user"
],
"summary": "List the users that the given user is following",
"operationId": "userListFollowing",
"parameters": [
{
"type": "string",
"description": "username of user",
"name": "username",
"in": "path",
"required": true
2020-01-25 00:30:29 +05:30
},
{
"type": "integer",
"description": "page number of results to return (1-based)",
"name": "page",
"in": "query"
},
{
"type": "integer",
2020-06-09 10:27:38 +05:30
"description": "page size of results",
2020-01-25 00:30:29 +05:30
"name": "limit",
"in": "query"
2017-11-13 12:32:25 +05:30
}
],
"responses": {
"200": {
"$ref": "#/responses/UserList"
}
}
}
},
2022-03-26 14:34:22 +05:30
"/users/ { username}/following/ { target}": {
"get": {
"tags": [
"user"
],
"summary": "Check if one user is following another user",
"operationId": "userCheckFollowing",
"parameters": [
{
"type": "string",
"description": "username of following user",
"name": "username",
"in": "path",
"required": true
},
{
"type": "string",
"description": "username of followed user",
"name": "target",
"in": "path",
"required": true
}
],
"responses": {
"204": {
"$ref": "#/responses/empty"
},
"404": {
"$ref": "#/responses/notFound"
}
}
}
},
2017-11-13 12:32:25 +05:30
"/users/ { username}/gpg_keys": {
"get": {
"produces": [
"application/json"
],
"tags": [
"user"
],
"summary": "List the given user's GPG keys",
"operationId": "userListGPGKeys",
"parameters": [
{
"type": "string",
"description": "username of user",
"name": "username",
"in": "path",
"required": true
2020-01-25 00:30:29 +05:30
},
{
"type": "integer",
"description": "page number of results to return (1-based)",
"name": "page",
"in": "query"
},
{
"type": "integer",
2020-06-09 10:27:38 +05:30
"description": "page size of results",
2020-01-25 00:30:29 +05:30
"name": "limit",
"in": "query"
2017-11-13 12:32:25 +05:30
}
],
"responses": {
"200": {
"$ref": "#/responses/GPGKeyList"
}
}
}
},
2018-10-23 08:27:42 +05:30
"/users/ { username}/heatmap": {
"get": {
"produces": [
"application/json"
],
"tags": [
"user"
],
"summary": "Get a user's heatmap",
"operationId": "userGetHeatmapData",
"parameters": [
{
"type": "string",
"description": "username of user to get",
"name": "username",
"in": "path",
"required": true
}
],
"responses": {
"200": {
"$ref": "#/responses/UserHeatmapData"
},
"404": {
"$ref": "#/responses/notFound"
}
}
}
},
2017-11-13 12:32:25 +05:30
"/users/ { username}/keys": {
"get": {
"produces": [
"application/json"
],
"tags": [
"user"
],
"summary": "List the given user's public keys",
"operationId": "userListKeys",
"parameters": [
{
"type": "string",
"description": "username of user",
"name": "username",
"in": "path",
"required": true
2018-11-01 09:10:49 +05:30
},
{
"type": "string",
"description": "fingerprint of the key",
"name": "fingerprint",
"in": "query"
2020-01-25 00:30:29 +05:30
},
{
"type": "integer",
"description": "page number of results to return (1-based)",
"name": "page",
"in": "query"
},
{
"type": "integer",
2020-06-09 10:27:38 +05:30
"description": "page size of results",
2020-01-25 00:30:29 +05:30
"name": "limit",
"in": "query"
2017-11-13 12:32:25 +05:30
}
],
"responses": {
"200": {
"$ref": "#/responses/PublicKeyList"
}
}
}
},
2018-12-27 00:43:49 +05:30
"/users/ { username}/orgs": {
"get": {
"produces": [
"application/json"
],
"tags": [
"organization"
],
"summary": "List a user's organizations",
"operationId": "orgListUserOrgs",
"parameters": [
{
"type": "string",
"description": "username of user",
"name": "username",
"in": "path",
"required": true
2020-01-25 00:30:29 +05:30
},
{
"type": "integer",
"description": "page number of results to return (1-based)",
"name": "page",
"in": "query"
},
{
"type": "integer",
2020-06-09 10:27:38 +05:30
"description": "page size of results",
2020-01-25 00:30:29 +05:30
"name": "limit",
"in": "query"
2018-12-27 00:43:49 +05:30
}
],
"responses": {
"200": {
"$ref": "#/responses/OrganizationList"
}
}
}
},
2021-10-12 16:17:19 +05:30
"/users/ { username}/orgs/ { org}/permissions": {
"get": {
"produces": [
"application/json"
],
"tags": [
"organization"
],
"summary": "Get user permissions in organization",
"operationId": "orgGetUserPermissions",
"parameters": [
{
"type": "string",
"description": "username of user",
"name": "username",
"in": "path",
"required": true
},
{
"type": "string",
"description": "name of the organization",
"name": "org",
"in": "path",
"required": true
}
],
"responses": {
"200": {
"$ref": "#/responses/OrganizationPermissions"
},
"403": {
"$ref": "#/responses/forbidden"
},
"404": {
"$ref": "#/responses/notFound"
}
}
}
},
2017-11-13 12:32:25 +05:30
"/users/ { username}/repos": {
"get": {
"produces": [
"application/json"
],
"tags": [
"user"
],
"summary": "List the repos owned by the given user",
"operationId": "userListRepos",
"parameters": [
{
"type": "string",
"description": "username of user",
"name": "username",
"in": "path",
"required": true
2020-01-25 00:30:29 +05:30
},
{
"type": "integer",
"description": "page number of results to return (1-based)",
"name": "page",
"in": "query"
},
{
"type": "integer",
2020-06-09 10:27:38 +05:30
"description": "page size of results",
2020-01-25 00:30:29 +05:30
"name": "limit",
"in": "query"
2017-11-13 12:32:25 +05:30
}
],
"responses": {
"200": {
"$ref": "#/responses/RepositoryList"
}
}
}
},
"/users/ { username}/starred": {
"get": {
"produces": [
"application/json"
],
"tags": [
"user"
],
"summary": "The repos that the given user has starred",
"operationId": "userListStarred",
"parameters": [
{
"type": "string",
"description": "username of user",
"name": "username",
"in": "path",
"required": true
2020-01-25 00:30:29 +05:30
},
{
"type": "integer",
"description": "page number of results to return (1-based)",
"name": "page",
"in": "query"
},
{
"type": "integer",
2020-06-09 10:27:38 +05:30
"description": "page size of results",
2020-01-25 00:30:29 +05:30
"name": "limit",
"in": "query"
2017-11-13 12:32:25 +05:30
}
],
"responses": {
"200": {
"$ref": "#/responses/RepositoryList"
}
}
}
},
"/users/ { username}/subscriptions": {
"get": {
"produces": [
"application/json"
],
"tags": [
"user"
],
"summary": "List the repositories watched by a user",
"operationId": "userListSubscriptions",
"parameters": [
{
"type": "string",
"description": "username of the user",
"name": "username",
2018-06-02 20:50:28 +05:30
"in": "path",
"required": true
2020-01-25 00:30:29 +05:30
},
{
"type": "integer",
"description": "page number of results to return (1-based)",
"name": "page",
"in": "query"
},
{
"type": "integer",
2020-06-09 10:27:38 +05:30
"description": "page size of results",
2020-01-25 00:30:29 +05:30
"name": "limit",
"in": "query"
2017-11-13 12:32:25 +05:30
}
],
"responses": {
"200": {
"$ref": "#/responses/RepositoryList"
}
}
}
},
"/users/ { username}/tokens": {
"get": {
"produces": [
"application/json"
],
"tags": [
"user"
],
"summary": "List the authenticated user's access tokens",
"operationId": "userGetTokens",
2018-06-12 20:29:22 +05:30
"parameters": [
{
"type": "string",
"description": "username of user",
"name": "username",
"in": "path",
"required": true
2020-01-25 00:30:29 +05:30
},
{
"type": "integer",
"description": "page number of results to return (1-based)",
"name": "page",
"in": "query"
},
{
"type": "integer",
2020-06-09 10:27:38 +05:30
"description": "page size of results",
2020-01-25 00:30:29 +05:30
"name": "limit",
"in": "query"
2018-06-12 20:29:22 +05:30
}
],
2017-11-13 12:32:25 +05:30
"responses": {
"200": {
"$ref": "#/responses/AccessTokenList"
}
}
},
"post": {
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"user"
],
"summary": "Create an access token",
"operationId": "userCreateToken",
"parameters": [
{
"type": "string",
"x-go-name": "Name",
2018-06-12 20:29:22 +05:30
"description": "username of user",
"name": "username",
"in": "path",
"required": true
2018-10-21 09:10:42 +05:30
},
{
2021-08-02 02:14:15 +05:30
"name": "userCreateToken",
2018-10-21 09:10:42 +05:30
"in": "body",
"schema": {
2021-08-02 02:14:15 +05:30
"$ref": "#/definitions/CreateAccessTokenOption"
2018-10-21 09:10:42 +05:30
}
2017-11-13 12:32:25 +05:30
}
],
"responses": {
2020-12-24 23:44:01 +05:30
"201": {
2017-11-13 12:32:25 +05:30
"$ref": "#/responses/AccessToken"
2021-04-11 14:23:23 +05:30
},
"400": {
"$ref": "#/responses/error"
2017-11-13 12:32:25 +05:30
}
}
}
},
2018-07-07 07:24:30 +05:30
"/users/ { username}/tokens/ { token}": {
"delete": {
"produces": [
"application/json"
],
"tags": [
"user"
],
"summary": "delete an access token",
"operationId": "userDeleteAccessToken",
"parameters": [
{
"type": "string",
"description": "username of user",
"name": "username",
"in": "path",
"required": true
},
{
2020-08-28 13:39:33 +05:30
"type": "string",
"description": "token to be deleted, identified by ID and if not available by name",
2018-07-07 07:24:30 +05:30
"name": "token",
"in": "path",
"required": true
}
],
"responses": {
"204": {
"$ref": "#/responses/empty"
2020-08-28 13:39:33 +05:30
},
2021-04-11 14:23:23 +05:30
"404": {
"$ref": "#/responses/notFound"
},
2020-08-28 13:39:33 +05:30
"422": {
"$ref": "#/responses/error"
2018-07-07 07:24:30 +05:30
}
}
}
},
2017-11-13 12:32:25 +05:30
"/version": {
"get": {
"produces": [
"application/json"
],
"tags": [
"miscellaneous"
],
"summary": "Returns the version of the Gitea application",
"operationId": "getVersion",
"responses": {
"200": {
"$ref": "#/responses/ServerVersion"
}
}
}
}
},
"definitions": {
2019-08-26 19:39:10 +05:30
"APIError": {
"description": "APIError is an api error with a message",
"type": "object",
"properties": {
"message": {
"type": "string",
"x-go-name": "Message"
},
"url": {
"type": "string",
"x-go-name": "URL"
}
},
"x-go-package": "code.gitea.io/gitea/modules/structs"
},
2019-08-28 12:25:22 +05:30
"AccessToken": {
"type": "object",
"title": "AccessToken represents an API access token.",
"properties": {
"id": {
"type": "integer",
"format": "int64",
"x-go-name": "ID"
},
"name": {
"type": "string",
"x-go-name": "Name"
},
"sha1": {
"type": "string",
"x-go-name": "Token"
},
"token_last_eight": {
"type": "string",
"x-go-name": "TokenLastEight"
}
},
"x-go-package": "code.gitea.io/gitea/modules/structs"
},
User keypairs and HTTP signatures for ActivityPub federation using go-ap (#19133)
* go.mod: add go-fed/{httpsig,activity/pub,activity/streams} dependency
go get github.com/go-fed/activity/streams@master
go get github.com/go-fed/activity/pub@master
go get github.com/go-fed/httpsig@master
* activitypub: implement /api/v1/activitypub/user/{username} (#14186)
Return informations regarding a Person (as defined in ActivityStreams
https://www.w3.org/TR/activitystreams-vocabulary/#dfn-person).
Refs: https://github.com/go-gitea/gitea/issues/14186
Signed-off-by: Loïc Dachary <loic@dachary.org>
* activitypub: add the public key to Person (#14186)
Refs: https://github.com/go-gitea/gitea/issues/14186
Signed-off-by: Loïc Dachary <loic@dachary.org>
* activitypub: go-fed conformant Clock instance
Signed-off-by: Loïc Dachary <loic@dachary.org>
* activitypub: signing http client
Signed-off-by: Loïc Dachary <loic@dachary.org>
* activitypub: implement the ReqSignature middleware
Signed-off-by: Loïc Dachary <loic@dachary.org>
* activitypub: hack_16834
Signed-off-by: Loïc Dachary <loic@dachary.org>
* Fix CI checks-backend errors with go mod tidy
Signed-off-by: Anthony Wang <ta180m@pm.me>
* Change 2021 to 2022, properly format package imports
Signed-off-by: Anthony Wang <ta180m@pm.me>
* Run make fmt and make generate-swagger
Signed-off-by: Anthony Wang <ta180m@pm.me>
* Use Gitea JSON library, add assert for pkp
Signed-off-by: Anthony Wang <ta180m@pm.me>
* Run make fmt again, fix err var redeclaration
Signed-off-by: Anthony Wang <ta180m@pm.me>
* Remove LogSQL from ActivityPub person test
Signed-off-by: Anthony Wang <ta180m@pm.me>
* Assert if json.Unmarshal succeeds
Signed-off-by: Anthony Wang <ta180m@pm.me>
* Cleanup, handle invalid usernames for ActivityPub person GET request
Signed-off-by: Anthony Wang <ta180m@pm.me>
* Rename hack_16834 to user_settings
Signed-off-by: Anthony Wang <ta180m@pm.me>
* Use the httplib module instead of http for GET requests
* Clean up whitespace with make fmt
* Use time.RFC1123 and make the http.Client proxy-aware
* Check if digest algo is supported in setting module
* Clean up some variable declarations
* Remove unneeded copy
* Use system timezone instead of setting.DefaultUILocation
* Use named constant for httpsigExpirationTime
* Make pubKey IRI #main-key instead of /#main-key
* Move /#main-key to #main-key in tests
* Implemented Webfinger endpoint.
* Add visible check.
* Add user profile as alias.
* Add actor IRI and remote interaction URL to WebFinger response
* fmt
* Fix lint errors
* Use go-ap instead of go-fed
* Run go mod tidy to fix missing modules in go.mod and go.sum
* make fmt
* Convert remaining code to go-ap
* Clean up go.sum
* Fix JSON unmarshall error
* Fix CI errors by adding @context to Person() and making sure types match
* Correctly decode JSON in api_activitypub_person_test.go
* Force CI rerun
* Fix TestActivityPubPersonInbox segfault
* Fix lint error
* Use @mariusor's suggestions for idiomatic go-ap usage
* Correctly add inbox/outbox IRIs to person
* Code cleanup
* Remove another LogSQL from ActivityPub person test
* Move httpsig algos slice to an init() function
* Add actor IRI and remote interaction URL to WebFinger response
* Update TestWebFinger to check for ActivityPub IRI in aliases
* make fmt
* Force CI rerun
* WebFinger: Add CORS header and fix Href -> Template for remote interactions
The CORS header is needed due to https://datatracker.ietf.org/doc/html/rfc7033#section-5 and fixes some Peertube <-> Gitea federation issues
* make lint-backend
* Make sure Person endpoint has Content-Type application/activity+json and includes PreferredUsername, URL, and Icon
Setting the correct Content-Type is essential for federating with Mastodon
* Use UTC instead of GMT
* Rename pkey to pubKey
* Make sure HTTP request Date in GMT
* make fmt
* dont drop err
* Make sure API responses always refer to username in original case
Copied from what I wrote on #19133 discussion: Handling username case is a very tricky issue and I've already encountered a Mastodon <-> Gitea federation bug due to Gitea considering Ta180m and ta180m to be the same user while Mastodon thinks they are two different users. I think the best way forward is for Gitea to only use the original case version of the username for federation so other AP software don't get confused.
* Move httpsig algs constant slice to modules/setting/federation.go
* Add new federation settings to app.example.ini and config-cheat-sheet
* Return if marshalling error
* Make sure Person IRIs are generated correctly
This commit ensures that if the setting.AppURL is something like "http://127.0.0.1:42567" (like in the integration tests), a trailing slash will be added after that URL.
* If httpsig verification fails, fix Host header and try again
This fixes a very rare bug when Gitea and another AP server (confirmed to happen with Mastodon) are running on the same machine, Gitea fails to verify incoming HTTP signatures. This is because the other AP server creates the sig with the public Gitea domain as the Host. However, when Gitea receives the request, the Host header is instead localhost, so the signature verification fails. Manually changing the host header to the correct value and trying the veification again fixes the bug.
* Revert "If httpsig verification fails, fix Host header and try again"
This reverts commit f53e46c721a037c55facb9200106a6b491bf834c.
The bug was actually caused by nginx messing up the Host header when reverse-proxying since I didn't have the line `proxy_set_header Host $host;` in my nginx config for Gitea.
* Go back to using ap.IRI to generate inbox and outbox IRIs
* use const for key values
* Update routers/web/webfinger.go
* Use ctx.JSON in Person response to make code cleaner
* Revert "Use ctx.JSON in Person response to make code cleaner"
This doesn't work because the ctx.JSON() function already sends the response out and it's too late to edit the headers.
This reverts commit 95aad988975be3393c76094864ed6ba962157e0c.
* Use activitypub.ActivityStreamsContentType for Person response Content Type
* Limit maximum ActivityPub request and response sizes to a configurable setting
* Move setting key constants to models/user/setting_keys.go
* Fix failing ActivityPubPerson integration test by checking the correct field for username
* Add a warning about changing settings that can break federation
* Add better comments
* Don't multiply Federation.MaxSize by 1<<20 twice
* Add more better comments
* Fix failing ActivityPubMissingPerson test
We now use ctx.ContextUser so the message printed out when a user does not exist is slightly different
* make generate-swagger
For some reason I didn't realize that /templates/swagger/v1_json.tmpl was machine-generated by make generate-swagger... I've been editing it by hand for three months! 🤦
* Move getting the RFC 2616 time to a separate function
* More code cleanup
* Update go-ap to fix empty liked collection and removed unneeded HTTP headers
* go mod tidy
* Add ed25519 to httpsig algorithms
* Use go-ap/jsonld to add @context and marshal JSON
* Change Gitea user agent from the default to Gitea/Version
* Use ctx.ServerError and remove all remote interaction code from webfinger.go
2022-06-19 10:55:12 +05:30
"ActivityPub": {
"description": "ActivityPub type",
"type": "object",
"properties": {
"@context": {
"type": "string",
"x-go-name": "Context"
}
},
"x-go-package": "code.gitea.io/gitea/modules/structs"
},
2017-11-13 12:32:25 +05:30
"AddCollaboratorOption": {
"description": "AddCollaboratorOption options when adding a user as a collaborator of a repository",
"type": "object",
"properties": {
"permission": {
"type": "string",
"x-go-name": "Permission"
}
},
2019-05-11 15:51:34 +05:30
"x-go-package": "code.gitea.io/gitea/modules/structs"
2017-11-13 12:32:25 +05:30
},
"AddTimeOption": {
"description": "AddTimeOption options for adding time to an issue",
"type": "object",
"required": [
"time"
],
"properties": {
2019-12-28 02:00:58 +05:30
"created": {
"type": "string",
"format": "date-time",
"x-go-name": "Created"
},
2017-11-13 12:32:25 +05:30
"time": {
"description": "time in seconds",
"type": "integer",
"format": "int64",
"x-go-name": "Time"
2019-12-28 02:00:58 +05:30
},
"user_name": {
"description": "User who spent the time (optional)",
"type": "string",
"x-go-name": "User"
2017-11-13 12:32:25 +05:30
}
},
2019-05-11 15:51:34 +05:30
"x-go-package": "code.gitea.io/gitea/modules/structs"
2017-11-13 12:32:25 +05:30
},
2019-06-08 20:01:11 +05:30
"AnnotatedTag": {
"description": "AnnotatedTag represents an annotated tag",
"type": "object",
"properties": {
"message": {
"type": "string",
"x-go-name": "Message"
},
"object": {
"$ref": "#/definitions/AnnotatedTagObject"
},
"sha": {
"type": "string",
"x-go-name": "SHA"
},
"tag": {
"type": "string",
"x-go-name": "Tag"
},
"tagger": {
"$ref": "#/definitions/CommitUser"
},
"url": {
"type": "string",
"x-go-name": "URL"
},
"verification": {
"$ref": "#/definitions/PayloadCommitVerification"
}
},
"x-go-package": "code.gitea.io/gitea/modules/structs"
},
"AnnotatedTagObject": {
"description": "AnnotatedTagObject contains meta information of the tag object",
"type": "object",
"properties": {
"sha": {
"type": "string",
"x-go-name": "SHA"
},
"type": {
"type": "string",
"x-go-name": "Type"
},
"url": {
"type": "string",
"x-go-name": "URL"
}
},
"x-go-package": "code.gitea.io/gitea/modules/structs"
},
2018-03-06 06:52:16 +05:30
"Attachment": {
"description": "Attachment a generic attachment",
"type": "object",
"properties": {
"browser_download_url": {
"type": "string",
"x-go-name": "DownloadURL"
},
"created_at": {
"type": "string",
"format": "date-time",
"x-go-name": "Created"
},
"download_count": {
"type": "integer",
"format": "int64",
"x-go-name": "DownloadCount"
},
"id": {
"type": "integer",
"format": "int64",
"x-go-name": "ID"
},
"name": {
"type": "string",
"x-go-name": "Name"
},
"size": {
"type": "integer",
"format": "int64",
"x-go-name": "Size"
},
"uuid": {
"type": "string",
"x-go-name": "UUID"
}
},
2019-05-11 15:51:34 +05:30
"x-go-package": "code.gitea.io/gitea/modules/structs"
2018-03-06 06:52:16 +05:30
},
2017-11-13 12:32:25 +05:30
"Branch": {
"description": "Branch represents a repository branch",
"type": "object",
"properties": {
"commit": {
"$ref": "#/definitions/PayloadCommit"
},
2020-02-13 04:49:35 +05:30
"effective_branch_protection_name": {
"type": "string",
"x-go-name": "EffectiveBranchProtectionName"
},
2019-11-17 01:09:18 +05:30
"enable_status_check": {
"type": "boolean",
"x-go-name": "EnableStatusCheck"
},
2017-11-13 12:32:25 +05:30
"name": {
"type": "string",
"x-go-name": "Name"
2019-11-17 01:09:18 +05:30
},
"protected": {
"type": "boolean",
"x-go-name": "Protected"
},
"required_approvals": {
"type": "integer",
"format": "int64",
"x-go-name": "RequiredApprovals"
},
"status_check_contexts": {
"type": "array",
"items": {
"type": "string"
},
"x-go-name": "StatusCheckContexts"
},
"user_can_merge": {
"type": "boolean",
"x-go-name": "UserCanMerge"
},
"user_can_push": {
"type": "boolean",
"x-go-name": "UserCanPush"
2017-11-13 12:32:25 +05:30
}
},
2019-05-11 15:51:34 +05:30
"x-go-package": "code.gitea.io/gitea/modules/structs"
2017-11-13 12:32:25 +05:30
},
2020-02-13 04:49:35 +05:30
"BranchProtection": {
"description": "BranchProtection represents a branch protection for a repository",
"type": "object",
"properties": {
"approvals_whitelist_teams": {
"type": "array",
"items": {
"type": "string"
},
"x-go-name": "ApprovalsWhitelistTeams"
},
"approvals_whitelist_username": {
"type": "array",
"items": {
"type": "string"
},
"x-go-name": "ApprovalsWhitelistUsernames"
},
2020-11-29 01:00:46 +05:30
"block_on_official_review_requests": {
"type": "boolean",
"x-go-name": "BlockOnOfficialReviewRequests"
},
2020-04-17 06:30:36 +05:30
"block_on_outdated_branch": {
"type": "boolean",
"x-go-name": "BlockOnOutdatedBranch"
},
2020-02-13 04:49:35 +05:30
"block_on_rejected_reviews": {
"type": "boolean",
"x-go-name": "BlockOnRejectedReviews"
},
"branch_name": {
"type": "string",
"x-go-name": "BranchName"
},
"created_at": {
"type": "string",
"format": "date-time",
"x-go-name": "Created"
},
"dismiss_stale_approvals": {
"type": "boolean",
"x-go-name": "DismissStaleApprovals"
},
"enable_approvals_whitelist": {
"type": "boolean",
"x-go-name": "EnableApprovalsWhitelist"
},
"enable_merge_whitelist": {
"type": "boolean",
"x-go-name": "EnableMergeWhitelist"
},
"enable_push": {
"type": "boolean",
"x-go-name": "EnablePush"
},
"enable_push_whitelist": {
"type": "boolean",
"x-go-name": "EnablePushWhitelist"
},
"enable_status_check": {
"type": "boolean",
"x-go-name": "EnableStatusCheck"
},
"merge_whitelist_teams": {
"type": "array",
"items": {
"type": "string"
},
"x-go-name": "MergeWhitelistTeams"
},
"merge_whitelist_usernames": {
"type": "array",
"items": {
"type": "string"
},
"x-go-name": "MergeWhitelistUsernames"
},
2020-03-27 03:56:34 +05:30
"protected_file_patterns": {
"type": "string",
"x-go-name": "ProtectedFilePatterns"
},
2020-02-13 04:49:35 +05:30
"push_whitelist_deploy_keys": {
"type": "boolean",
"x-go-name": "PushWhitelistDeployKeys"
},
"push_whitelist_teams": {
"type": "array",
"items": {
"type": "string"
},
"x-go-name": "PushWhitelistTeams"
},
"push_whitelist_usernames": {
"type": "array",
"items": {
"type": "string"
},
"x-go-name": "PushWhitelistUsernames"
},
"require_signed_commits": {
"type": "boolean",
"x-go-name": "RequireSignedCommits"
},
"required_approvals": {
"type": "integer",
"format": "int64",
"x-go-name": "RequiredApprovals"
},
"status_check_contexts": {
"type": "array",
"items": {
"type": "string"
},
"x-go-name": "StatusCheckContexts"
},
2021-09-11 19:51:17 +05:30
"unprotected_file_patterns": {
"type": "string",
"x-go-name": "UnprotectedFilePatterns"
},
2020-02-13 04:49:35 +05:30
"updated_at": {
"type": "string",
"format": "date-time",
"x-go-name": "Updated"
}
},
"x-go-package": "code.gitea.io/gitea/modules/structs"
},
2022-09-29 07:57:20 +05:30
"ChangedFile": {
"description": "ChangedFile store information about files affected by the pull request",
"type": "object",
"properties": {
"additions": {
"type": "integer",
"format": "int64",
"x-go-name": "Additions"
},
"changes": {
"type": "integer",
"format": "int64",
"x-go-name": "Changes"
},
"contents_url": {
"type": "string",
"x-go-name": "ContentsURL"
},
"deletions": {
"type": "integer",
"format": "int64",
"x-go-name": "Deletions"
},
"filename": {
"type": "string",
"x-go-name": "Filename"
},
"html_url": {
"type": "string",
"x-go-name": "HTMLURL"
},
"previous_filename": {
"type": "string",
"x-go-name": "PreviousFilename"
},
"raw_url": {
"type": "string",
"x-go-name": "RawURL"
},
"status": {
"type": "string",
"x-go-name": "Status"
}
},
"x-go-package": "code.gitea.io/gitea/modules/structs"
},
2020-12-18 09:03:32 +05:30
"CombinedStatus": {
"description": "CombinedStatus holds the combined state of several statuses for a single commit",
"type": "object",
"properties": {
"commit_url": {
"type": "string",
"x-go-name": "CommitURL"
},
"repository": {
"$ref": "#/definitions/Repository"
},
"sha": {
"type": "string",
"x-go-name": "SHA"
},
"state": {
"$ref": "#/definitions/CommitStatusState"
},
"statuses": {
"type": "array",
"items": {
"$ref": "#/definitions/CommitStatus"
},
"x-go-name": "Statuses"
},
"total_count": {
"type": "integer",
"format": "int64",
"x-go-name": "TotalCount"
},
"url": {
"type": "string",
"x-go-name": "URL"
}
},
"x-go-package": "code.gitea.io/gitea/modules/structs"
},
2017-11-13 12:32:25 +05:30
"Comment": {
"description": "Comment represents a comment on a commit or issue",
"type": "object",
"properties": {
"body": {
"type": "string",
"x-go-name": "Body"
},
"created_at": {
"type": "string",
"format": "date-time",
"x-go-name": "Created"
},
"html_url": {
"type": "string",
"x-go-name": "HTMLURL"
},
"id": {
"type": "integer",
"format": "int64",
"x-go-name": "ID"
},
"issue_url": {
"type": "string",
"x-go-name": "IssueURL"
},
2019-07-08 07:44:12 +05:30
"original_author": {
"type": "string",
"x-go-name": "OriginalAuthor"
},
"original_author_id": {
"type": "integer",
"format": "int64",
"x-go-name": "OriginalAuthorID"
},
2017-11-13 12:32:25 +05:30
"pull_request_url": {
"type": "string",
"x-go-name": "PRURL"
},
"updated_at": {
"type": "string",
"format": "date-time",
"x-go-name": "Updated"
},
"user": {
"$ref": "#/definitions/User"
}
},
2019-05-11 15:51:34 +05:30
"x-go-package": "code.gitea.io/gitea/modules/structs"
2017-11-13 12:32:25 +05:30
},
2019-02-03 09:05:17 +05:30
"Commit": {
"type": "object",
"title": "Commit contains information generated from a Git commit.",
"properties": {
"author": {
"$ref": "#/definitions/User"
},
"commit": {
"$ref": "#/definitions/RepoCommit"
},
"committer": {
"$ref": "#/definitions/User"
},
2020-10-05 09:37:54 +05:30
"created": {
"type": "string",
"format": "date-time",
"x-go-name": "Created"
},
2021-02-07 20:13:40 +05:30
"files": {
"type": "array",
"items": {
"$ref": "#/definitions/CommitAffectedFiles"
},
"x-go-name": "Files"
},
2019-02-03 09:05:17 +05:30
"html_url": {
"type": "string",
"x-go-name": "HTMLURL"
},
"parents": {
"type": "array",
"items": {
"$ref": "#/definitions/CommitMeta"
},
"x-go-name": "Parents"
},
"sha": {
"type": "string",
"x-go-name": "SHA"
},
2022-03-29 21:17:44 +05:30
"stats": {
"$ref": "#/definitions/CommitStats"
},
2019-02-03 09:05:17 +05:30
"url": {
"type": "string",
"x-go-name": "URL"
}
},
2019-05-11 15:51:34 +05:30
"x-go-package": "code.gitea.io/gitea/modules/structs"
2019-02-03 09:05:17 +05:30
},
2021-02-07 20:13:40 +05:30
"CommitAffectedFiles": {
"description": "CommitAffectedFiles store information about files affected by the commit",
"type": "object",
"properties": {
"filename": {
"type": "string",
"x-go-name": "Filename"
}
},
"x-go-package": "code.gitea.io/gitea/modules/structs"
},
2019-12-24 08:03:52 +05:30
"CommitDateOptions": {
"description": "CommitDateOptions store dates for GIT_AUTHOR_DATE and GIT_COMMITTER_DATE",
"type": "object",
"properties": {
"author": {
"type": "string",
"format": "date-time",
"x-go-name": "Author"
},
"committer": {
"type": "string",
"format": "date-time",
"x-go-name": "Committer"
}
},
"x-go-package": "code.gitea.io/gitea/modules/structs"
},
2019-02-03 09:05:17 +05:30
"CommitMeta": {
"type": "object",
"title": "CommitMeta contains meta information of a commit in terms of API.",
"properties": {
2020-10-05 09:37:54 +05:30
"created": {
"type": "string",
"format": "date-time",
"x-go-name": "Created"
},
2019-02-03 09:05:17 +05:30
"sha": {
"type": "string",
"x-go-name": "SHA"
},
"url": {
"type": "string",
"x-go-name": "URL"
}
},
2019-05-11 15:51:34 +05:30
"x-go-package": "code.gitea.io/gitea/modules/structs"
2019-02-03 09:05:17 +05:30
},
2022-03-29 21:17:44 +05:30
"CommitStats": {
"description": "CommitStats is statistics for a RepoCommit",
"type": "object",
"properties": {
"additions": {
"type": "integer",
"format": "int64",
"x-go-name": "Additions"
},
"deletions": {
"type": "integer",
"format": "int64",
"x-go-name": "Deletions"
},
"total": {
"type": "integer",
"format": "int64",
"x-go-name": "Total"
}
},
"x-go-package": "code.gitea.io/gitea/modules/structs"
},
2020-12-18 09:03:32 +05:30
"CommitStatus": {
"description": "CommitStatus holds a single status of a single Commit",
"type": "object",
"properties": {
"context": {
"type": "string",
"x-go-name": "Context"
},
"created_at": {
"type": "string",
"format": "date-time",
"x-go-name": "Created"
},
"creator": {
"$ref": "#/definitions/User"
},
"description": {
"type": "string",
"x-go-name": "Description"
},
"id": {
"type": "integer",
"format": "int64",
"x-go-name": "ID"
},
"status": {
"$ref": "#/definitions/CommitStatusState"
},
"target_url": {
"type": "string",
"x-go-name": "TargetURL"
},
"updated_at": {
"type": "string",
"format": "date-time",
"x-go-name": "Updated"
},
"url": {
"type": "string",
"x-go-name": "URL"
}
},
"x-go-package": "code.gitea.io/gitea/modules/structs"
},
"CommitStatusState": {
"description": "CommitStatusState holds the state of a CommitStatus\nIt can be \"pending\", \"success\", \"error\", \"failure\", and \"warning\"",
"type": "string",
"x-go-package": "code.gitea.io/gitea/modules/structs"
},
2019-02-03 09:05:17 +05:30
"CommitUser": {
"type": "object",
"title": "CommitUser contains information of a user in the context of a commit.",
"properties": {
"date": {
"type": "string",
"x-go-name": "Date"
},
"email": {
"type": "string",
2019-03-22 21:08:49 +05:30
"format": "email",
2019-02-03 09:05:17 +05:30
"x-go-name": "Email"
},
"name": {
"type": "string",
"x-go-name": "Name"
}
},
2019-05-11 15:51:34 +05:30
"x-go-package": "code.gitea.io/gitea/modules/structs"
2019-02-03 09:05:17 +05:30
},
2019-06-30 02:21:10 +05:30
"ContentsResponse": {
"description": "ContentsResponse contains information about a repo's entry's (dir, file, symlink, submodule) metadata and content",
"type": "object",
"properties": {
"_links": {
"$ref": "#/definitions/FileLinksResponse"
},
"content": {
"description": "`content` is populated when `type` is `file`, otherwise null",
"type": "string",
"x-go-name": "Content"
},
"download_url": {
"type": "string",
"x-go-name": "DownloadURL"
},
"encoding": {
"description": "`encoding` is populated when `type` is `file`, otherwise null",
"type": "string",
"x-go-name": "Encoding"
},
"git_url": {
"type": "string",
"x-go-name": "GitURL"
},
"html_url": {
"type": "string",
"x-go-name": "HTMLURL"
},
2022-07-30 13:39:04 +05:30
"last_commit_sha": {
"type": "string",
"x-go-name": "LastCommitSHA"
},
2019-06-30 02:21:10 +05:30
"name": {
"type": "string",
"x-go-name": "Name"
},
"path": {
"type": "string",
"x-go-name": "Path"
},
"sha": {
"type": "string",
"x-go-name": "SHA"
},
"size": {
"type": "integer",
"format": "int64",
"x-go-name": "Size"
},
"submodule_git_url": {
"description": "`submodule_git_url` is populated when `type` is `submodule`, otherwise null",
"type": "string",
"x-go-name": "SubmoduleGitURL"
},
"target": {
"description": "`target` is populated when `type` is `symlink`, otherwise null",
"type": "string",
"x-go-name": "Target"
},
"type": {
"description": "`type` will be `file`, `dir`, `symlink`, or `submodule`",
"type": "string",
"x-go-name": "Type"
},
"url": {
"type": "string",
"x-go-name": "URL"
}
},
"x-go-package": "code.gitea.io/gitea/modules/structs"
},
2021-08-02 02:14:15 +05:30
"CreateAccessTokenOption": {
"description": "CreateAccessTokenOption options when create access token",
"type": "object",
"properties": {
"name": {
"type": "string",
"x-go-name": "Name"
}
},
"x-go-package": "code.gitea.io/gitea/modules/structs"
},
2020-02-13 04:49:35 +05:30
"CreateBranchProtectionOption": {
"description": "CreateBranchProtectionOption options for creating a branch protection",
"type": "object",
"properties": {
"approvals_whitelist_teams": {
"type": "array",
"items": {
"type": "string"
},
"x-go-name": "ApprovalsWhitelistTeams"
},
"approvals_whitelist_username": {
"type": "array",
"items": {
"type": "string"
},
"x-go-name": "ApprovalsWhitelistUsernames"
},
2020-11-29 01:00:46 +05:30
"block_on_official_review_requests": {
"type": "boolean",
"x-go-name": "BlockOnOfficialReviewRequests"
},
2020-04-17 06:30:36 +05:30
"block_on_outdated_branch": {
"type": "boolean",
"x-go-name": "BlockOnOutdatedBranch"
},
2020-02-13 04:49:35 +05:30
"block_on_rejected_reviews": {
"type": "boolean",
"x-go-name": "BlockOnRejectedReviews"
},
"branch_name": {
"type": "string",
"x-go-name": "BranchName"
},
"dismiss_stale_approvals": {
"type": "boolean",
"x-go-name": "DismissStaleApprovals"
},
"enable_approvals_whitelist": {
"type": "boolean",
"x-go-name": "EnableApprovalsWhitelist"
},
"enable_merge_whitelist": {
"type": "boolean",
"x-go-name": "EnableMergeWhitelist"
},
"enable_push": {
"type": "boolean",
"x-go-name": "EnablePush"
},
"enable_push_whitelist": {
"type": "boolean",
"x-go-name": "EnablePushWhitelist"
},
"enable_status_check": {
"type": "boolean",
"x-go-name": "EnableStatusCheck"
},
"merge_whitelist_teams": {
"type": "array",
"items": {
"type": "string"
},
"x-go-name": "MergeWhitelistTeams"
},
"merge_whitelist_usernames": {
"type": "array",
"items": {
"type": "string"
},
"x-go-name": "MergeWhitelistUsernames"
},
2020-03-27 03:56:34 +05:30
"protected_file_patterns": {
"type": "string",
"x-go-name": "ProtectedFilePatterns"
},
2020-02-13 04:49:35 +05:30
"push_whitelist_deploy_keys": {
"type": "boolean",
"x-go-name": "PushWhitelistDeployKeys"
},
"push_whitelist_teams": {
"type": "array",
"items": {
"type": "string"
},
"x-go-name": "PushWhitelistTeams"
},
"push_whitelist_usernames": {
"type": "array",
"items": {
"type": "string"
},
"x-go-name": "PushWhitelistUsernames"
},
"require_signed_commits": {
"type": "boolean",
"x-go-name": "RequireSignedCommits"
},
"required_approvals": {
"type": "integer",
"format": "int64",
"x-go-name": "RequiredApprovals"
},
"status_check_contexts": {
"type": "array",
"items": {
"type": "string"
},
"x-go-name": "StatusCheckContexts"
2021-09-11 19:51:17 +05:30
},
"unprotected_file_patterns": {
"type": "string",
"x-go-name": "UnprotectedFilePatterns"
2020-02-13 04:49:35 +05:30
}
},
"x-go-package": "code.gitea.io/gitea/modules/structs"
},
2020-05-29 23:46:20 +05:30
"CreateBranchRepoOption": {
"description": "CreateBranchRepoOption options when creating a branch in a repository",
"type": "object",
"required": [
"new_branch_name"
],
"properties": {
"new_branch_name": {
"description": "Name of the branch to create",
"type": "string",
"uniqueItems": true,
"x-go-name": "BranchName"
},
"old_branch_name": {
"description": "Name of the old branch to create from",
"type": "string",
"uniqueItems": true,
"x-go-name": "OldBranchName"
}
},
"x-go-package": "code.gitea.io/gitea/modules/structs"
},
2017-11-13 12:32:25 +05:30
"CreateEmailOption": {
"description": "CreateEmailOption options when creating email addresses",
"type": "object",
"properties": {
"emails": {
"description": "email addresses to add",
"type": "array",
"items": {
"type": "string"
},
"x-go-name": "Emails"
}
},
2019-05-11 15:51:34 +05:30
"x-go-package": "code.gitea.io/gitea/modules/structs"
2017-11-13 12:32:25 +05:30
},
2019-04-17 21:36:35 +05:30
"CreateFileOptions": {
2019-05-30 23:27:55 +05:30
"description": "CreateFileOptions options for creating files\nNote: `author` and `committer` are optional (if only one is given, it will be used for the other, otherwise the authenticated user will be used)",
2019-04-17 21:36:35 +05:30
"type": "object",
2019-05-30 23:27:55 +05:30
"required": [
"content"
],
2019-04-17 21:36:35 +05:30
"properties": {
"author": {
"$ref": "#/definitions/Identity"
},
"branch": {
2019-05-30 23:27:55 +05:30
"description": "branch (optional) to base this file from. if not given, the default branch is used",
2019-04-17 21:36:35 +05:30
"type": "string",
"x-go-name": "BranchName"
},
"committer": {
"$ref": "#/definitions/Identity"
},
"content": {
2019-05-30 23:27:55 +05:30
"description": "content must be base64 encoded",
2019-04-17 21:36:35 +05:30
"type": "string",
"x-go-name": "Content"
},
2019-12-24 08:03:52 +05:30
"dates": {
"$ref": "#/definitions/CommitDateOptions"
},
2019-04-17 21:36:35 +05:30
"message": {
2019-05-30 23:27:55 +05:30
"description": "message (optional) for the commit of this file. if not supplied, a default message will be used",
2019-04-17 21:36:35 +05:30
"type": "string",
"x-go-name": "Message"
},
"new_branch": {
2019-05-30 23:27:55 +05:30
"description": "new_branch (optional) will make a new branch from `branch` before creating the file",
2019-04-17 21:36:35 +05:30
"type": "string",
"x-go-name": "NewBranchName"
2021-01-29 14:27:45 +05:30
},
"signoff": {
"description": "Add a Signed-off-by trailer by the committer at the end of the commit log message.",
"type": "boolean",
"x-go-name": "Signoff"
2019-04-17 21:36:35 +05:30
}
},
2019-05-11 15:51:34 +05:30
"x-go-package": "code.gitea.io/gitea/modules/structs"
2019-04-17 21:36:35 +05:30
},
2017-11-13 12:32:25 +05:30
"CreateForkOption": {
"description": "CreateForkOption options for creating a fork",
"type": "object",
"properties": {
2021-12-24 20:13:00 +05:30
"name": {
"description": "name of the forked repository",
"type": "string",
"x-go-name": "Name"
},
2017-11-13 12:32:25 +05:30
"organization": {
"description": "organization name, if forking into an organization",
"type": "string",
"x-go-name": "Organization"
}
},
2019-05-11 15:51:34 +05:30
"x-go-package": "code.gitea.io/gitea/modules/structs"
2017-11-13 12:32:25 +05:30
},
"CreateGPGKeyOption": {
"description": "CreateGPGKeyOption options create user GPG key",
"type": "object",
"required": [
"armored_public_key"
],
"properties": {
"armored_public_key": {
"description": "An armored GPG key to add",
"type": "string",
"uniqueItems": true,
"x-go-name": "ArmoredKey"
2021-07-13 18:58:07 +05:30
},
"armored_signature": {
"type": "string",
"x-go-name": "Signature"
2017-11-13 12:32:25 +05:30
}
},
2019-05-11 15:51:34 +05:30
"x-go-package": "code.gitea.io/gitea/modules/structs"
2017-11-13 12:32:25 +05:30
},
"CreateHookOption": {
"description": "CreateHookOption options when create a hook",
"type": "object",
"required": [
"type",
"config"
],
"properties": {
"active": {
"type": "boolean",
"default": false,
"x-go-name": "Active"
},
2022-11-03 23:53:20 +05:30
"authorization_header": {
"type": "string",
"x-go-name": "AuthorizationHeader"
},
2019-09-09 11:18:21 +05:30
"branch_filter": {
"type": "string",
"x-go-name": "BranchFilter"
},
2017-11-13 12:32:25 +05:30
"config": {
2019-12-31 09:41:15 +05:30
"$ref": "#/definitions/CreateHookOptionConfig"
2017-11-13 12:32:25 +05:30
},
"events": {
"type": "array",
"items": {
"type": "string"
},
"x-go-name": "Events"
},
"type": {
"type": "string",
"enum": [
2019-12-31 09:41:15 +05:30
"dingtalk",
"discord",
2017-11-13 12:32:25 +05:30
"gitea",
"gogs",
2019-12-31 09:41:15 +05:30
"msteams",
2017-11-13 12:32:25 +05:30
"slack",
2020-02-12 14:18:28 +05:30
"telegram",
2021-07-23 10:11:27 +05:30
"feishu",
2022-01-23 19:16:30 +05:30
"wechatwork",
"packagist"
2017-11-13 12:32:25 +05:30
],
"x-go-name": "Type"
}
},
2019-05-11 15:51:34 +05:30
"x-go-package": "code.gitea.io/gitea/modules/structs"
2017-11-13 12:32:25 +05:30
},
2019-12-31 09:41:15 +05:30
"CreateHookOptionConfig": {
"description": "CreateHookOptionConfig has all config options in it\nrequired are \"content_type\" and \"url\" Required",
"type": "object",
"additionalProperties": {
"type": "string"
},
"x-go-package": "code.gitea.io/gitea/modules/structs"
},
2017-11-13 12:32:25 +05:30
"CreateIssueCommentOption": {
"description": "CreateIssueCommentOption options for creating a comment on an issue",
"type": "object",
"required": [
"body"
],
"properties": {
"body": {
"type": "string",
"x-go-name": "Body"
}
},
2019-05-11 15:51:34 +05:30
"x-go-package": "code.gitea.io/gitea/modules/structs"
2017-11-13 12:32:25 +05:30
},
"CreateIssueOption": {
"description": "CreateIssueOption options to create one issue",
"type": "object",
"required": [
"title"
],
"properties": {
"assignee": {
2020-12-16 00:08:10 +05:30
"description": "deprecated",
2017-11-13 12:32:25 +05:30
"type": "string",
"x-go-name": "Assignee"
},
2018-05-02 00:35:28 +05:30
"assignees": {
"type": "array",
"items": {
"type": "string"
},
"x-go-name": "Assignees"
},
2017-11-13 12:32:25 +05:30
"body": {
"type": "string",
"x-go-name": "Body"
},
"closed": {
"type": "boolean",
"x-go-name": "Closed"
},
2018-05-02 00:35:28 +05:30
"due_date": {
"type": "string",
"format": "date-time",
"x-go-name": "Deadline"
},
2017-11-13 12:32:25 +05:30
"labels": {
"description": "list of label ids",
"type": "array",
"items": {
"type": "integer",
"format": "int64"
},
"x-go-name": "Labels"
},
"milestone": {
"description": "milestone id",
"type": "integer",
"format": "int64",
"x-go-name": "Milestone"
},
2020-12-16 00:08:10 +05:30
"ref": {
"type": "string",
"x-go-name": "Ref"
},
2017-11-13 12:32:25 +05:30
"title": {
"type": "string",
"x-go-name": "Title"
}
},
2019-05-11 15:51:34 +05:30
"x-go-package": "code.gitea.io/gitea/modules/structs"
2017-11-13 12:32:25 +05:30
},
"CreateKeyOption": {
"description": "CreateKeyOption options when creating a key",
"type": "object",
"required": [
"title",
"key"
],
"properties": {
"key": {
"description": "An armored SSH key to add",
"type": "string",
"uniqueItems": true,
"x-go-name": "Key"
},
2018-03-06 06:52:16 +05:30
"read_only": {
"description": "Describe if the key has only read access or read/write",
"type": "boolean",
"x-go-name": "ReadOnly"
},
2017-11-13 12:32:25 +05:30
"title": {
"description": "Title of the key to add",
"type": "string",
"uniqueItems": true,
"x-go-name": "Title"
}
},
2019-05-11 15:51:34 +05:30
"x-go-package": "code.gitea.io/gitea/modules/structs"
2017-11-13 12:32:25 +05:30
},
"CreateLabelOption": {
"description": "CreateLabelOption options for creating a label",
"type": "object",
"required": [
"name",
"color"
],
"properties": {
"color": {
"type": "string",
"x-go-name": "Color",
"example": "#00aabb"
},
2019-06-16 18:09:52 +05:30
"description": {
"type": "string",
"x-go-name": "Description"
},
2017-11-13 12:32:25 +05:30
"name": {
"type": "string",
"x-go-name": "Name"
}
},
2019-05-11 15:51:34 +05:30
"x-go-package": "code.gitea.io/gitea/modules/structs"
2017-11-13 12:32:25 +05:30
},
"CreateMilestoneOption": {
"description": "CreateMilestoneOption options for creating a milestone",
"type": "object",
"properties": {
"description": {
"type": "string",
"x-go-name": "Description"
},
"due_on": {
"type": "string",
"format": "date-time",
"x-go-name": "Deadline"
},
2020-06-10 03:31:36 +05:30
"state": {
"type": "string",
"enum": [
"open",
"closed"
],
"x-go-name": "State"
},
2017-11-13 12:32:25 +05:30
"title": {
"type": "string",
"x-go-name": "Title"
}
},
2019-05-11 15:51:34 +05:30
"x-go-package": "code.gitea.io/gitea/modules/structs"
2017-11-13 12:32:25 +05:30
},
2020-02-29 11:49:32 +05:30
"CreateOAuth2ApplicationOptions": {
"description": "CreateOAuth2ApplicationOptions holds options to create an oauth2 application",
"type": "object",
"properties": {
2022-10-24 13:29:24 +05:30
"confidential_client": {
"type": "boolean",
"x-go-name": "ConfidentialClient"
},
2020-02-29 11:49:32 +05:30
"name": {
"type": "string",
"x-go-name": "Name"
},
"redirect_uris": {
"type": "array",
"items": {
"type": "string"
},
"x-go-name": "RedirectURIs"
}
},
"x-go-package": "code.gitea.io/gitea/modules/structs"
},
2017-11-13 12:32:25 +05:30
"CreateOrgOption": {
"description": "CreateOrgOption options for creating an organization",
"type": "object",
"required": [
"username"
],
"properties": {
"description": {
"type": "string",
"x-go-name": "Description"
},
"full_name": {
"type": "string",
"x-go-name": "FullName"
},
"location": {
"type": "string",
"x-go-name": "Location"
},
2019-09-24 01:38:03 +05:30
"repo_admin_change_team_access": {
"type": "boolean",
"x-go-name": "RepoAdminChangeTeamAccess"
},
2017-11-13 12:32:25 +05:30
"username": {
"type": "string",
"x-go-name": "UserName"
},
2019-05-11 02:19:29 +05:30
"visibility": {
2019-05-30 23:27:55 +05:30
"description": "possible values are `public` (default), `limited` or `private`",
"type": "string",
"enum": [
"public",
"limited",
"private"
],
"x-go-name": "Visibility"
2019-05-11 02:19:29 +05:30
},
2017-11-13 12:32:25 +05:30
"website": {
"type": "string",
"x-go-name": "Website"
}
},
2019-05-11 15:51:34 +05:30
"x-go-package": "code.gitea.io/gitea/modules/structs"
2017-11-13 12:32:25 +05:30
},
"CreatePullRequestOption": {
"description": "CreatePullRequestOption options when creating a pull request",
"type": "object",
"properties": {
"assignee": {
"type": "string",
"x-go-name": "Assignee"
},
2018-05-02 00:35:28 +05:30
"assignees": {
"type": "array",
"items": {
"type": "string"
},
"x-go-name": "Assignees"
},
2017-11-13 12:32:25 +05:30
"base": {
"type": "string",
"x-go-name": "Base"
},
"body": {
"type": "string",
"x-go-name": "Body"
},
2018-05-02 00:35:28 +05:30
"due_date": {
"type": "string",
"format": "date-time",
"x-go-name": "Deadline"
},
2017-11-13 12:32:25 +05:30
"head": {
"type": "string",
"x-go-name": "Head"
},
"labels": {
"type": "array",
"items": {
"type": "integer",
"format": "int64"
},
"x-go-name": "Labels"
},
"milestone": {
"type": "integer",
"format": "int64",
"x-go-name": "Milestone"
},
"title": {
"type": "string",
"x-go-name": "Title"
}
},
2019-05-11 15:51:34 +05:30
"x-go-package": "code.gitea.io/gitea/modules/structs"
2017-11-13 12:32:25 +05:30
},
2020-05-02 05:50:51 +05:30
"CreatePullReviewComment": {
"description": "CreatePullReviewComment represent a review comment for creation api",
"type": "object",
"properties": {
"body": {
"type": "string",
"x-go-name": "Body"
},
"new_position": {
"description": "if comment to new file line or 0",
"type": "integer",
"format": "int64",
"x-go-name": "NewLineNum"
},
"old_position": {
"description": "if comment to old file line or 0",
"type": "integer",
"format": "int64",
"x-go-name": "OldLineNum"
},
"path": {
"description": "the tree path",
"type": "string",
"x-go-name": "Path"
}
},
"x-go-package": "code.gitea.io/gitea/modules/structs"
},
"CreatePullReviewOptions": {
"description": "CreatePullReviewOptions are options to create a pull review",
"type": "object",
"properties": {
"body": {
"type": "string",
"x-go-name": "Body"
},
"comments": {
"type": "array",
"items": {
"$ref": "#/definitions/CreatePullReviewComment"
},
"x-go-name": "Comments"
},
"commit_id": {
"type": "string",
"x-go-name": "CommitID"
},
"event": {
"$ref": "#/definitions/ReviewStateType"
}
},
"x-go-package": "code.gitea.io/gitea/modules/structs"
},
2022-07-30 22:15:59 +05:30
"CreatePushMirrorOption": {
"type": "object",
"title": "CreatePushMirrorOption represents need information to create a push mirror of a repository.",
"properties": {
"interval": {
"type": "string",
"x-go-name": "Interval"
},
"remote_address": {
"type": "string",
"x-go-name": "RemoteAddress"
},
"remote_password": {
"type": "string",
"x-go-name": "RemotePassword"
},
"remote_username": {
"type": "string",
"x-go-name": "RemoteUsername"
}
},
"x-go-package": "code.gitea.io/gitea/modules/structs"
},
2017-11-13 12:32:25 +05:30
"CreateReleaseOption": {
"description": "CreateReleaseOption options when creating a release",
"type": "object",
"required": [
"tag_name"
],
"properties": {
"body": {
"type": "string",
"x-go-name": "Note"
},
"draft": {
"type": "boolean",
"x-go-name": "IsDraft"
},
"name": {
"type": "string",
"x-go-name": "Title"
},
"prerelease": {
"type": "boolean",
"x-go-name": "IsPrerelease"
},
"tag_name": {
"type": "string",
"x-go-name": "TagName"
},
"target_commitish": {
"type": "string",
"x-go-name": "Target"
}
},
2019-05-11 15:51:34 +05:30
"x-go-package": "code.gitea.io/gitea/modules/structs"
2017-11-13 12:32:25 +05:30
},
"CreateRepoOption": {
"description": "CreateRepoOption options when creating repository",
"type": "object",
"required": [
"name"
],
"properties": {
"auto_init": {
2022-01-10 15:02:37 +05:30
"description": "Whether the repository should be auto-initialized?",
2017-11-13 12:32:25 +05:30
"type": "boolean",
"x-go-name": "AutoInit"
},
2020-03-27 00:44:51 +05:30
"default_branch": {
"description": "DefaultBranch of the repository (used when initializes and in template)",
"type": "string",
"x-go-name": "DefaultBranch"
},
2017-11-13 12:32:25 +05:30
"description": {
"description": "Description of the repository to create",
"type": "string",
"x-go-name": "Description"
},
"gitignores": {
"description": "Gitignores to use",
"type": "string",
"x-go-name": "Gitignores"
},
2019-09-08 13:58:40 +05:30
"issue_labels": {
2021-01-19 01:30:50 +05:30
"description": "Label-Set to use",
2019-09-08 13:58:40 +05:30
"type": "string",
"x-go-name": "IssueLabels"
},
2017-11-13 12:32:25 +05:30
"license": {
"description": "License to use",
"type": "string",
"x-go-name": "License"
},
"name": {
"description": "Name of the repository to create",
"type": "string",
"uniqueItems": true,
"x-go-name": "Name"
},
"private": {
"description": "Whether the repository is private",
"type": "boolean",
"x-go-name": "Private"
},
"readme": {
"description": "Readme of the repository to create",
"type": "string",
"x-go-name": "Readme"
2020-09-19 22:14:55 +05:30
},
2020-09-25 10:48:37 +05:30
"template": {
"description": "Whether the repository is template",
"type": "boolean",
"x-go-name": "Template"
},
2020-09-19 22:14:55 +05:30
"trust_model": {
"description": "TrustModel of the repository",
"type": "string",
"enum": [
"default",
"collaborator",
"committer",
"collaboratorcommitter"
],
"x-go-name": "TrustModel"
2017-11-13 12:32:25 +05:30
}
},
2019-05-11 15:51:34 +05:30
"x-go-package": "code.gitea.io/gitea/modules/structs"
2017-11-13 12:32:25 +05:30
},
"CreateStatusOption": {
2020-12-18 09:03:32 +05:30
"description": "CreateStatusOption holds the information needed to create a new CommitStatus for a Commit",
2017-11-13 12:32:25 +05:30
"type": "object",
"properties": {
"context": {
"type": "string",
"x-go-name": "Context"
},
"description": {
"type": "string",
"x-go-name": "Description"
},
"state": {
2020-12-18 09:03:32 +05:30
"$ref": "#/definitions/CommitStatusState"
2017-11-13 12:32:25 +05:30
},
"target_url": {
"type": "string",
"x-go-name": "TargetURL"
}
},
2019-05-11 15:51:34 +05:30
"x-go-package": "code.gitea.io/gitea/modules/structs"
2017-11-13 12:32:25 +05:30
},
2021-06-17 21:34:10 +05:30
"CreateTagOption": {
"description": "CreateTagOption options when creating a tag",
"type": "object",
"required": [
"tag_name"
],
"properties": {
"message": {
"type": "string",
"x-go-name": "Message"
},
"tag_name": {
"type": "string",
"x-go-name": "TagName"
},
"target": {
"type": "string",
"x-go-name": "Target"
}
},
"x-go-package": "code.gitea.io/gitea/modules/structs"
},
2017-11-13 12:32:25 +05:30
"CreateTeamOption": {
"description": "CreateTeamOption options for creating a team",
"type": "object",
"required": [
"name"
],
"properties": {
2019-11-20 16:57:49 +05:30
"can_create_org_repo": {
"type": "boolean",
"x-go-name": "CanCreateOrgRepo"
},
2017-11-13 12:32:25 +05:30
"description": {
"type": "string",
"x-go-name": "Description"
},
2019-11-06 15:07:14 +05:30
"includes_all_repositories": {
"type": "boolean",
"x-go-name": "IncludesAllRepositories"
},
2017-11-13 12:32:25 +05:30
"name": {
"type": "string",
"x-go-name": "Name"
},
"permission": {
"type": "string",
"enum": [
"read",
"write",
"admin"
],
"x-go-name": "Permission"
2018-11-11 01:15:32 +05:30
},
"units": {
"type": "array",
2019-08-26 23:43:10 +05:30
"items": {
"type": "string"
},
"x-go-name": "Units",
"example": [
2018-11-11 01:15:32 +05:30
"repo.code",
"repo.issues",
"repo.ext_issues",
"repo.wiki",
"repo.pulls",
"repo.releases",
2021-03-04 04:14:30 +05:30
"repo.projects",
2018-11-11 01:15:32 +05:30
"repo.ext_wiki"
2019-08-26 23:43:10 +05:30
]
2022-01-05 09:07:00 +05:30
},
"units_map": {
"type": "object",
"additionalProperties": {
"type": "string"
},
"x-go-name": "UnitsMap",
2022-10-06 01:56:34 +05:30
"example": {
"repo.code": "read",
"repo.ext_issues": "none",
"repo.ext_wiki": "none",
"repo.issues": "write",
"repo.projects": "none",
"repo.pulls": "owner",
"repo.releases": "none",
"repo.wiki": "admin"
}
2017-11-13 12:32:25 +05:30
}
},
2019-05-11 15:51:34 +05:30
"x-go-package": "code.gitea.io/gitea/modules/structs"
2017-11-13 12:32:25 +05:30
},
"CreateUserOption": {
"description": "CreateUserOption create user options",
"type": "object",
"required": [
"username",
"email",
"password"
],
"properties": {
"email": {
"type": "string",
"format": "email",
"x-go-name": "Email"
},
"full_name": {
"type": "string",
"x-go-name": "FullName"
},
"login_name": {
"type": "string",
"x-go-name": "LoginName"
},
2019-02-26 00:26:47 +05:30
"must_change_password": {
"type": "boolean",
"x-go-name": "MustChangePassword"
},
2017-11-13 12:32:25 +05:30
"password": {
"type": "string",
"x-go-name": "Password"
},
2022-04-30 01:08:11 +05:30
"restricted": {
"type": "boolean",
"x-go-name": "Restricted"
},
2017-11-13 12:32:25 +05:30
"send_notify": {
"type": "boolean",
"x-go-name": "SendNotify"
},
"source_id": {
"type": "integer",
"format": "int64",
"x-go-name": "SourceID"
},
"username": {
"type": "string",
"x-go-name": "Username"
2021-06-27 01:23:14 +05:30
},
"visibility": {
"type": "string",
"x-go-name": "Visibility"
2017-11-13 12:32:25 +05:30
}
},
2019-05-11 15:51:34 +05:30
"x-go-package": "code.gitea.io/gitea/modules/structs"
2017-11-13 12:32:25 +05:30
},
2021-10-25 09:13:40 +05:30
"CreateWikiPageOptions": {
"description": "CreateWikiPageOptions form for creating wiki",
"type": "object",
"properties": {
"content_base64": {
"description": "content must be base64 encoded",
"type": "string",
"x-go-name": "ContentBase64"
},
"message": {
"description": "optional commit message summarizing the change",
"type": "string",
"x-go-name": "Message"
},
"title": {
"description": "page title. leave empty to keep unchanged",
"type": "string",
"x-go-name": "Title"
}
},
"x-go-package": "code.gitea.io/gitea/modules/structs"
},
2020-08-24 21:18:15 +05:30
"Cron": {
"description": "Cron represents a Cron task",
"type": "object",
"properties": {
"exec_times": {
"type": "integer",
"format": "int64",
"x-go-name": "ExecTimes"
},
"name": {
"type": "string",
"x-go-name": "Name"
},
"next": {
"type": "string",
"format": "date-time",
"x-go-name": "Next"
},
"prev": {
"type": "string",
"format": "date-time",
"x-go-name": "Prev"
},
"schedule": {
"type": "string",
"x-go-name": "Schedule"
}
},
"x-go-package": "code.gitea.io/gitea/modules/structs"
},
2017-11-13 12:32:25 +05:30
"DeleteEmailOption": {
"description": "DeleteEmailOption options when deleting email addresses",
"type": "object",
"properties": {
"emails": {
"description": "email addresses to delete",
"type": "array",
"items": {
"type": "string"
},
"x-go-name": "Emails"
}
},
2019-05-11 15:51:34 +05:30
"x-go-package": "code.gitea.io/gitea/modules/structs"
2017-11-13 12:32:25 +05:30
},
2019-04-17 21:36:35 +05:30
"DeleteFileOptions": {
2019-05-30 23:27:55 +05:30
"description": "DeleteFileOptions options for deleting files (used for other File structs below)\nNote: `author` and `committer` are optional (if only one is given, it will be used for the other, otherwise the authenticated user will be used)",
2019-04-17 21:36:35 +05:30
"type": "object",
2019-05-30 23:27:55 +05:30
"required": [
"sha"
],
2019-04-17 21:36:35 +05:30
"properties": {
"author": {
"$ref": "#/definitions/Identity"
},
"branch": {
2019-05-30 23:27:55 +05:30
"description": "branch (optional) to base this file from. if not given, the default branch is used",
2019-04-17 21:36:35 +05:30
"type": "string",
"x-go-name": "BranchName"
},
"committer": {
"$ref": "#/definitions/Identity"
},
2019-12-24 08:03:52 +05:30
"dates": {
"$ref": "#/definitions/CommitDateOptions"
},
2019-04-17 21:36:35 +05:30
"message": {
2019-05-30 23:27:55 +05:30
"description": "message (optional) for the commit of this file. if not supplied, a default message will be used",
2019-04-17 21:36:35 +05:30
"type": "string",
"x-go-name": "Message"
},
"new_branch": {
2019-05-30 23:27:55 +05:30
"description": "new_branch (optional) will make a new branch from `branch` before creating the file",
2019-04-17 21:36:35 +05:30
"type": "string",
"x-go-name": "NewBranchName"
},
"sha": {
2019-05-30 23:27:55 +05:30
"description": "sha is the SHA for the file that already exists",
2019-04-17 21:36:35 +05:30
"type": "string",
"x-go-name": "SHA"
2021-01-29 14:27:45 +05:30
},
"signoff": {
"description": "Add a Signed-off-by trailer by the committer at the end of the commit log message.",
"type": "boolean",
"x-go-name": "Signoff"
2019-04-17 21:36:35 +05:30
}
},
2019-05-11 15:51:34 +05:30
"x-go-package": "code.gitea.io/gitea/modules/structs"
2019-04-17 21:36:35 +05:30
},
2017-11-13 12:32:25 +05:30
"DeployKey": {
"description": "DeployKey a deploy key",
"type": "object",
"properties": {
"created_at": {
"type": "string",
"format": "date-time",
"x-go-name": "Created"
},
2018-10-29 03:33:02 +05:30
"fingerprint": {
"type": "string",
"x-go-name": "Fingerprint"
},
2017-11-13 12:32:25 +05:30
"id": {
"type": "integer",
"format": "int64",
"x-go-name": "ID"
},
"key": {
"type": "string",
"x-go-name": "Key"
},
2018-10-29 03:33:02 +05:30
"key_id": {
"type": "integer",
"format": "int64",
"x-go-name": "KeyID"
},
2017-11-13 12:32:25 +05:30
"read_only": {
"type": "boolean",
"x-go-name": "ReadOnly"
},
2018-10-29 03:33:02 +05:30
"repository": {
"$ref": "#/definitions/Repository"
},
2017-11-13 12:32:25 +05:30
"title": {
"type": "string",
"x-go-name": "Title"
},
"url": {
"type": "string",
"x-go-name": "URL"
}
},
2019-05-11 15:51:34 +05:30
"x-go-package": "code.gitea.io/gitea/modules/structs"
2017-11-13 12:32:25 +05:30
},
2021-02-11 23:02:25 +05:30
"DismissPullReviewOptions": {
"description": "DismissPullReviewOptions are options to dismiss a pull review",
"type": "object",
"properties": {
"message": {
"type": "string",
"x-go-name": "Message"
2022-07-19 18:50:28 +05:30
},
"priors": {
"type": "boolean",
"x-go-name": "Priors"
2021-02-11 23:02:25 +05:30
}
},
"x-go-package": "code.gitea.io/gitea/modules/structs"
},
2018-03-06 06:52:16 +05:30
"EditAttachmentOptions": {
"description": "EditAttachmentOptions options for editing attachments",
"type": "object",
"properties": {
"name": {
"type": "string",
"x-go-name": "Name"
}
},
2019-05-11 15:51:34 +05:30
"x-go-package": "code.gitea.io/gitea/modules/structs"
2018-03-06 06:52:16 +05:30
},
2020-02-13 04:49:35 +05:30
"EditBranchProtectionOption": {
"description": "EditBranchProtectionOption options for editing a branch protection",
"type": "object",
"properties": {
"approvals_whitelist_teams": {
"type": "array",
"items": {
"type": "string"
},
"x-go-name": "ApprovalsWhitelistTeams"
},
"approvals_whitelist_username": {
"type": "array",
"items": {
"type": "string"
},
"x-go-name": "ApprovalsWhitelistUsernames"
},
2020-11-29 01:00:46 +05:30
"block_on_official_review_requests": {
"type": "boolean",
"x-go-name": "BlockOnOfficialReviewRequests"
},
2020-04-17 06:30:36 +05:30
"block_on_outdated_branch": {
"type": "boolean",
"x-go-name": "BlockOnOutdatedBranch"
},
2020-02-13 04:49:35 +05:30
"block_on_rejected_reviews": {
"type": "boolean",
"x-go-name": "BlockOnRejectedReviews"
},
"dismiss_stale_approvals": {
"type": "boolean",
"x-go-name": "DismissStaleApprovals"
},
"enable_approvals_whitelist": {
"type": "boolean",
"x-go-name": "EnableApprovalsWhitelist"
},
"enable_merge_whitelist": {
"type": "boolean",
"x-go-name": "EnableMergeWhitelist"
},
"enable_push": {
"type": "boolean",
"x-go-name": "EnablePush"
},
"enable_push_whitelist": {
"type": "boolean",
"x-go-name": "EnablePushWhitelist"
},
"enable_status_check": {
"type": "boolean",
"x-go-name": "EnableStatusCheck"
},
"merge_whitelist_teams": {
"type": "array",
"items": {
"type": "string"
},
"x-go-name": "MergeWhitelistTeams"
},
"merge_whitelist_usernames": {
"type": "array",
"items": {
"type": "string"
},
"x-go-name": "MergeWhitelistUsernames"
},
2020-03-27 03:56:34 +05:30
"protected_file_patterns": {
"type": "string",
"x-go-name": "ProtectedFilePatterns"
},
2020-02-13 04:49:35 +05:30
"push_whitelist_deploy_keys": {
"type": "boolean",
"x-go-name": "PushWhitelistDeployKeys"
},
"push_whitelist_teams": {
"type": "array",
"items": {
"type": "string"
},
"x-go-name": "PushWhitelistTeams"
},
"push_whitelist_usernames": {
"type": "array",
"items": {
"type": "string"
},
"x-go-name": "PushWhitelistUsernames"
},
"require_signed_commits": {
"type": "boolean",
"x-go-name": "RequireSignedCommits"
},
"required_approvals": {
"type": "integer",
"format": "int64",
"x-go-name": "RequiredApprovals"
},
"status_check_contexts": {
"type": "array",
"items": {
"type": "string"
},
"x-go-name": "StatusCheckContexts"
2021-09-11 19:51:17 +05:30
},
"unprotected_file_patterns": {
"type": "string",
"x-go-name": "UnprotectedFilePatterns"
2020-02-13 04:49:35 +05:30
}
},
"x-go-package": "code.gitea.io/gitea/modules/structs"
},
2018-07-16 18:13:00 +05:30
"EditDeadlineOption": {
"description": "EditDeadlineOption options for creating a deadline",
"type": "object",
"required": [
"due_date"
],
"properties": {
"due_date": {
"type": "string",
"format": "date-time",
"x-go-name": "Deadline"
}
},
2019-05-11 15:51:34 +05:30
"x-go-package": "code.gitea.io/gitea/modules/structs"
2018-07-16 18:13:00 +05:30
},
2019-04-17 11:01:08 +05:30
"EditGitHookOption": {
"description": "EditGitHookOption options when modifying one Git hook",
"type": "object",
"properties": {
"content": {
"type": "string",
"x-go-name": "Content"
}
},
2019-05-11 15:51:34 +05:30
"x-go-package": "code.gitea.io/gitea/modules/structs"
2019-04-17 11:01:08 +05:30
},
2017-11-13 12:32:25 +05:30
"EditHookOption": {
"description": "EditHookOption options when modify one hook",
"type": "object",
"properties": {
"active": {
"type": "boolean",
"x-go-name": "Active"
},
2022-11-03 23:53:20 +05:30
"authorization_header": {
"type": "string",
"x-go-name": "AuthorizationHeader"
},
2019-09-09 11:18:21 +05:30
"branch_filter": {
"type": "string",
"x-go-name": "BranchFilter"
},
2017-11-13 12:32:25 +05:30
"config": {
"type": "object",
"additionalProperties": {
"type": "string"
},
"x-go-name": "Config"
},
"events": {
"type": "array",
"items": {
"type": "string"
},
"x-go-name": "Events"
}
},
2019-05-11 15:51:34 +05:30
"x-go-package": "code.gitea.io/gitea/modules/structs"
2017-11-13 12:32:25 +05:30
},
"EditIssueCommentOption": {
"description": "EditIssueCommentOption options for editing a comment",
"type": "object",
"required": [
"body"
],
"properties": {
"body": {
"type": "string",
"x-go-name": "Body"
}
},
2019-05-11 15:51:34 +05:30
"x-go-package": "code.gitea.io/gitea/modules/structs"
2017-11-13 12:32:25 +05:30
},
"EditIssueOption": {
"description": "EditIssueOption options for editing an issue",
"type": "object",
"properties": {
"assignee": {
2020-12-16 00:08:10 +05:30
"description": "deprecated",
2017-11-13 12:32:25 +05:30
"type": "string",
"x-go-name": "Assignee"
},
2018-05-02 00:35:28 +05:30
"assignees": {
"type": "array",
"items": {
"type": "string"
},
"x-go-name": "Assignees"
},
2017-11-13 12:32:25 +05:30
"body": {
"type": "string",
"x-go-name": "Body"
},
2018-05-02 00:35:28 +05:30
"due_date": {
"type": "string",
"format": "date-time",
"x-go-name": "Deadline"
},
2017-11-13 12:32:25 +05:30
"milestone": {
"type": "integer",
"format": "int64",
"x-go-name": "Milestone"
},
2020-12-16 00:08:10 +05:30
"ref": {
"type": "string",
"x-go-name": "Ref"
},
2017-11-13 12:32:25 +05:30
"state": {
"type": "string",
"x-go-name": "State"
},
"title": {
"type": "string",
"x-go-name": "Title"
2019-11-03 20:16:32 +05:30
},
"unset_due_date": {
"type": "boolean",
"x-go-name": "RemoveDeadline"
2017-11-13 12:32:25 +05:30
}
},
2019-05-11 15:51:34 +05:30
"x-go-package": "code.gitea.io/gitea/modules/structs"
2017-11-13 12:32:25 +05:30
},
"EditLabelOption": {
"description": "EditLabelOption options for editing a label",
"type": "object",
"properties": {
"color": {
"type": "string",
"x-go-name": "Color"
},
2019-06-16 18:09:52 +05:30
"description": {
"type": "string",
"x-go-name": "Description"
},
2017-11-13 12:32:25 +05:30
"name": {
"type": "string",
"x-go-name": "Name"
}
},
2019-05-11 15:51:34 +05:30
"x-go-package": "code.gitea.io/gitea/modules/structs"
2017-11-13 12:32:25 +05:30
},
"EditMilestoneOption": {
"description": "EditMilestoneOption options for editing a milestone",
"type": "object",
"properties": {
"description": {
"type": "string",
"x-go-name": "Description"
},
"due_on": {
"type": "string",
"format": "date-time",
"x-go-name": "Deadline"
},
"state": {
"type": "string",
"x-go-name": "State"
},
"title": {
"type": "string",
"x-go-name": "Title"
}
},
2019-05-11 15:51:34 +05:30
"x-go-package": "code.gitea.io/gitea/modules/structs"
2017-11-13 12:32:25 +05:30
},
"EditOrgOption": {
"description": "EditOrgOption options for editing an organization",
"type": "object",
"properties": {
"description": {
"type": "string",
"x-go-name": "Description"
},
"full_name": {
"type": "string",
"x-go-name": "FullName"
},
"location": {
"type": "string",
"x-go-name": "Location"
},
2019-09-24 01:38:03 +05:30
"repo_admin_change_team_access": {
"type": "boolean",
"x-go-name": "RepoAdminChangeTeamAccess"
},
2019-05-30 23:27:55 +05:30
"visibility": {
"description": "possible values are `public`, `limited` or `private`",
"type": "string",
"enum": [
"public",
"limited",
"private"
],
"x-go-name": "Visibility"
},
2017-11-13 12:32:25 +05:30
"website": {
"type": "string",
"x-go-name": "Website"
}
},
2019-05-11 15:51:34 +05:30
"x-go-package": "code.gitea.io/gitea/modules/structs"
2017-11-13 12:32:25 +05:30
},
"EditPullRequestOption": {
"description": "EditPullRequestOption options when modify pull request",
"type": "object",
"properties": {
2022-04-28 21:15:33 +05:30
"allow_maintainer_edit": {
"type": "boolean",
"x-go-name": "AllowMaintainerEdit"
},
2017-11-13 12:32:25 +05:30
"assignee": {
"type": "string",
"x-go-name": "Assignee"
},
2018-05-02 00:35:28 +05:30
"assignees": {
"type": "array",
"items": {
"type": "string"
},
"x-go-name": "Assignees"
},
2020-06-08 00:43:40 +05:30
"base": {
"type": "string",
"x-go-name": "Base"
},
2017-11-13 12:32:25 +05:30
"body": {
"type": "string",
"x-go-name": "Body"
},
2018-05-02 00:35:28 +05:30
"due_date": {
"type": "string",
"format": "date-time",
"x-go-name": "Deadline"
},
2017-11-13 12:32:25 +05:30
"labels": {
"type": "array",
"items": {
"type": "integer",
"format": "int64"
},
"x-go-name": "Labels"
},
"milestone": {
"type": "integer",
"format": "int64",
"x-go-name": "Milestone"
},
"state": {
"type": "string",
"x-go-name": "State"
},
"title": {
"type": "string",
"x-go-name": "Title"
2019-11-03 20:16:32 +05:30
},
"unset_due_date": {
"type": "boolean",
"x-go-name": "RemoveDeadline"
2017-11-13 12:32:25 +05:30
}
},
2019-05-11 15:51:34 +05:30
"x-go-package": "code.gitea.io/gitea/modules/structs"
2017-11-13 12:32:25 +05:30
},
2019-12-08 03:34:19 +05:30
"EditReactionOption": {
"description": "EditReactionOption contain the reaction type",
"type": "object",
"properties": {
"content": {
"type": "string",
"x-go-name": "Reaction"
}
},
"x-go-package": "code.gitea.io/gitea/modules/structs"
},
2017-11-13 12:32:25 +05:30
"EditReleaseOption": {
"description": "EditReleaseOption options when editing a release",
"type": "object",
"properties": {
"body": {
"type": "string",
"x-go-name": "Note"
},
"draft": {
"type": "boolean",
"x-go-name": "IsDraft"
},
"name": {
"type": "string",
"x-go-name": "Title"
},
"prerelease": {
"type": "boolean",
"x-go-name": "IsPrerelease"
},
"tag_name": {
"type": "string",
"x-go-name": "TagName"
},
"target_commitish": {
"type": "string",
"x-go-name": "Target"
}
},
2019-05-11 15:51:34 +05:30
"x-go-package": "code.gitea.io/gitea/modules/structs"
2017-11-13 12:32:25 +05:30
},
2019-05-30 20:39:05 +05:30
"EditRepoOption": {
"description": "EditRepoOption options when editing a repository's properties",
"type": "object",
"properties": {
2021-03-04 09:11:23 +05:30
"allow_manual_merge": {
2022-09-28 03:53:58 +05:30
"description": "either `true` to allow mark pr as merged manually, or `false` to prevent it.",
2021-03-04 09:11:23 +05:30
"type": "boolean",
"x-go-name": "AllowManualMerge"
},
2019-05-30 20:39:05 +05:30
"allow_merge_commits": {
2022-09-28 03:53:58 +05:30
"description": "either `true` to allow merging pull requests with a merge commit, or `false` to prevent merging pull requests with merge commits.",
2019-05-30 20:39:05 +05:30
"type": "boolean",
"x-go-name": "AllowMerge"
},
"allow_rebase": {
2022-09-28 03:53:58 +05:30
"description": "either `true` to allow rebase-merging pull requests, or `false` to prevent rebase-merging.",
2019-05-30 20:39:05 +05:30
"type": "boolean",
"x-go-name": "AllowRebase"
},
"allow_rebase_explicit": {
2022-09-28 03:53:58 +05:30
"description": "either `true` to allow rebase with explicit merge commits (--no-ff), or `false` to prevent rebase with explicit merge commits.",
2019-05-30 20:39:05 +05:30
"type": "boolean",
"x-go-name": "AllowRebaseMerge"
},
2022-03-04 14:00:49 +05:30
"allow_rebase_update": {
2022-09-28 03:53:58 +05:30
"description": "either `true` to allow updating pull request branch by rebase, or `false` to prevent it.",
2022-03-04 14:00:49 +05:30
"type": "boolean",
"x-go-name": "AllowRebaseUpdate"
},
2019-05-30 20:39:05 +05:30
"allow_squash_merge": {
2022-09-28 03:53:58 +05:30
"description": "either `true` to allow squash-merging pull requests, or `false` to prevent squash-merging.",
2019-05-30 20:39:05 +05:30
"type": "boolean",
"x-go-name": "AllowSquash"
},
"archived": {
"description": "set to `true` to archive this repository.",
"type": "boolean",
"x-go-name": "Archived"
},
2021-03-04 09:11:23 +05:30
"autodetect_manual_merge": {
2022-09-28 03:53:58 +05:30
"description": "either `true` to enable AutodetectManualMerge, or `false` to prevent it. Note: In some special cases, misjudgments can occur.",
2021-03-04 09:11:23 +05:30
"type": "boolean",
"x-go-name": "AutodetectManualMerge"
},
2019-05-30 20:39:05 +05:30
"default_branch": {
"description": "sets the default branch for this repository.",
"type": "string",
"x-go-name": "DefaultBranch"
},
2021-07-13 04:56:25 +05:30
"default_delete_branch_after_merge": {
"description": "set to `true` to delete pr branch after merge by default",
"type": "boolean",
"x-go-name": "DefaultDeleteBranchAfterMerge"
},
2021-03-27 20:25:40 +05:30
"default_merge_style": {
2022-09-28 03:53:58 +05:30
"description": "set to a merge style to be used by this repository: \"merge\", \"rebase\", \"rebase-merge\", or \"squash\".",
2021-03-27 20:25:40 +05:30
"type": "string",
"x-go-name": "DefaultMergeStyle"
},
2019-05-30 20:39:05 +05:30
"description": {
"description": "a short description of the repository.",
"type": "string",
"x-go-name": "Description"
},
2022-04-20 13:50:53 +05:30
"enable_prune": {
"description": "enable prune - remove obsolete remote-tracking references",
"type": "boolean",
"x-go-name": "EnablePrune"
},
2019-10-02 15:00:41 +05:30
"external_tracker": {
"$ref": "#/definitions/ExternalTracker"
},
"external_wiki": {
"$ref": "#/definitions/ExternalWiki"
},
2019-05-30 20:39:05 +05:30
"has_issues": {
"description": "either `true` to enable issues for this repository or `false` to disable them.",
"type": "boolean",
"x-go-name": "HasIssues"
},
2020-08-17 08:37:38 +05:30
"has_projects": {
"description": "either `true` to enable project unit, or `false` to disable them.",
"type": "boolean",
"x-go-name": "HasProjects"
},
2019-05-30 20:39:05 +05:30
"has_pull_requests": {
"description": "either `true` to allow pull requests, or `false` to prevent pull request.",
"type": "boolean",
"x-go-name": "HasPullRequests"
},
"has_wiki": {
"description": "either `true` to enable the wiki for this repository or `false` to disable it.",
"type": "boolean",
"x-go-name": "HasWiki"
},
"ignore_whitespace_conflicts": {
2022-09-28 03:53:58 +05:30
"description": "either `true` to ignore whitespace for conflicts, or `false` to not ignore whitespace.",
2019-05-30 20:39:05 +05:30
"type": "boolean",
"x-go-name": "IgnoreWhitespaceConflicts"
},
2019-10-02 15:00:41 +05:30
"internal_tracker": {
"$ref": "#/definitions/InternalTracker"
},
2021-01-03 05:17:47 +05:30
"mirror_interval": {
"description": "set to a string like `8h30m0s` to set the mirror interval time",
"type": "string",
"x-go-name": "MirrorInterval"
},
2019-05-30 20:39:05 +05:30
"name": {
"description": "name of the repository",
"type": "string",
"uniqueItems": true,
"x-go-name": "Name"
},
"private": {
"description": "either `true` to make the repository private or `false` to make it public.\nNote: you will get a 422 error if the organization restricts changing repository visibility to organization\nowners and a non-owner tries to change the value of private.",
"type": "boolean",
"x-go-name": "Private"
},
2019-11-11 20:45:29 +05:30
"template": {
"description": "either `true` to make this repository a template or `false` to make it a normal repository",
"type": "boolean",
"x-go-name": "Template"
},
2019-05-30 20:39:05 +05:30
"website": {
"description": "a URL with more information about the repository.",
"type": "string",
"x-go-name": "Website"
}
},
"x-go-package": "code.gitea.io/gitea/modules/structs"
},
2017-11-13 12:32:25 +05:30
"EditTeamOption": {
"description": "EditTeamOption options for editing a team",
"type": "object",
"required": [
"name"
],
"properties": {
2019-11-20 16:57:49 +05:30
"can_create_org_repo": {
"type": "boolean",
"x-go-name": "CanCreateOrgRepo"
},
2017-11-13 12:32:25 +05:30
"description": {
"type": "string",
"x-go-name": "Description"
},
2019-11-06 15:07:14 +05:30
"includes_all_repositories": {
"type": "boolean",
"x-go-name": "IncludesAllRepositories"
},
2017-11-13 12:32:25 +05:30
"name": {
"type": "string",
"x-go-name": "Name"
},
"permission": {
"type": "string",
"enum": [
"read",
"write",
"admin"
],
"x-go-name": "Permission"
2018-11-11 01:15:32 +05:30
},
"units": {
"type": "array",
2019-08-26 23:43:10 +05:30
"items": {
"type": "string"
},
"x-go-name": "Units",
"example": [
2018-11-11 01:15:32 +05:30
"repo.code",
"repo.issues",
"repo.ext_issues",
"repo.wiki",
"repo.pulls",
"repo.releases",
2021-03-04 04:14:30 +05:30
"repo.projects",
2018-11-11 01:15:32 +05:30
"repo.ext_wiki"
2019-08-26 23:43:10 +05:30
]
2022-01-05 09:07:00 +05:30
},
"units_map": {
"type": "object",
"additionalProperties": {
"type": "string"
},
"x-go-name": "UnitsMap",
2022-10-06 01:56:34 +05:30
"example": {
"repo.code": "read",
"repo.ext_issues": "none",
"repo.ext_wiki": "none",
"repo.issues": "write",
"repo.projects": "none",
"repo.pulls": "owner",
"repo.releases": "none",
"repo.wiki": "admin"
}
2017-11-13 12:32:25 +05:30
}
},
2019-05-11 15:51:34 +05:30
"x-go-package": "code.gitea.io/gitea/modules/structs"
2017-11-13 12:32:25 +05:30
},
"EditUserOption": {
"description": "EditUserOption edit user options",
"type": "object",
"required": [
2020-11-20 07:26:42 +05:30
"source_id",
"login_name"
2017-11-13 12:32:25 +05:30
],
"properties": {
"active": {
"type": "boolean",
"x-go-name": "Active"
},
"admin": {
"type": "boolean",
"x-go-name": "Admin"
},
2018-08-24 05:29:47 +05:30
"allow_create_organization": {
"type": "boolean",
"x-go-name": "AllowCreateOrganization"
},
2017-11-13 12:32:25 +05:30
"allow_git_hook": {
"type": "boolean",
"x-go-name": "AllowGitHook"
},
"allow_import_local": {
"type": "boolean",
"x-go-name": "AllowImportLocal"
},
2021-05-03 00:33:15 +05:30
"description": {
"type": "string",
"x-go-name": "Description"
},
2017-11-13 12:32:25 +05:30
"email": {
"type": "string",
"format": "email",
"x-go-name": "Email"
},
"full_name": {
"type": "string",
"x-go-name": "FullName"
},
"location": {
"type": "string",
"x-go-name": "Location"
},
"login_name": {
"type": "string",
"x-go-name": "LoginName"
},
"max_repo_creation": {
"type": "integer",
"format": "int64",
"x-go-name": "MaxRepoCreation"
},
2019-02-26 00:26:47 +05:30
"must_change_password": {
"type": "boolean",
"x-go-name": "MustChangePassword"
},
2017-11-13 12:32:25 +05:30
"password": {
"type": "string",
"x-go-name": "Password"
},
2018-08-24 05:29:47 +05:30
"prohibit_login": {
"type": "boolean",
"x-go-name": "ProhibitLogin"
},
2021-02-18 13:55:35 +05:30
"restricted": {
"type": "boolean",
"x-go-name": "Restricted"
},
2017-11-13 12:32:25 +05:30
"source_id": {
"type": "integer",
"format": "int64",
"x-go-name": "SourceID"
},
2021-06-27 01:23:14 +05:30
"visibility": {
"type": "string",
"x-go-name": "Visibility"
},
2017-11-13 12:32:25 +05:30
"website": {
"type": "string",
"x-go-name": "Website"
}
},
2019-05-11 15:51:34 +05:30
"x-go-package": "code.gitea.io/gitea/modules/structs"
2017-11-13 12:32:25 +05:30
},
"Email": {
"description": "Email an email address belonging to a user",
"type": "object",
"properties": {
"email": {
"type": "string",
"format": "email",
"x-go-name": "Email"
},
"primary": {
"type": "boolean",
"x-go-name": "Primary"
},
"verified": {
"type": "boolean",
"x-go-name": "Verified"
}
},
2019-05-11 15:51:34 +05:30
"x-go-package": "code.gitea.io/gitea/modules/structs"
2017-11-13 12:32:25 +05:30
},
2019-10-02 15:00:41 +05:30
"ExternalTracker": {
"description": "ExternalTracker represents settings for external tracker",
"type": "object",
"properties": {
"external_tracker_format": {
"description": "External Issue Tracker URL Format. Use the placeholders { user}, { repo} and { index} for the username, repository name and issue index.",
"type": "string",
"x-go-name": "ExternalTrackerFormat"
},
2022-10-07 18:19:30 +05:30
"external_tracker_regexp_pattern": {
"description": "External Issue Tracker issue regular expression",
"type": "string",
"x-go-name": "ExternalTrackerRegexpPattern"
},
2019-10-02 15:00:41 +05:30
"external_tracker_style": {
2022-10-07 18:19:30 +05:30
"description": "External Issue Tracker Number Format, either `numeric`, `alphanumeric`, or `regexp`",
2019-10-02 15:00:41 +05:30
"type": "string",
"x-go-name": "ExternalTrackerStyle"
},
"external_tracker_url": {
"description": "URL of external issue tracker.",
"type": "string",
"x-go-name": "ExternalTrackerURL"
}
},
"x-go-package": "code.gitea.io/gitea/modules/structs"
},
"ExternalWiki": {
"description": "ExternalWiki represents setting for external wiki",
"type": "object",
"properties": {
"external_wiki_url": {
"description": "URL of external wiki.",
"type": "string",
"x-go-name": "ExternalWikiURL"
}
},
"x-go-package": "code.gitea.io/gitea/modules/structs"
},
2019-04-17 21:36:35 +05:30
"FileCommitResponse": {
"type": "object",
"title": "FileCommitResponse contains information generated from a Git commit for a repo's file.",
"properties": {
"author": {
"$ref": "#/definitions/CommitUser"
},
"committer": {
"$ref": "#/definitions/CommitUser"
},
2020-10-05 09:37:54 +05:30
"created": {
"type": "string",
"format": "date-time",
"x-go-name": "Created"
},
2019-04-17 21:36:35 +05:30
"html_url": {
"type": "string",
"x-go-name": "HTMLURL"
},
"message": {
"type": "string",
"x-go-name": "Message"
},
"parents": {
"type": "array",
"items": {
"$ref": "#/definitions/CommitMeta"
},
"x-go-name": "Parents"
},
"sha": {
"type": "string",
"x-go-name": "SHA"
},
"tree": {
"$ref": "#/definitions/CommitMeta"
},
"url": {
"type": "string",
"x-go-name": "URL"
}
},
2019-05-11 15:51:34 +05:30
"x-go-package": "code.gitea.io/gitea/modules/structs"
2019-04-17 21:36:35 +05:30
},
"FileDeleteResponse": {
"description": "FileDeleteResponse contains information about a repo's file that was deleted",
"type": "object",
"properties": {
"commit": {
"$ref": "#/definitions/FileCommitResponse"
},
"content": {
"x-go-name": "Content"
},
"verification": {
"$ref": "#/definitions/PayloadCommitVerification"
}
},
2019-05-11 15:51:34 +05:30
"x-go-package": "code.gitea.io/gitea/modules/structs"
2019-04-17 21:36:35 +05:30
},
"FileLinksResponse": {
"description": "FileLinksResponse contains the links for a repo's file",
"type": "object",
"properties": {
2019-06-30 02:21:10 +05:30
"git": {
2019-04-17 21:36:35 +05:30
"type": "string",
"x-go-name": "GitURL"
},
2019-06-30 02:21:10 +05:30
"html": {
2019-04-17 21:36:35 +05:30
"type": "string",
"x-go-name": "HTMLURL"
},
2019-06-30 02:21:10 +05:30
"self": {
2019-04-17 21:36:35 +05:30
"type": "string",
"x-go-name": "Self"
}
},
2019-05-11 15:51:34 +05:30
"x-go-package": "code.gitea.io/gitea/modules/structs"
2019-04-17 21:36:35 +05:30
},
"FileResponse": {
"description": "FileResponse contains information about a repo's file",
"type": "object",
"properties": {
"commit": {
"$ref": "#/definitions/FileCommitResponse"
},
"content": {
2019-06-30 02:21:10 +05:30
"$ref": "#/definitions/ContentsResponse"
2019-04-17 21:36:35 +05:30
},
"verification": {
"$ref": "#/definitions/PayloadCommitVerification"
}
},
2019-05-11 15:51:34 +05:30
"x-go-package": "code.gitea.io/gitea/modules/structs"
2019-04-17 21:36:35 +05:30
},
2017-11-13 12:32:25 +05:30
"GPGKey": {
"description": "GPGKey a user GPG key to sign commit and tag in repository",
"type": "object",
"properties": {
"can_certify": {
"type": "boolean",
"x-go-name": "CanCertify"
},
"can_encrypt_comms": {
"type": "boolean",
"x-go-name": "CanEncryptComms"
},
"can_encrypt_storage": {
"type": "boolean",
"x-go-name": "CanEncryptStorage"
},
"can_sign": {
"type": "boolean",
"x-go-name": "CanSign"
},
"created_at": {
"type": "string",
"format": "date-time",
"x-go-name": "Created"
},
"emails": {
"type": "array",
"items": {
"$ref": "#/definitions/GPGKeyEmail"
},
"x-go-name": "Emails"
},
"expires_at": {
"type": "string",
"format": "date-time",
"x-go-name": "Expires"
},
"id": {
"type": "integer",
"format": "int64",
"x-go-name": "ID"
},
"key_id": {
"type": "string",
"x-go-name": "KeyID"
},
"primary_key_id": {
"type": "string",
"x-go-name": "PrimaryKeyID"
},
"public_key": {
"type": "string",
"x-go-name": "PublicKey"
},
"subkeys": {
"type": "array",
"items": {
"$ref": "#/definitions/GPGKey"
},
"x-go-name": "SubsKey"
2021-07-13 18:58:07 +05:30
},
"verified": {
"type": "boolean",
"x-go-name": "Verified"
2017-11-13 12:32:25 +05:30
}
},
2019-05-11 15:51:34 +05:30
"x-go-package": "code.gitea.io/gitea/modules/structs"
2017-11-13 12:32:25 +05:30
},
"GPGKeyEmail": {
"description": "GPGKeyEmail an email attached to a GPGKey",
"type": "object",
"properties": {
"email": {
"type": "string",
"x-go-name": "Email"
},
"verified": {
"type": "boolean",
"x-go-name": "Verified"
}
},
2019-05-11 15:51:34 +05:30
"x-go-package": "code.gitea.io/gitea/modules/structs"
2017-11-13 12:32:25 +05:30
},
2020-09-04 23:40:15 +05:30
"GeneralAPISettings": {
"description": "GeneralAPISettings contains global api settings exposed by it",
"type": "object",
"properties": {
"default_git_trees_per_page": {
"type": "integer",
"format": "int64",
"x-go-name": "DefaultGitTreesPerPage"
},
"default_max_blob_size": {
"type": "integer",
"format": "int64",
"x-go-name": "DefaultMaxBlobSize"
},
"default_paging_num": {
"type": "integer",
"format": "int64",
"x-go-name": "DefaultPagingNum"
},
"max_response_items": {
"type": "integer",
"format": "int64",
"x-go-name": "MaxResponseItems"
}
},
"x-go-package": "code.gitea.io/gitea/modules/structs"
},
2020-09-05 13:13:06 +05:30
"GeneralAttachmentSettings": {
"description": "GeneralAttachmentSettings contains global Attachment settings exposed by API",
"type": "object",
"properties": {
"allowed_types": {
"type": "string",
"x-go-name": "AllowedTypes"
},
"enabled": {
"type": "boolean",
"x-go-name": "Enabled"
},
"max_files": {
"type": "integer",
"format": "int64",
"x-go-name": "MaxFiles"
},
"max_size": {
"type": "integer",
"format": "int64",
"x-go-name": "MaxSize"
}
},
"x-go-package": "code.gitea.io/gitea/modules/structs"
},
2020-06-10 17:35:46 +05:30
"GeneralRepoSettings": {
"description": "GeneralRepoSettings contains global repository settings exposed by API",
"type": "object",
"properties": {
"http_git_disabled": {
"type": "boolean",
"x-go-name": "HTTPGitDisabled"
},
2021-02-20 15:47:51 +05:30
"lfs_disabled": {
"type": "boolean",
"x-go-name": "LFSDisabled"
},
2020-12-21 20:09:41 +05:30
"migrations_disabled": {
"type": "boolean",
"x-go-name": "MigrationsDisabled"
},
2020-06-10 17:35:46 +05:30
"mirrors_disabled": {
"type": "boolean",
"x-go-name": "MirrorsDisabled"
2021-02-20 15:47:51 +05:30
},
2021-04-15 22:23:57 +05:30
"stars_disabled": {
"type": "boolean",
"x-go-name": "StarsDisabled"
},
2021-02-20 15:47:51 +05:30
"time_tracking_disabled": {
"type": "boolean",
"x-go-name": "TimeTrackingDisabled"
2020-06-10 17:35:46 +05:30
}
},
"x-go-package": "code.gitea.io/gitea/modules/structs"
},
2020-06-22 23:51:31 +05:30
"GeneralUISettings": {
"description": "GeneralUISettings contains global ui settings exposed by API",
"type": "object",
"properties": {
"allowed_reactions": {
"type": "array",
"items": {
"type": "string"
},
"x-go-name": "AllowedReactions"
2020-12-03 18:23:21 +05:30
},
2021-06-29 19:58:38 +05:30
"custom_emojis": {
"type": "array",
"items": {
"type": "string"
},
"x-go-name": "CustomEmojis"
},
2020-12-03 18:23:21 +05:30
"default_theme": {
"type": "string",
"x-go-name": "DefaultTheme"
2020-06-22 23:51:31 +05:30
}
},
"x-go-package": "code.gitea.io/gitea/modules/structs"
},
2021-07-05 20:59:08 +05:30
"GenerateRepoOption": {
"description": "GenerateRepoOption options when creating repository using a template",
"type": "object",
"required": [
"owner",
"name"
],
"properties": {
"avatar": {
"description": "include avatar of the template repo",
"type": "boolean",
"x-go-name": "Avatar"
},
2022-03-27 08:26:28 +05:30
"default_branch": {
"description": "Default branch of the new repository",
"type": "string",
"x-go-name": "DefaultBranch"
},
2021-07-05 20:59:08 +05:30
"description": {
"description": "Description of the repository to create",
"type": "string",
"x-go-name": "Description"
},
"git_content": {
"description": "include git content of default branch in template repo",
"type": "boolean",
"x-go-name": "GitContent"
},
"git_hooks": {
"description": "include git hooks in template repo",
"type": "boolean",
"x-go-name": "GitHooks"
},
"labels": {
"description": "include labels in template repo",
"type": "boolean",
"x-go-name": "Labels"
},
"name": {
"description": "Name of the repository to create",
"type": "string",
"uniqueItems": true,
"x-go-name": "Name"
},
"owner": {
"description": "The organization or person who will own the new repository",
"type": "string",
"x-go-name": "Owner"
},
"private": {
"description": "Whether the repository is private",
"type": "boolean",
"x-go-name": "Private"
},
"topics": {
"description": "include topics in template repo",
"type": "boolean",
"x-go-name": "Topics"
},
"webhooks": {
"description": "include webhooks in template repo",
"type": "boolean",
"x-go-name": "Webhooks"
}
},
"x-go-package": "code.gitea.io/gitea/modules/structs"
},
2019-04-17 21:36:35 +05:30
"GitBlobResponse": {
"description": "GitBlobResponse represents a git blob",
"type": "object",
"properties": {
"content": {
"type": "string",
"x-go-name": "Content"
},
"encoding": {
"type": "string",
"x-go-name": "Encoding"
},
"sha": {
"type": "string",
"x-go-name": "SHA"
},
"size": {
"type": "integer",
"format": "int64",
"x-go-name": "Size"
},
"url": {
"type": "string",
"x-go-name": "URL"
}
},
2019-05-11 15:51:34 +05:30
"x-go-package": "code.gitea.io/gitea/modules/structs"
2019-04-17 21:36:35 +05:30
},
2019-01-24 23:43:30 +05:30
"GitEntry": {
"description": "GitEntry represents a git tree",
"type": "object",
"properties": {
"mode": {
"type": "string",
"x-go-name": "Mode"
},
"path": {
"type": "string",
"x-go-name": "Path"
},
"sha": {
"type": "string",
"x-go-name": "SHA"
},
"size": {
"type": "integer",
"format": "int64",
"x-go-name": "Size"
},
"type": {
"type": "string",
"x-go-name": "Type"
},
"url": {
"type": "string",
"x-go-name": "URL"
}
},
2019-05-11 15:51:34 +05:30
"x-go-package": "code.gitea.io/gitea/modules/structs"
2019-01-24 23:43:30 +05:30
},
2019-04-17 11:01:08 +05:30
"GitHook": {
"description": "GitHook represents a Git repository hook",
"type": "object",
"properties": {
"content": {
"type": "string",
"x-go-name": "Content"
},
"is_active": {
"type": "boolean",
"x-go-name": "IsActive"
},
"name": {
"type": "string",
"x-go-name": "Name"
}
},
2019-05-11 15:51:34 +05:30
"x-go-package": "code.gitea.io/gitea/modules/structs"
2019-04-17 11:01:08 +05:30
},
2018-11-28 03:22:20 +05:30
"GitObject": {
"type": "object",
"title": "GitObject represents a Git object.",
"properties": {
"sha": {
"type": "string",
"x-go-name": "SHA"
},
"type": {
"type": "string",
"x-go-name": "Type"
},
"url": {
"type": "string",
"x-go-name": "URL"
}
},
2019-05-11 15:51:34 +05:30
"x-go-package": "code.gitea.io/gitea/modules/structs"
2018-11-28 03:22:20 +05:30
},
2019-01-24 23:43:30 +05:30
"GitTreeResponse": {
"description": "GitTreeResponse returns a git tree",
"type": "object",
"properties": {
2019-02-06 23:49:26 +05:30
"page": {
"type": "integer",
"format": "int64",
"x-go-name": "Page"
},
2019-01-24 23:43:30 +05:30
"sha": {
"type": "string",
"x-go-name": "SHA"
},
2019-02-06 23:49:26 +05:30
"total_count": {
"type": "integer",
"format": "int64",
"x-go-name": "TotalCount"
},
2019-01-24 23:43:30 +05:30
"tree": {
"type": "array",
"items": {
"$ref": "#/definitions/GitEntry"
},
"x-go-name": "Entries"
},
"truncated": {
"type": "boolean",
"x-go-name": "Truncated"
},
"url": {
"type": "string",
"x-go-name": "URL"
}
},
2019-05-11 15:51:34 +05:30
"x-go-package": "code.gitea.io/gitea/modules/structs"
2019-01-24 23:43:30 +05:30
},
2019-03-27 01:11:17 +05:30
"Hook": {
"description": "Hook a hook is a web hook when one repository changed",
"type": "object",
"properties": {
"active": {
"type": "boolean",
"x-go-name": "Active"
},
2022-11-03 23:53:20 +05:30
"authorization_header": {
"type": "string",
"x-go-name": "AuthorizationHeader"
},
2019-03-27 01:11:17 +05:30
"config": {
"type": "object",
"additionalProperties": {
"type": "string"
},
"x-go-name": "Config"
},
"created_at": {
"type": "string",
"format": "date-time",
"x-go-name": "Created"
},
"events": {
"type": "array",
"items": {
"type": "string"
},
"x-go-name": "Events"
},
"id": {
"type": "integer",
"format": "int64",
"x-go-name": "ID"
},
"type": {
"type": "string",
"x-go-name": "Type"
},
"updated_at": {
"type": "string",
"format": "date-time",
"x-go-name": "Updated"
}
},
2019-05-11 15:51:34 +05:30
"x-go-package": "code.gitea.io/gitea/modules/structs"
2019-03-27 01:11:17 +05:30
},
2019-04-17 21:36:35 +05:30
"Identity": {
"description": "Identity for a person's identity like an author or committer",
"type": "object",
"properties": {
"email": {
"type": "string",
"format": "email",
"x-go-name": "Email"
},
"name": {
"type": "string",
"x-go-name": "Name"
}
},
2019-05-11 15:51:34 +05:30
"x-go-package": "code.gitea.io/gitea/modules/structs"
2019-04-17 21:36:35 +05:30
},
2019-10-02 15:00:41 +05:30
"InternalTracker": {
"description": "InternalTracker represents settings for internal tracker",
"type": "object",
"properties": {
"allow_only_contributors_to_track_time": {
"description": "Let only contributors track time (Built-in issue tracker)",
"type": "boolean",
"x-go-name": "AllowOnlyContributorsToTrackTime"
},
"enable_issue_dependencies": {
"description": "Enable dependencies for issues and pull requests (Built-in issue tracker)",
"type": "boolean",
"x-go-name": "EnableIssueDependencies"
},
"enable_time_tracker": {
"description": "Enable time tracking (Built-in issue tracker)",
"type": "boolean",
"x-go-name": "EnableTimeTracker"
}
},
"x-go-package": "code.gitea.io/gitea/modules/structs"
},
2017-11-13 12:32:25 +05:30
"Issue": {
"description": "Issue represents an issue in a repository",
"type": "object",
"properties": {
"assignee": {
"$ref": "#/definitions/User"
},
2018-05-02 00:35:28 +05:30
"assignees": {
"type": "array",
"items": {
"$ref": "#/definitions/User"
},
"x-go-name": "Assignees"
},
2017-11-13 12:32:25 +05:30
"body": {
"type": "string",
"x-go-name": "Body"
},
2018-05-02 00:35:28 +05:30
"closed_at": {
"type": "string",
"format": "date-time",
"x-go-name": "Closed"
},
2017-11-13 12:32:25 +05:30
"comments": {
"type": "integer",
"format": "int64",
"x-go-name": "Comments"
},
"created_at": {
"type": "string",
"format": "date-time",
"x-go-name": "Created"
},
2018-05-02 00:35:28 +05:30
"due_date": {
"type": "string",
"format": "date-time",
"x-go-name": "Deadline"
},
2020-01-09 04:40:34 +05:30
"html_url": {
"type": "string",
"x-go-name": "HTMLURL"
},
2017-11-13 12:32:25 +05:30
"id": {
"type": "integer",
"format": "int64",
"x-go-name": "ID"
},
2020-06-02 02:31:55 +05:30
"is_locked": {
"type": "boolean",
"x-go-name": "IsLocked"
},
2017-11-13 12:32:25 +05:30
"labels": {
"type": "array",
"items": {
"$ref": "#/definitions/Label"
},
"x-go-name": "Labels"
},
"milestone": {
"$ref": "#/definitions/Milestone"
},
"number": {
"type": "integer",
"format": "int64",
"x-go-name": "Index"
},
2019-07-08 07:44:12 +05:30
"original_author": {
"type": "string",
"x-go-name": "OriginalAuthor"
},
"original_author_id": {
"type": "integer",
"format": "int64",
"x-go-name": "OriginalAuthorID"
},
2017-11-13 12:32:25 +05:30
"pull_request": {
"$ref": "#/definitions/PullRequestMeta"
},
2020-12-13 17:04:11 +05:30
"ref": {
"type": "string",
"x-go-name": "Ref"
},
Allow cross-repository dependencies on issues (#7901)
* in progress changes for #7405, added ability to add cross-repo dependencies
* removed unused repolink var
* fixed query that was breaking ci tests; fixed check in issue dependency add so that the id of the issue and dependency is checked rather than the indexes
* reverted removal of string in local files becasue these are done via crowdin, not updated manually
* removed 'Select("issue.*")' from getBlockedByDependencies and getBlockingDependencies based on comments in PR review
* changed getBlockedByDependencies and getBlockingDependencies to use a more xorm-like query, also updated the sidebar as a result
* simplified the getBlockingDependencies and getBlockedByDependencies methods; changed the sidebar to show the dependencies in a different format where you can see the name of the repository
* made some changes to the issue view in the dependencies (issue name on top, repo full name on separate line). Change view of issue in the dependency search results (also showing the full repo name on separate line)
* replace call to FindUserAccessibleRepoIDs with SearchRepositoryByName. The former was hardcoded to use isPrivate = false on the repo search, but this code needed it to be true. The SearchRepositoryByName method is used more in the code including on the user's dashboard
* some more tweaks to the layout of the issues when showing dependencies and in the search box when you add new dependencies
* added Name to the RepositoryMeta struct
* updated swagger doc
* fixed total count for link header on SearchIssues
* fixed indentation
* fixed aligment of remove icon on dependencies in issue sidebar
* removed unnecessary nil check (unnecessary because issue.loadRepo is called prior to this block)
* reverting .css change, somehow missed or forgot that less is used
* updated less file and generated css; updated sidebar template with styles to line up delete and issue index
* added ordering to the blocked by/depends on queries
* fixed sorting in issue dependency search and the depends on/blocks views to show issues from the current repo first, then by created date descending; added a "all cross repository dependencies" setting to allow this feature to be turned off, if turned off, the issue dependency search will work the way it did before (restricted to the current repository)
* re-applied my swagger changes after merge
* fixed split string condition in issue search
* changed ALLOW_CROSS_REPOSITORY_DEPENDENCIES description to sound more global than just the issue dependency search; returning 400 in the cross repo issue search api method if not enabled; fixed bug where the issue count did not respect the state parameter
* when adding a dependency to an issue, added a check to make sure the issue and dependency are in the same repo if cross repo dependencies is not enabled
* updated sortIssuesSession call in PullRequests, another commit moved this method from pull.go to pull_list.go so I had to re-apply my change here
* fixed incorrect setting of user id parameter in search repos call
2019-10-31 10:36:10 +05:30
"repository": {
"$ref": "#/definitions/RepositoryMeta"
},
2017-11-13 12:32:25 +05:30
"state": {
"$ref": "#/definitions/StateType"
},
"title": {
"type": "string",
"x-go-name": "Title"
},
"updated_at": {
"type": "string",
"format": "date-time",
"x-go-name": "Updated"
},
"url": {
"type": "string",
"x-go-name": "URL"
},
"user": {
"$ref": "#/definitions/User"
}
},
2019-05-11 15:51:34 +05:30
"x-go-package": "code.gitea.io/gitea/modules/structs"
2017-11-13 12:32:25 +05:30
},
2018-07-16 18:13:00 +05:30
"IssueDeadline": {
"description": "IssueDeadline represents an issue deadline",
"type": "object",
"properties": {
"due_date": {
"type": "string",
"format": "date-time",
"x-go-name": "Deadline"
}
},
2019-05-11 15:51:34 +05:30
"x-go-package": "code.gitea.io/gitea/modules/structs"
2018-07-16 18:13:00 +05:30
},
2022-09-02 13:28:49 +05:30
"IssueFormField": {
"description": "IssueFormField represents a form field",
"type": "object",
"properties": {
"attributes": {
"type": "object",
"additionalProperties": { },
"x-go-name": "Attributes"
},
"id": {
"type": "string",
"x-go-name": "ID"
},
"type": {
"$ref": "#/definitions/IssueFormFieldType"
},
"validations": {
"type": "object",
"additionalProperties": { },
"x-go-name": "Validations"
}
},
"x-go-package": "code.gitea.io/gitea/modules/structs"
},
"IssueFormFieldType": {
"type": "string",
"title": "IssueFormFieldType defines issue form field type, can be \"markdown\", \"textarea\", \"input\", \"dropdown\" or \"checkboxes\"",
"x-go-package": "code.gitea.io/gitea/modules/structs"
},
2017-11-13 12:32:25 +05:30
"IssueLabelsOption": {
"description": "IssueLabelsOption a collection of labels",
"type": "object",
"properties": {
"labels": {
"description": "list of label IDs",
"type": "array",
"items": {
"type": "integer",
"format": "int64"
},
"x-go-name": "Labels"
}
},
2019-05-11 15:51:34 +05:30
"x-go-package": "code.gitea.io/gitea/modules/structs"
2017-11-13 12:32:25 +05:30
},
2020-09-11 20:18:39 +05:30
"IssueTemplate": {
"description": "IssueTemplate represents an issue template for a repository",
"type": "object",
"properties": {
"about": {
"type": "string",
"x-go-name": "About"
},
2022-09-02 13:28:49 +05:30
"body": {
"type": "array",
"items": {
"$ref": "#/definitions/IssueFormField"
},
"x-go-name": "Fields"
},
2020-09-11 20:18:39 +05:30
"content": {
"type": "string",
"x-go-name": "Content"
},
"file_name": {
"type": "string",
"x-go-name": "FileName"
},
"labels": {
"type": "array",
"items": {
"type": "string"
},
"x-go-name": "Labels"
},
"name": {
"type": "string",
"x-go-name": "Name"
},
2021-12-18 02:59:09 +05:30
"ref": {
"type": "string",
"x-go-name": "Ref"
},
2020-09-11 20:18:39 +05:30
"title": {
"type": "string",
"x-go-name": "Title"
}
},
"x-go-package": "code.gitea.io/gitea/modules/structs"
},
2017-11-13 12:32:25 +05:30
"Label": {
"description": "Label a label to an issue or a pr",
"type": "object",
"properties": {
"color": {
"type": "string",
"x-go-name": "Color",
"example": "00aabb"
},
2019-06-16 18:09:52 +05:30
"description": {
"type": "string",
"x-go-name": "Description"
},
2017-11-13 12:32:25 +05:30
"id": {
"type": "integer",
"format": "int64",
"x-go-name": "ID"
},
"name": {
"type": "string",
"x-go-name": "Name"
},
"url": {
"type": "string",
"x-go-name": "URL"
}
},
2019-05-11 15:51:34 +05:30
"x-go-package": "code.gitea.io/gitea/modules/structs"
2017-11-13 12:32:25 +05:30
},
"MarkdownOption": {
"description": "MarkdownOption markdown options",
"type": "object",
"properties": {
"Context": {
"description": "Context to render\n\nin: body",
"type": "string"
},
"Mode": {
"description": "Mode to render\n\nin: body",
"type": "string"
},
"Text": {
"description": "Text markdown to render\n\nin: body",
"type": "string"
},
"Wiki": {
"description": "Is it a wiki page ?\n\nin: body",
"type": "boolean"
}
},
2019-05-11 15:51:34 +05:30
"x-go-package": "code.gitea.io/gitea/modules/structs"
2017-11-13 12:32:25 +05:30
},
2019-02-08 13:38:38 +05:30
"MergePullRequestOption": {
"description": "MergePullRequestForm form for merging Pull Request",
"type": "object",
"required": [
"Do"
],
"properties": {
"Do": {
"type": "string",
"enum": [
"merge",
2019-02-09 18:18:28 +05:30
"rebase",
"rebase-merge",
2021-03-04 09:11:23 +05:30
"squash",
"manually-merged"
2019-02-08 13:38:38 +05:30
]
},
2021-03-04 09:11:23 +05:30
"MergeCommitID": {
"type": "string"
},
2019-02-08 13:38:38 +05:30
"MergeMessageField": {
"type": "string"
},
"MergeTitleField": {
"type": "string"
2020-01-11 12:59:34 +05:30
},
2021-07-13 04:56:25 +05:30
"delete_branch_after_merge": {
"type": "boolean",
"x-go-name": "DeleteBranchAfterMerge"
},
2020-01-11 12:59:34 +05:30
"force_merge": {
"type": "boolean",
"x-go-name": "ForceMerge"
2021-12-20 06:02:54 +05:30
},
"head_commit_id": {
"type": "string",
"x-go-name": "HeadCommitID"
2022-05-07 22:35:52 +05:30
},
"merge_when_checks_succeed": {
"type": "boolean",
"x-go-name": "MergeWhenChecksSucceed"
2019-02-08 13:38:38 +05:30
}
},
"x-go-name": "MergePullRequestForm",
2021-04-07 01:14:05 +05:30
"x-go-package": "code.gitea.io/gitea/services/forms"
2019-02-08 13:38:38 +05:30
},
2020-09-11 03:59:19 +05:30
"MigrateRepoOptions": {
"description": "MigrateRepoOptions options for migrating repository's\nthis is used to interact with api v1",
"type": "object",
"required": [
"clone_addr",
"repo_name"
],
"properties": {
"auth_password": {
"type": "string",
"x-go-name": "AuthPassword"
},
"auth_token": {
"type": "string",
"x-go-name": "AuthToken"
},
"auth_username": {
"type": "string",
"x-go-name": "AuthUsername"
},
"clone_addr": {
"type": "string",
"x-go-name": "CloneAddr"
},
"description": {
"type": "string",
"x-go-name": "Description"
},
"issues": {
"type": "boolean",
"x-go-name": "Issues"
},
"labels": {
"type": "boolean",
"x-go-name": "Labels"
},
2021-04-09 03:55:57 +05:30
"lfs": {
"type": "boolean",
"x-go-name": "LFS"
},
"lfs_endpoint": {
"type": "string",
"x-go-name": "LFSEndpoint"
},
2020-09-11 03:59:19 +05:30
"milestones": {
"type": "boolean",
"x-go-name": "Milestones"
},
"mirror": {
"type": "boolean",
"x-go-name": "Mirror"
},
2021-01-03 05:17:47 +05:30
"mirror_interval": {
"type": "string",
"x-go-name": "MirrorInterval"
},
2020-09-11 03:59:19 +05:30
"private": {
"type": "boolean",
"x-go-name": "Private"
},
"pull_requests": {
"type": "boolean",
"x-go-name": "PullRequests"
},
"releases": {
"type": "boolean",
"x-go-name": "Releases"
},
"repo_name": {
"type": "string",
"x-go-name": "RepoName"
},
"repo_owner": {
"description": "Name of User or Organisation who will own Repo after migration",
"type": "string",
"x-go-name": "RepoOwner"
},
"service": {
"type": "string",
"enum": [
"git",
"github",
"gitea",
"gitlab"
],
"x-go-name": "Service"
},
"uid": {
"description": "deprecated (only for backwards compatibility)",
"type": "integer",
"format": "int64",
"x-go-name": "RepoOwnerID"
},
"wiki": {
"type": "boolean",
"x-go-name": "Wiki"
}
},
"x-go-package": "code.gitea.io/gitea/modules/structs"
},
2017-11-13 12:32:25 +05:30
"Milestone": {
"description": "Milestone milestone is a collection of issues on one repository",
"type": "object",
"properties": {
"closed_at": {
"type": "string",
"format": "date-time",
"x-go-name": "Closed"
},
"closed_issues": {
"type": "integer",
"format": "int64",
"x-go-name": "ClosedIssues"
},
2020-09-05 23:08:54 +05:30
"created_at": {
"type": "string",
"format": "date-time",
"x-go-name": "Created"
},
2017-11-13 12:32:25 +05:30
"description": {
"type": "string",
"x-go-name": "Description"
},
"due_on": {
"type": "string",
"format": "date-time",
"x-go-name": "Deadline"
},
"id": {
"type": "integer",
"format": "int64",
"x-go-name": "ID"
},
"open_issues": {
"type": "integer",
"format": "int64",
"x-go-name": "OpenIssues"
},
"state": {
"$ref": "#/definitions/StateType"
},
"title": {
"type": "string",
"x-go-name": "Title"
2020-09-05 23:08:54 +05:30
},
"updated_at": {
"type": "string",
"format": "date-time",
"x-go-name": "Updated"
2017-11-13 12:32:25 +05:30
}
},
2019-05-11 15:51:34 +05:30
"x-go-package": "code.gitea.io/gitea/modules/structs"
2017-11-13 12:32:25 +05:30
},
2021-09-28 05:08:06 +05:30
"NodeInfo": {
"description": "NodeInfo contains standardized way of exposing metadata about a server running one of the distributed social networks",
"type": "object",
"properties": {
"metadata": {
"type": "object",
"x-go-name": "Metadata"
},
"openRegistrations": {
"type": "boolean",
"x-go-name": "OpenRegistrations"
},
"protocols": {
"type": "array",
"items": {
"type": "string"
},
"x-go-name": "Protocols"
},
"services": {
"$ref": "#/definitions/NodeInfoServices"
},
"software": {
"$ref": "#/definitions/NodeInfoSoftware"
},
"usage": {
"$ref": "#/definitions/NodeInfoUsage"
},
"version": {
"type": "string",
"x-go-name": "Version"
}
},
"x-go-package": "code.gitea.io/gitea/modules/structs"
},
"NodeInfoServices": {
"description": "NodeInfoServices contains the third party sites this server can connect to via their application API",
"type": "object",
"properties": {
"inbound": {
"type": "array",
"items": {
"type": "string"
},
"x-go-name": "Inbound"
},
"outbound": {
"type": "array",
"items": {
"type": "string"
},
"x-go-name": "Outbound"
}
},
"x-go-package": "code.gitea.io/gitea/modules/structs"
},
"NodeInfoSoftware": {
"description": "NodeInfoSoftware contains Metadata about server software in use",
"type": "object",
"properties": {
"homepage": {
"type": "string",
"x-go-name": "Homepage"
},
"name": {
"type": "string",
"x-go-name": "Name"
},
"repository": {
"type": "string",
"x-go-name": "Repository"
},
"version": {
"type": "string",
"x-go-name": "Version"
}
},
"x-go-package": "code.gitea.io/gitea/modules/structs"
},
"NodeInfoUsage": {
"description": "NodeInfoUsage contains usage statistics for this server",
"type": "object",
"properties": {
"localComments": {
"type": "integer",
"format": "int64",
"x-go-name": "LocalComments"
},
"localPosts": {
"type": "integer",
"format": "int64",
"x-go-name": "LocalPosts"
},
"users": {
"$ref": "#/definitions/NodeInfoUsageUsers"
}
},
"x-go-package": "code.gitea.io/gitea/modules/structs"
},
"NodeInfoUsageUsers": {
"description": "NodeInfoUsageUsers contains statistics about the users of this server",
"type": "object",
"properties": {
"activeHalfyear": {
"type": "integer",
"format": "int64",
"x-go-name": "ActiveHalfyear"
},
"activeMonth": {
"type": "integer",
"format": "int64",
"x-go-name": "ActiveMonth"
},
"total": {
"type": "integer",
"format": "int64",
"x-go-name": "Total"
}
},
"x-go-package": "code.gitea.io/gitea/modules/structs"
},
2021-08-11 06:31:40 +05:30
"Note": {
"description": "Note contains information related to a git note",
"type": "object",
"properties": {
"commit": {
"$ref": "#/definitions/Commit"
},
"message": {
"type": "string",
"x-go-name": "Message"
}
},
"x-go-package": "code.gitea.io/gitea/modules/structs"
},
2020-01-14 21:07:19 +05:30
"NotificationCount": {
"description": "NotificationCount number of unread notifications",
"type": "object",
"properties": {
"new": {
"type": "integer",
"format": "int64",
"x-go-name": "New"
}
},
"x-go-package": "code.gitea.io/gitea/modules/structs"
},
2020-01-09 17:26:32 +05:30
"NotificationSubject": {
"description": "NotificationSubject contains the notification subject (Issue/Pull/Commit)",
"type": "object",
"properties": {
2021-09-30 09:47:39 +05:30
"html_url": {
"type": "string",
"x-go-name": "HTMLURL"
},
"latest_comment_html_url": {
"type": "string",
"x-go-name": "LatestCommentHTMLURL"
},
2020-01-09 17:26:32 +05:30
"latest_comment_url": {
"type": "string",
"x-go-name": "LatestCommentURL"
},
2020-09-21 04:40:53 +05:30
"state": {
"$ref": "#/definitions/StateType"
},
2020-01-09 17:26:32 +05:30
"title": {
"type": "string",
"x-go-name": "Title"
},
"type": {
2021-07-01 16:21:24 +05:30
"$ref": "#/definitions/NotifySubjectType"
2020-01-09 17:26:32 +05:30
},
"url": {
"type": "string",
"x-go-name": "URL"
}
},
"x-go-package": "code.gitea.io/gitea/modules/structs"
},
"NotificationThread": {
"description": "NotificationThread expose Notification on API",
"type": "object",
"properties": {
"id": {
"type": "integer",
"format": "int64",
"x-go-name": "ID"
},
"pinned": {
"type": "boolean",
"x-go-name": "Pinned"
},
"repository": {
"$ref": "#/definitions/Repository"
},
"subject": {
"$ref": "#/definitions/NotificationSubject"
},
"unread": {
"type": "boolean",
"x-go-name": "Unread"
},
"updated_at": {
"type": "string",
"format": "date-time",
"x-go-name": "UpdatedAt"
},
"url": {
"type": "string",
"x-go-name": "URL"
}
},
"x-go-package": "code.gitea.io/gitea/modules/structs"
},
2021-07-01 16:21:24 +05:30
"NotifySubjectType": {
"description": "NotifySubjectType represent type of notification subject",
"type": "string",
"x-go-package": "code.gitea.io/gitea/modules/structs"
},
2020-02-29 11:49:32 +05:30
"OAuth2Application": {
"type": "object",
"title": "OAuth2Application represents an OAuth2 application.",
"properties": {
"client_id": {
"type": "string",
"x-go-name": "ClientID"
},
"client_secret": {
"type": "string",
"x-go-name": "ClientSecret"
},
2022-10-24 13:29:24 +05:30
"confidential_client": {
"type": "boolean",
"x-go-name": "ConfidentialClient"
},
2020-02-29 11:49:32 +05:30
"created": {
"type": "string",
"format": "date-time",
"x-go-name": "Created"
},
"id": {
"type": "integer",
"format": "int64",
"x-go-name": "ID"
},
"name": {
"type": "string",
"x-go-name": "Name"
},
"redirect_uris": {
"type": "array",
"items": {
"type": "string"
},
"x-go-name": "RedirectURIs"
}
},
"x-go-package": "code.gitea.io/gitea/modules/structs"
},
2017-11-13 12:32:25 +05:30
"Organization": {
"description": "Organization represents an organization",
"type": "object",
"properties": {
"avatar_url": {
"type": "string",
"x-go-name": "AvatarURL"
},
"description": {
"type": "string",
"x-go-name": "Description"
},
"full_name": {
"type": "string",
"x-go-name": "FullName"
},
"id": {
"type": "integer",
"format": "int64",
"x-go-name": "ID"
},
"location": {
"type": "string",
"x-go-name": "Location"
},
2022-09-29 08:57:33 +05:30
"name": {
"type": "string",
"x-go-name": "Name"
},
2019-09-24 01:38:03 +05:30
"repo_admin_change_team_access": {
"type": "boolean",
"x-go-name": "RepoAdminChangeTeamAccess"
},
2017-11-13 12:32:25 +05:30
"username": {
2022-09-29 08:57:33 +05:30
"description": "deprecated",
2017-11-13 12:32:25 +05:30
"type": "string",
"x-go-name": "UserName"
},
2019-05-11 02:19:29 +05:30
"visibility": {
2019-05-30 23:27:55 +05:30
"type": "string",
"x-go-name": "Visibility"
2019-05-11 02:19:29 +05:30
},
2017-11-13 12:32:25 +05:30
"website": {
"type": "string",
"x-go-name": "Website"
}
},
2019-05-11 15:51:34 +05:30
"x-go-package": "code.gitea.io/gitea/modules/structs"
2017-11-13 12:32:25 +05:30
},
2021-10-12 16:17:19 +05:30
"OrganizationPermissions": {
2022-01-10 15:02:37 +05:30
"description": "OrganizationPermissions list different users permissions on an organization",
2021-10-12 16:17:19 +05:30
"type": "object",
"properties": {
"can_create_repository": {
"type": "boolean",
"x-go-name": "CanCreateRepository"
},
"can_read": {
"type": "boolean",
"x-go-name": "CanRead"
},
"can_write": {
"type": "boolean",
"x-go-name": "CanWrite"
},
"is_admin": {
"type": "boolean",
"x-go-name": "IsAdmin"
},
"is_owner": {
"type": "boolean",
"x-go-name": "IsOwner"
}
},
"x-go-package": "code.gitea.io/gitea/modules/structs"
},
2017-11-13 12:32:25 +05:30
"PRBranchInfo": {
"description": "PRBranchInfo information about a branch",
"type": "object",
"properties": {
"label": {
"type": "string",
"x-go-name": "Name"
},
"ref": {
"type": "string",
"x-go-name": "Ref"
},
"repo": {
"$ref": "#/definitions/Repository"
},
"repo_id": {
"type": "integer",
"format": "int64",
"x-go-name": "RepoID"
},
"sha": {
"type": "string",
"x-go-name": "Sha"
}
},
2019-05-11 15:51:34 +05:30
"x-go-package": "code.gitea.io/gitea/modules/structs"
2017-11-13 12:32:25 +05:30
},
2022-03-30 14:12:47 +05:30
"Package": {
"description": "Package represents a package",
"type": "object",
"properties": {
"created_at": {
"type": "string",
"format": "date-time",
"x-go-name": "CreatedAt"
},
"creator": {
"$ref": "#/definitions/User"
},
"id": {
"type": "integer",
"format": "int64",
"x-go-name": "ID"
},
"name": {
"type": "string",
"x-go-name": "Name"
},
"owner": {
"$ref": "#/definitions/User"
},
"repository": {
"$ref": "#/definitions/Repository"
},
"type": {
"type": "string",
"x-go-name": "Type"
},
"version": {
"type": "string",
"x-go-name": "Version"
}
},
"x-go-package": "code.gitea.io/gitea/modules/structs"
},
"PackageFile": {
"description": "PackageFile represents a package file",
"type": "object",
"properties": {
"Size": {
"type": "integer",
"format": "int64"
},
"id": {
"type": "integer",
"format": "int64",
"x-go-name": "ID"
},
"md5": {
"type": "string",
"x-go-name": "HashMD5"
},
"name": {
"type": "string",
"x-go-name": "Name"
},
"sha1": {
"type": "string",
"x-go-name": "HashSHA1"
},
"sha256": {
"type": "string",
"x-go-name": "HashSHA256"
},
"sha512": {
"type": "string",
"x-go-name": "HashSHA512"
}
},
"x-go-package": "code.gitea.io/gitea/modules/structs"
},
2017-11-13 12:32:25 +05:30
"PayloadCommit": {
"description": "PayloadCommit represents a commit",
"type": "object",
"properties": {
2019-01-30 22:03:00 +05:30
"added": {
"type": "array",
"items": {
"type": "string"
},
"x-go-name": "Added"
},
2017-11-13 12:32:25 +05:30
"author": {
"$ref": "#/definitions/PayloadUser"
},
"committer": {
"$ref": "#/definitions/PayloadUser"
},
"id": {
"description": "sha1 hash of the commit",
"type": "string",
"x-go-name": "ID"
},
"message": {
"type": "string",
"x-go-name": "Message"
},
2019-01-30 22:03:00 +05:30
"modified": {
"type": "array",
"items": {
"type": "string"
},
"x-go-name": "Modified"
},
"removed": {
"type": "array",
"items": {
"type": "string"
},
"x-go-name": "Removed"
},
2017-11-13 12:32:25 +05:30
"timestamp": {
"type": "string",
"format": "date-time",
"x-go-name": "Timestamp"
},
"url": {
"type": "string",
"x-go-name": "URL"
},
"verification": {
"$ref": "#/definitions/PayloadCommitVerification"
}
},
2019-05-11 15:51:34 +05:30
"x-go-package": "code.gitea.io/gitea/modules/structs"
2017-11-13 12:32:25 +05:30
},
"PayloadCommitVerification": {
"description": "PayloadCommitVerification represents the GPG verification of a commit",
"type": "object",
"properties": {
"payload": {
"type": "string",
"x-go-name": "Payload"
},
"reason": {
"type": "string",
"x-go-name": "Reason"
},
"signature": {
"type": "string",
"x-go-name": "Signature"
},
2019-10-16 19:12:42 +05:30
"signer": {
"$ref": "#/definitions/PayloadUser"
},
2017-11-13 12:32:25 +05:30
"verified": {
"type": "boolean",
"x-go-name": "Verified"
}
},
2019-05-11 15:51:34 +05:30
"x-go-package": "code.gitea.io/gitea/modules/structs"
2017-11-13 12:32:25 +05:30
},
"PayloadUser": {
"description": "PayloadUser represents the author or committer of a commit",
"type": "object",
"properties": {
"email": {
"type": "string",
"format": "email",
"x-go-name": "Email"
},
"name": {
"description": "Full name of the commit author",
"type": "string",
"x-go-name": "Name"
},
"username": {
"type": "string",
"x-go-name": "UserName"
}
},
2019-05-11 15:51:34 +05:30
"x-go-package": "code.gitea.io/gitea/modules/structs"
2017-11-13 12:32:25 +05:30
},
"Permission": {
"description": "Permission represents a set of permissions",
"type": "object",
"properties": {
"admin": {
"type": "boolean",
"x-go-name": "Admin"
},
"pull": {
"type": "boolean",
"x-go-name": "Pull"
},
"push": {
"type": "boolean",
"x-go-name": "Push"
}
},
2019-05-11 15:51:34 +05:30
"x-go-package": "code.gitea.io/gitea/modules/structs"
2017-11-13 12:32:25 +05:30
},
"PublicKey": {
"description": "PublicKey publickey is a user key to push code to repository",
"type": "object",
"properties": {
2017-05-02 19:05:59 +05:30
"created_at": {
2017-11-13 12:32:25 +05:30
"type": "string",
"format": "date-time",
2017-05-02 19:05:59 +05:30
"x-go-name": "Created"
},
2017-12-06 15:57:10 +05:30
"fingerprint": {
"type": "string",
"x-go-name": "Fingerprint"
},
2017-11-13 12:32:25 +05:30
"id": {
"type": "integer",
"format": "int64",
"x-go-name": "ID"
},
"key": {
"type": "string",
"x-go-name": "Key"
},
2018-10-29 03:33:02 +05:30
"key_type": {
"type": "string",
"x-go-name": "KeyType"
},
"read_only": {
"type": "boolean",
"x-go-name": "ReadOnly"
},
2017-11-13 12:32:25 +05:30
"title": {
"type": "string",
"x-go-name": "Title"
},
"url": {
"type": "string",
"x-go-name": "URL"
2018-10-29 03:33:02 +05:30
},
"user": {
"$ref": "#/definitions/User"
2017-11-13 12:32:25 +05:30
}
},
2019-05-11 15:51:34 +05:30
"x-go-package": "code.gitea.io/gitea/modules/structs"
2017-11-13 12:32:25 +05:30
},
"PullRequest": {
"description": "PullRequest represents a pull request",
"type": "object",
"properties": {
2022-04-28 21:15:33 +05:30
"allow_maintainer_edit": {
"type": "boolean",
"x-go-name": "AllowMaintainerEdit"
},
2017-11-13 12:32:25 +05:30
"assignee": {
"$ref": "#/definitions/User"
},
2018-05-02 00:35:28 +05:30
"assignees": {
"type": "array",
"items": {
"$ref": "#/definitions/User"
},
"x-go-name": "Assignees"
},
2017-11-13 12:32:25 +05:30
"base": {
"$ref": "#/definitions/PRBranchInfo"
},
"body": {
"type": "string",
"x-go-name": "Body"
},
2018-05-02 00:35:28 +05:30
"closed_at": {
"type": "string",
"format": "date-time",
"x-go-name": "Closed"
},
2017-11-13 12:32:25 +05:30
"comments": {
"type": "integer",
"format": "int64",
"x-go-name": "Comments"
},
"created_at": {
"type": "string",
"format": "date-time",
"x-go-name": "Created"
},
"diff_url": {
"type": "string",
"x-go-name": "DiffURL"
},
2018-05-02 00:35:28 +05:30
"due_date": {
"type": "string",
"format": "date-time",
"x-go-name": "Deadline"
},
2017-11-13 12:32:25 +05:30
"head": {
"$ref": "#/definitions/PRBranchInfo"
},
"html_url": {
"type": "string",
"x-go-name": "HTMLURL"
},
"id": {
"type": "integer",
"format": "int64",
"x-go-name": "ID"
},
2020-06-02 02:31:55 +05:30
"is_locked": {
"type": "boolean",
"x-go-name": "IsLocked"
},
2017-11-13 12:32:25 +05:30
"labels": {
2017-05-02 19:05:59 +05:30
"type": "array",
"items": {
2017-11-13 12:32:25 +05:30
"$ref": "#/definitions/Label"
2017-05-02 19:05:59 +05:30
},
2017-11-13 12:32:25 +05:30
"x-go-name": "Labels"
2017-05-02 19:05:59 +05:30
},
2017-11-13 12:32:25 +05:30
"merge_base": {
"type": "string",
"x-go-name": "MergeBase"
},
"merge_commit_sha": {
"type": "string",
"x-go-name": "MergedCommitID"
},
"mergeable": {
"type": "boolean",
"x-go-name": "Mergeable"
},
"merged": {
"type": "boolean",
"x-go-name": "HasMerged"
},
"merged_at": {
"type": "string",
"format": "date-time",
"x-go-name": "Merged"
},
"merged_by": {
"$ref": "#/definitions/User"
},
"milestone": {
"$ref": "#/definitions/Milestone"
2017-05-02 19:05:59 +05:30
},
2017-11-13 12:32:25 +05:30
"number": {
2017-05-02 19:05:59 +05:30
"type": "integer",
"format": "int64",
2017-11-13 12:32:25 +05:30
"x-go-name": "Index"
2017-05-02 19:05:59 +05:30
},
2017-11-13 12:32:25 +05:30
"patch_url": {
2017-05-02 19:05:59 +05:30
"type": "string",
2017-11-13 12:32:25 +05:30
"x-go-name": "PatchURL"
2017-05-02 19:05:59 +05:30
},
2017-11-13 12:32:25 +05:30
"state": {
"$ref": "#/definitions/StateType"
},
"title": {
2017-05-02 19:05:59 +05:30
"type": "string",
2017-11-13 12:32:25 +05:30
"x-go-name": "Title"
2017-05-02 19:05:59 +05:30
},
2017-11-13 12:32:25 +05:30
"updated_at": {
2017-05-02 19:05:59 +05:30
"type": "string",
2017-11-13 12:32:25 +05:30
"format": "date-time",
"x-go-name": "Updated"
2017-05-02 19:05:59 +05:30
},
2017-11-13 12:32:25 +05:30
"url": {
"type": "string",
"x-go-name": "URL"
},
"user": {
"$ref": "#/definitions/User"
2017-05-02 19:05:59 +05:30
}
},
2019-05-11 15:51:34 +05:30
"x-go-package": "code.gitea.io/gitea/modules/structs"
2017-05-02 19:05:59 +05:30
},
2017-11-13 12:32:25 +05:30
"PullRequestMeta": {
"description": "PullRequestMeta PR info if an issue is a PR",
2017-05-02 19:05:59 +05:30
"type": "object",
"properties": {
2017-11-13 12:32:25 +05:30
"merged": {
2017-05-02 19:05:59 +05:30
"type": "boolean",
2017-11-13 12:32:25 +05:30
"x-go-name": "HasMerged"
},
"merged_at": {
"type": "string",
"format": "date-time",
"x-go-name": "Merged"
2017-05-02 19:05:59 +05:30
}
},
2019-05-11 15:51:34 +05:30
"x-go-package": "code.gitea.io/gitea/modules/structs"
2017-05-02 19:05:59 +05:30
},
2020-05-02 05:50:51 +05:30
"PullReview": {
"description": "PullReview represents a pull request review",
"type": "object",
"properties": {
"body": {
"type": "string",
"x-go-name": "Body"
},
"comments_count": {
"type": "integer",
"format": "int64",
"x-go-name": "CodeCommentsCount"
},
"commit_id": {
"type": "string",
"x-go-name": "CommitID"
},
2021-02-11 23:02:25 +05:30
"dismissed": {
"type": "boolean",
"x-go-name": "Dismissed"
},
2020-05-02 05:50:51 +05:30
"html_url": {
"type": "string",
"x-go-name": "HTMLURL"
},
"id": {
"type": "integer",
"format": "int64",
"x-go-name": "ID"
},
"official": {
"type": "boolean",
"x-go-name": "Official"
},
"pull_request_url": {
"type": "string",
"x-go-name": "HTMLPullURL"
},
"stale": {
"type": "boolean",
"x-go-name": "Stale"
},
"state": {
"$ref": "#/definitions/ReviewStateType"
},
"submitted_at": {
"type": "string",
"format": "date-time",
"x-go-name": "Submitted"
},
2020-10-20 23:48:25 +05:30
"team": {
"$ref": "#/definitions/Team"
},
2022-11-15 15:03:52 +05:30
"updated_at": {
"type": "string",
"format": "date-time",
"x-go-name": "Updated"
},
2020-05-02 05:50:51 +05:30
"user": {
"$ref": "#/definitions/User"
}
},
"x-go-package": "code.gitea.io/gitea/modules/structs"
},
"PullReviewComment": {
"description": "PullReviewComment represents a comment on a pull request review",
"type": "object",
"properties": {
"body": {
"type": "string",
"x-go-name": "Body"
},
"commit_id": {
"type": "string",
"x-go-name": "CommitID"
},
"created_at": {
"type": "string",
"format": "date-time",
"x-go-name": "Created"
},
"diff_hunk": {
"type": "string",
"x-go-name": "DiffHunk"
},
"html_url": {
"type": "string",
"x-go-name": "HTMLURL"
},
"id": {
"type": "integer",
"format": "int64",
"x-go-name": "ID"
},
"original_commit_id": {
"type": "string",
"x-go-name": "OrigCommitID"
},
"original_position": {
"type": "integer",
"format": "uint64",
"x-go-name": "OldLineNum"
},
"path": {
"type": "string",
"x-go-name": "Path"
},
"position": {
"type": "integer",
"format": "uint64",
"x-go-name": "LineNum"
},
"pull_request_review_id": {
"type": "integer",
"format": "int64",
"x-go-name": "ReviewID"
},
"pull_request_url": {
"type": "string",
"x-go-name": "HTMLPullURL"
},
2021-03-28 05:07:51 +05:30
"resolver": {
"$ref": "#/definitions/User"
},
2020-05-02 05:50:51 +05:30
"updated_at": {
"type": "string",
"format": "date-time",
"x-go-name": "Updated"
},
"user": {
"$ref": "#/definitions/User"
}
},
"x-go-package": "code.gitea.io/gitea/modules/structs"
},
2020-10-20 23:48:25 +05:30
"PullReviewRequestOptions": {
"description": "PullReviewRequestOptions are options to add or remove pull review requests",
"type": "object",
"properties": {
"reviewers": {
"type": "array",
"items": {
"type": "string"
},
"x-go-name": "Reviewers"
},
"team_reviewers": {
"type": "array",
"items": {
"type": "string"
},
"x-go-name": "TeamReviewers"
}
},
"x-go-package": "code.gitea.io/gitea/modules/structs"
},
2022-07-30 22:15:59 +05:30
"PushMirror": {
"description": "PushMirror represents information of a push mirror",
"type": "object",
"properties": {
"created": {
"type": "string",
"x-go-name": "CreatedUnix"
},
"interval": {
"type": "string",
"x-go-name": "Interval"
},
"last_error": {
"type": "string",
"x-go-name": "LastError"
},
"last_update": {
"type": "string",
"x-go-name": "LastUpdateUnix"
},
"remote_address": {
"type": "string",
"x-go-name": "RemoteAddress"
},
"remote_name": {
"type": "string",
"x-go-name": "RemoteName"
},
"repo_name": {
"type": "string",
"x-go-name": "RepoName"
}
},
"x-go-package": "code.gitea.io/gitea/modules/structs"
},
2019-12-31 13:51:21 +05:30
"Reaction": {
"description": "Reaction contain one reaction",
2019-12-08 03:34:19 +05:30
"type": "object",
"properties": {
"content": {
"type": "string",
"x-go-name": "Reaction"
},
"created_at": {
"type": "string",
"format": "date-time",
"x-go-name": "Created"
},
"user": {
"$ref": "#/definitions/User"
}
},
"x-go-package": "code.gitea.io/gitea/modules/structs"
},
2018-11-28 03:22:20 +05:30
"Reference": {
"type": "object",
"title": "Reference represents a Git reference.",
"properties": {
"object": {
"$ref": "#/definitions/GitObject"
},
"ref": {
"type": "string",
"x-go-name": "Ref"
},
"url": {
"type": "string",
"x-go-name": "URL"
}
},
2019-05-11 15:51:34 +05:30
"x-go-package": "code.gitea.io/gitea/modules/structs"
2018-11-28 03:22:20 +05:30
},
2017-11-13 12:32:25 +05:30
"Release": {
"description": "Release represents a repository release",
2017-05-02 19:05:59 +05:30
"type": "object",
"properties": {
2018-03-06 06:52:16 +05:30
"assets": {
"type": "array",
"items": {
"$ref": "#/definitions/Attachment"
},
"x-go-name": "Attachments"
},
2017-11-13 12:32:25 +05:30
"author": {
"$ref": "#/definitions/User"
2017-05-02 19:05:59 +05:30
},
2017-11-13 12:32:25 +05:30
"body": {
"type": "string",
"x-go-name": "Note"
},
"created_at": {
"type": "string",
"format": "date-time",
"x-go-name": "CreatedAt"
},
"draft": {
2017-05-02 19:05:59 +05:30
"type": "boolean",
2017-11-13 12:32:25 +05:30
"x-go-name": "IsDraft"
2017-05-02 19:05:59 +05:30
},
2020-04-18 20:17:15 +05:30
"html_url": {
"type": "string",
"x-go-name": "HTMLURL"
},
2017-11-13 12:32:25 +05:30
"id": {
"type": "integer",
"format": "int64",
"x-go-name": "ID"
},
"name": {
"type": "string",
"x-go-name": "Title"
},
"prerelease": {
2017-05-02 19:05:59 +05:30
"type": "boolean",
2017-11-13 12:32:25 +05:30
"x-go-name": "IsPrerelease"
},
"published_at": {
"type": "string",
"format": "date-time",
"x-go-name": "PublishedAt"
},
"tag_name": {
"type": "string",
"x-go-name": "TagName"
},
"tarball_url": {
"type": "string",
"x-go-name": "TarURL"
},
"target_commitish": {
"type": "string",
"x-go-name": "Target"
},
"url": {
"type": "string",
"x-go-name": "URL"
},
"zipball_url": {
"type": "string",
"x-go-name": "ZipURL"
2017-05-02 19:05:59 +05:30
}
},
2019-05-11 15:51:34 +05:30
"x-go-package": "code.gitea.io/gitea/modules/structs"
2017-05-02 19:05:59 +05:30
},
2022-04-29 17:54:38 +05:30
"RepoCollaboratorPermission": {
"description": "RepoCollaboratorPermission to get repository permission for a collaborator",
"type": "object",
"properties": {
"permission": {
"type": "string",
"x-go-name": "Permission"
},
"role_name": {
"type": "string",
"x-go-name": "RoleName"
},
"user": {
"$ref": "#/definitions/User"
}
},
"x-go-package": "code.gitea.io/gitea/modules/structs"
},
2019-02-03 09:05:17 +05:30
"RepoCommit": {
"type": "object",
"title": "RepoCommit contains information of a commit in the context of a repository.",
"properties": {
"author": {
"$ref": "#/definitions/CommitUser"
},
"committer": {
"$ref": "#/definitions/CommitUser"
},
"message": {
"type": "string",
"x-go-name": "Message"
},
"tree": {
"$ref": "#/definitions/CommitMeta"
},
"url": {
"type": "string",
"x-go-name": "URL"
2022-03-29 21:17:44 +05:30
},
"verification": {
"$ref": "#/definitions/PayloadCommitVerification"
2019-02-03 09:05:17 +05:30
}
},
2019-05-11 15:51:34 +05:30
"x-go-package": "code.gitea.io/gitea/modules/structs"
2019-02-03 09:05:17 +05:30
},
2019-09-03 21:16:24 +05:30
"RepoTopicOptions": {
"description": "RepoTopicOptions a collection of repo topic names",
"type": "object",
"properties": {
"topics": {
"description": "list of topic names",
"type": "array",
"items": {
"type": "string"
},
"x-go-name": "Topics"
}
},
"x-go-package": "code.gitea.io/gitea/modules/structs"
},
2021-12-24 09:56:52 +05:30
"RepoTransfer": {
"description": "RepoTransfer represents a pending repo transfer",
"type": "object",
"properties": {
"doer": {
"$ref": "#/definitions/User"
},
"recipient": {
"$ref": "#/definitions/User"
},
"teams": {
"type": "array",
"items": {
"$ref": "#/definitions/Team"
},
"x-go-name": "Teams"
}
},
"x-go-package": "code.gitea.io/gitea/modules/structs"
},
2017-05-02 19:05:59 +05:30
"Repository": {
2017-11-13 12:32:25 +05:30
"description": "Repository represents a repository",
2017-05-02 19:05:59 +05:30
"type": "object",
"properties": {
2019-05-30 20:39:05 +05:30
"allow_merge_commits": {
"type": "boolean",
"x-go-name": "AllowMerge"
},
"allow_rebase": {
"type": "boolean",
"x-go-name": "AllowRebase"
},
"allow_rebase_explicit": {
"type": "boolean",
"x-go-name": "AllowRebaseMerge"
},
2022-07-15 13:30:01 +05:30
"allow_rebase_update": {
"type": "boolean",
"x-go-name": "AllowRebaseUpdate"
},
2019-05-30 20:39:05 +05:30
"allow_squash_merge": {
"type": "boolean",
"x-go-name": "AllowSquash"
},
2018-10-29 03:33:02 +05:30
"archived": {
"type": "boolean",
"x-go-name": "Archived"
},
2019-05-30 07:52:26 +05:30
"avatar_url": {
"type": "string",
"x-go-name": "AvatarURL"
},
2017-05-02 19:05:59 +05:30
"clone_url": {
"type": "string",
"x-go-name": "CloneURL"
},
"created_at": {
2017-11-13 12:32:25 +05:30
"type": "string",
"format": "date-time",
2017-05-02 19:05:59 +05:30
"x-go-name": "Created"
},
"default_branch": {
"type": "string",
"x-go-name": "DefaultBranch"
},
2022-07-15 13:30:01 +05:30
"default_delete_branch_after_merge": {
"type": "boolean",
"x-go-name": "DefaultDeleteBranchAfterMerge"
},
2021-03-27 20:25:40 +05:30
"default_merge_style": {
"type": "string",
"x-go-name": "DefaultMergeStyle"
},
2017-05-02 19:05:59 +05:30
"description": {
"type": "string",
"x-go-name": "Description"
},
2017-05-14 15:07:15 +05:30
"empty": {
"type": "boolean",
"x-go-name": "Empty"
},
2019-10-02 15:00:41 +05:30
"external_tracker": {
"$ref": "#/definitions/ExternalTracker"
},
"external_wiki": {
"$ref": "#/definitions/ExternalWiki"
},
2017-05-02 19:05:59 +05:30
"fork": {
"type": "boolean",
"x-go-name": "Fork"
},
"forks_count": {
"type": "integer",
"format": "int64",
"x-go-name": "Forks"
},
"full_name": {
"type": "string",
"x-go-name": "FullName"
},
2019-05-30 20:39:05 +05:30
"has_issues": {
"type": "boolean",
"x-go-name": "HasIssues"
},
2020-08-17 08:37:38 +05:30
"has_projects": {
"type": "boolean",
"x-go-name": "HasProjects"
},
2019-05-30 20:39:05 +05:30
"has_pull_requests": {
"type": "boolean",
"x-go-name": "HasPullRequests"
},
"has_wiki": {
"type": "boolean",
"x-go-name": "HasWiki"
},
2017-05-02 19:05:59 +05:30
"html_url": {
"type": "string",
"x-go-name": "HTMLURL"
},
"id": {
"type": "integer",
"format": "int64",
"x-go-name": "ID"
},
2019-05-30 20:39:05 +05:30
"ignore_whitespace_conflicts": {
"type": "boolean",
"x-go-name": "IgnoreWhitespaceConflicts"
},
2020-06-05 17:11:06 +05:30
"internal": {
"type": "boolean",
"x-go-name": "Internal"
},
2019-10-02 15:00:41 +05:30
"internal_tracker": {
"$ref": "#/definitions/InternalTracker"
},
2022-01-25 12:03:40 +05:30
"language": {
"type": "string",
"x-go-name": "Language"
},
"languages_url": {
"type": "string",
"x-go-name": "LanguagesURL"
},
2017-05-02 19:05:59 +05:30
"mirror": {
"type": "boolean",
"x-go-name": "Mirror"
},
2021-01-03 05:17:47 +05:30
"mirror_interval": {
"type": "string",
"x-go-name": "MirrorInterval"
},
2022-01-18 18:48:30 +05:30
"mirror_updated": {
"type": "string",
"format": "date-time",
"x-go-name": "MirrorUpdated"
},
2017-05-02 19:05:59 +05:30
"name": {
"type": "string",
"x-go-name": "Name"
},
"open_issues_count": {
"type": "integer",
"format": "int64",
"x-go-name": "OpenIssues"
},
2019-11-29 20:44:24 +05:30
"open_pr_counter": {
"type": "integer",
"format": "int64",
"x-go-name": "OpenPulls"
},
2019-07-08 07:44:12 +05:30
"original_url": {
"type": "string",
"x-go-name": "OriginalURL"
},
2017-05-02 19:05:59 +05:30
"owner": {
"$ref": "#/definitions/User"
},
2017-05-14 15:07:15 +05:30
"parent": {
2017-11-13 12:32:25 +05:30
"$ref": "#/definitions/Repository"
2017-05-14 15:07:15 +05:30
},
2017-05-02 19:05:59 +05:30
"permissions": {
"$ref": "#/definitions/Permission"
},
"private": {
"type": "boolean",
"x-go-name": "Private"
},
2019-12-01 00:58:47 +05:30
"release_counter": {
"type": "integer",
"format": "int64",
"x-go-name": "Releases"
},
2021-12-24 09:56:52 +05:30
"repo_transfer": {
"$ref": "#/definitions/RepoTransfer"
},
2017-05-14 15:07:15 +05:30
"size": {
"type": "integer",
"format": "int64",
"x-go-name": "Size"
},
2017-05-02 19:05:59 +05:30
"ssh_url": {
"type": "string",
"x-go-name": "SSHURL"
},
"stars_count": {
"type": "integer",
"format": "int64",
"x-go-name": "Stars"
},
2019-11-11 20:45:29 +05:30
"template": {
"type": "boolean",
"x-go-name": "Template"
},
2017-05-02 19:05:59 +05:30
"updated_at": {
2017-11-13 12:32:25 +05:30
"type": "string",
"format": "date-time",
2017-05-02 19:05:59 +05:30
"x-go-name": "Updated"
},
"watchers_count": {
"type": "integer",
"format": "int64",
"x-go-name": "Watchers"
},
"website": {
"type": "string",
"x-go-name": "Website"
}
},
2019-05-11 15:51:34 +05:30
"x-go-package": "code.gitea.io/gitea/modules/structs"
2017-05-02 19:05:59 +05:30
},
Allow cross-repository dependencies on issues (#7901)
* in progress changes for #7405, added ability to add cross-repo dependencies
* removed unused repolink var
* fixed query that was breaking ci tests; fixed check in issue dependency add so that the id of the issue and dependency is checked rather than the indexes
* reverted removal of string in local files becasue these are done via crowdin, not updated manually
* removed 'Select("issue.*")' from getBlockedByDependencies and getBlockingDependencies based on comments in PR review
* changed getBlockedByDependencies and getBlockingDependencies to use a more xorm-like query, also updated the sidebar as a result
* simplified the getBlockingDependencies and getBlockedByDependencies methods; changed the sidebar to show the dependencies in a different format where you can see the name of the repository
* made some changes to the issue view in the dependencies (issue name on top, repo full name on separate line). Change view of issue in the dependency search results (also showing the full repo name on separate line)
* replace call to FindUserAccessibleRepoIDs with SearchRepositoryByName. The former was hardcoded to use isPrivate = false on the repo search, but this code needed it to be true. The SearchRepositoryByName method is used more in the code including on the user's dashboard
* some more tweaks to the layout of the issues when showing dependencies and in the search box when you add new dependencies
* added Name to the RepositoryMeta struct
* updated swagger doc
* fixed total count for link header on SearchIssues
* fixed indentation
* fixed aligment of remove icon on dependencies in issue sidebar
* removed unnecessary nil check (unnecessary because issue.loadRepo is called prior to this block)
* reverting .css change, somehow missed or forgot that less is used
* updated less file and generated css; updated sidebar template with styles to line up delete and issue index
* added ordering to the blocked by/depends on queries
* fixed sorting in issue dependency search and the depends on/blocks views to show issues from the current repo first, then by created date descending; added a "all cross repository dependencies" setting to allow this feature to be turned off, if turned off, the issue dependency search will work the way it did before (restricted to the current repository)
* re-applied my swagger changes after merge
* fixed split string condition in issue search
* changed ALLOW_CROSS_REPOSITORY_DEPENDENCIES description to sound more global than just the issue dependency search; returning 400 in the cross repo issue search api method if not enabled; fixed bug where the issue count did not respect the state parameter
* when adding a dependency to an issue, added a check to make sure the issue and dependency are in the same repo if cross repo dependencies is not enabled
* updated sortIssuesSession call in PullRequests, another commit moved this method from pull.go to pull_list.go so I had to re-apply my change here
* fixed incorrect setting of user id parameter in search repos call
2019-10-31 10:36:10 +05:30
"RepositoryMeta": {
"description": "RepositoryMeta basic repository information",
"type": "object",
"properties": {
"full_name": {
"type": "string",
"x-go-name": "FullName"
},
"id": {
"type": "integer",
"format": "int64",
"x-go-name": "ID"
},
"name": {
"type": "string",
"x-go-name": "Name"
2020-02-04 10:35:17 +05:30
},
"owner": {
"type": "string",
"x-go-name": "Owner"
Allow cross-repository dependencies on issues (#7901)
* in progress changes for #7405, added ability to add cross-repo dependencies
* removed unused repolink var
* fixed query that was breaking ci tests; fixed check in issue dependency add so that the id of the issue and dependency is checked rather than the indexes
* reverted removal of string in local files becasue these are done via crowdin, not updated manually
* removed 'Select("issue.*")' from getBlockedByDependencies and getBlockingDependencies based on comments in PR review
* changed getBlockedByDependencies and getBlockingDependencies to use a more xorm-like query, also updated the sidebar as a result
* simplified the getBlockingDependencies and getBlockedByDependencies methods; changed the sidebar to show the dependencies in a different format where you can see the name of the repository
* made some changes to the issue view in the dependencies (issue name on top, repo full name on separate line). Change view of issue in the dependency search results (also showing the full repo name on separate line)
* replace call to FindUserAccessibleRepoIDs with SearchRepositoryByName. The former was hardcoded to use isPrivate = false on the repo search, but this code needed it to be true. The SearchRepositoryByName method is used more in the code including on the user's dashboard
* some more tweaks to the layout of the issues when showing dependencies and in the search box when you add new dependencies
* added Name to the RepositoryMeta struct
* updated swagger doc
* fixed total count for link header on SearchIssues
* fixed indentation
* fixed aligment of remove icon on dependencies in issue sidebar
* removed unnecessary nil check (unnecessary because issue.loadRepo is called prior to this block)
* reverting .css change, somehow missed or forgot that less is used
* updated less file and generated css; updated sidebar template with styles to line up delete and issue index
* added ordering to the blocked by/depends on queries
* fixed sorting in issue dependency search and the depends on/blocks views to show issues from the current repo first, then by created date descending; added a "all cross repository dependencies" setting to allow this feature to be turned off, if turned off, the issue dependency search will work the way it did before (restricted to the current repository)
* re-applied my swagger changes after merge
* fixed split string condition in issue search
* changed ALLOW_CROSS_REPOSITORY_DEPENDENCIES description to sound more global than just the issue dependency search; returning 400 in the cross repo issue search api method if not enabled; fixed bug where the issue count did not respect the state parameter
* when adding a dependency to an issue, added a check to make sure the issue and dependency are in the same repo if cross repo dependencies is not enabled
* updated sortIssuesSession call in PullRequests, another commit moved this method from pull.go to pull_list.go so I had to re-apply my change here
* fixed incorrect setting of user id parameter in search repos call
2019-10-31 10:36:10 +05:30
}
},
"x-go-package": "code.gitea.io/gitea/modules/structs"
},
2020-05-02 05:50:51 +05:30
"ReviewStateType": {
"description": "ReviewStateType review state type",
"type": "string",
"x-go-package": "code.gitea.io/gitea/modules/structs"
},
2017-11-13 12:32:25 +05:30
"SearchResults": {
"description": "SearchResults results of a successful search",
"type": "object",
"properties": {
"data": {
"type": "array",
"items": {
"$ref": "#/definitions/Repository"
},
"x-go-name": "Data"
},
"ok": {
"type": "boolean",
"x-go-name": "OK"
}
},
2019-05-11 15:51:34 +05:30
"x-go-package": "code.gitea.io/gitea/modules/structs"
2017-11-13 12:32:25 +05:30
},
"ServerVersion": {
"description": "ServerVersion wraps the version of the server",
"type": "object",
"properties": {
"version": {
"type": "string",
"x-go-name": "Version"
}
},
2019-05-11 15:51:34 +05:30
"x-go-package": "code.gitea.io/gitea/modules/structs"
2017-11-13 12:32:25 +05:30
},
"StateType": {
"description": "StateType issue state type",
"type": "string",
2019-05-11 15:51:34 +05:30
"x-go-package": "code.gitea.io/gitea/modules/structs"
2017-11-13 12:32:25 +05:30
},
2019-12-12 09:53:05 +05:30
"StopWatch": {
"description": "StopWatch represent a running stopwatch",
"type": "object",
"properties": {
"created": {
"type": "string",
"format": "date-time",
"x-go-name": "Created"
},
2021-01-21 20:21:52 +05:30
"duration": {
"type": "string",
"x-go-name": "Duration"
},
2019-12-12 09:53:05 +05:30
"issue_index": {
"type": "integer",
"format": "int64",
"x-go-name": "IssueIndex"
2020-09-05 17:28:33 +05:30
},
"issue_title": {
"type": "string",
"x-go-name": "IssueTitle"
},
"repo_name": {
"type": "string",
"x-go-name": "RepoName"
},
"repo_owner_name": {
"type": "string",
"x-go-name": "RepoOwnerName"
2021-01-21 20:21:52 +05:30
},
"seconds": {
"type": "integer",
"format": "int64",
"x-go-name": "Seconds"
2019-12-12 09:53:05 +05:30
}
},
"x-go-package": "code.gitea.io/gitea/modules/structs"
},
2020-05-02 05:50:51 +05:30
"SubmitPullReviewOptions": {
"description": "SubmitPullReviewOptions are options to submit a pending pull review",
"type": "object",
"properties": {
"body": {
"type": "string",
"x-go-name": "Body"
},
"event": {
"$ref": "#/definitions/ReviewStateType"
}
},
"x-go-package": "code.gitea.io/gitea/modules/structs"
},
2019-02-07 17:30:52 +05:30
"Tag": {
"description": "Tag represents a repository tag",
"type": "object",
"properties": {
"commit": {
2019-06-08 20:01:11 +05:30
"$ref": "#/definitions/CommitMeta"
},
"id": {
"type": "string",
"x-go-name": "ID"
2019-02-07 17:30:52 +05:30
},
2021-06-17 21:34:10 +05:30
"message": {
"type": "string",
"x-go-name": "Message"
},
2019-02-07 17:30:52 +05:30
"name": {
"type": "string",
"x-go-name": "Name"
},
"tarball_url": {
"type": "string",
"x-go-name": "TarballURL"
},
"zipball_url": {
"type": "string",
"x-go-name": "ZipballURL"
}
},
2019-05-11 15:51:34 +05:30
"x-go-package": "code.gitea.io/gitea/modules/structs"
2019-02-07 17:30:52 +05:30
},
2017-11-13 12:32:25 +05:30
"Team": {
"description": "Team represents a team in an organization",
"type": "object",
"properties": {
2019-11-20 16:57:49 +05:30
"can_create_org_repo": {
"type": "boolean",
"x-go-name": "CanCreateOrgRepo"
},
2017-11-13 12:32:25 +05:30
"description": {
"type": "string",
"x-go-name": "Description"
},
"id": {
"type": "integer",
"format": "int64",
"x-go-name": "ID"
},
2019-11-06 15:07:14 +05:30
"includes_all_repositories": {
"type": "boolean",
"x-go-name": "IncludesAllRepositories"
},
2017-11-13 12:32:25 +05:30
"name": {
"type": "string",
"x-go-name": "Name"
},
2019-01-17 06:09:50 +05:30
"organization": {
"$ref": "#/definitions/Organization"
},
2017-11-13 12:32:25 +05:30
"permission": {
"type": "string",
"enum": [
"none",
"read",
"write",
"admin",
"owner"
],
"x-go-name": "Permission"
2018-11-11 01:15:32 +05:30
},
"units": {
"type": "array",
2019-08-26 23:43:10 +05:30
"items": {
"type": "string"
},
"x-go-name": "Units",
"example": [
2018-11-11 01:15:32 +05:30
"repo.code",
"repo.issues",
"repo.ext_issues",
"repo.wiki",
"repo.pulls",
"repo.releases",
2021-03-04 04:14:30 +05:30
"repo.projects",
2018-11-11 01:15:32 +05:30
"repo.ext_wiki"
2019-08-26 23:43:10 +05:30
]
2022-01-05 09:07:00 +05:30
},
"units_map": {
"type": "object",
"additionalProperties": {
"type": "string"
},
"x-go-name": "UnitsMap",
2022-10-06 01:56:34 +05:30
"example": {
"repo.code": "read",
"repo.ext_issues": "none",
"repo.ext_wiki": "none",
"repo.issues": "write",
"repo.projects": "none",
"repo.pulls": "owner",
"repo.releases": "none",
"repo.wiki": "admin"
}
2017-11-13 12:32:25 +05:30
}
},
2019-05-11 15:51:34 +05:30
"x-go-package": "code.gitea.io/gitea/modules/structs"
2017-11-13 12:32:25 +05:30
},
2018-10-23 08:27:42 +05:30
"TimeStamp": {
"description": "TimeStamp defines a timestamp",
"type": "integer",
"format": "int64",
2019-08-15 20:16:21 +05:30
"x-go-package": "code.gitea.io/gitea/modules/timeutil"
2018-10-23 08:27:42 +05:30
},
2022-01-01 19:42:25 +05:30
"TimelineComment": {
"description": "TimelineComment represents a timeline comment (comment of any type) on a commit or issue",
"type": "object",
"properties": {
"assignee": {
"$ref": "#/definitions/User"
},
"assignee_team": {
"$ref": "#/definitions/Team"
},
"body": {
"type": "string",
"x-go-name": "Body"
},
"created_at": {
"type": "string",
"format": "date-time",
"x-go-name": "Created"
},
"dependent_issue": {
"$ref": "#/definitions/Issue"
},
"html_url": {
"type": "string",
"x-go-name": "HTMLURL"
},
"id": {
"type": "integer",
"format": "int64",
"x-go-name": "ID"
},
"issue_url": {
"type": "string",
"x-go-name": "IssueURL"
},
"label": {
"$ref": "#/definitions/Label"
},
"milestone": {
"$ref": "#/definitions/Milestone"
},
"new_ref": {
"type": "string",
"x-go-name": "NewRef"
},
"new_title": {
"type": "string",
"x-go-name": "NewTitle"
},
"old_milestone": {
"$ref": "#/definitions/Milestone"
},
"old_project_id": {
"type": "integer",
"format": "int64",
"x-go-name": "OldProjectID"
},
"old_ref": {
"type": "string",
"x-go-name": "OldRef"
},
"old_title": {
"type": "string",
"x-go-name": "OldTitle"
},
"project_id": {
"type": "integer",
"format": "int64",
"x-go-name": "ProjectID"
},
"pull_request_url": {
"type": "string",
"x-go-name": "PRURL"
},
"ref_action": {
"type": "string",
"x-go-name": "RefAction"
},
"ref_comment": {
"$ref": "#/definitions/Comment"
},
"ref_commit_sha": {
"description": "commit SHA where issue/PR was referenced",
"type": "string",
"x-go-name": "RefCommitSHA"
},
"ref_issue": {
"$ref": "#/definitions/Issue"
},
"removed_assignee": {
"description": "whether the assignees were removed or added",
"type": "boolean",
"x-go-name": "RemovedAssignee"
},
"resolve_doer": {
"$ref": "#/definitions/User"
},
"review_id": {
"type": "integer",
"format": "int64",
"x-go-name": "ReviewID"
},
"tracked_time": {
"$ref": "#/definitions/TrackedTime"
},
"type": {
"type": "string",
"x-go-name": "Type"
},
"updated_at": {
"type": "string",
"format": "date-time",
"x-go-name": "Updated"
},
"user": {
"$ref": "#/definitions/User"
}
},
"x-go-package": "code.gitea.io/gitea/modules/structs"
},
2019-09-03 21:16:24 +05:30
"TopicName": {
"description": "TopicName a list of repo topic names",
"type": "object",
"properties": {
"topics": {
"type": "array",
"items": {
"type": "string"
},
"x-go-name": "TopicNames"
}
},
"x-go-package": "code.gitea.io/gitea/modules/structs"
},
"TopicResponse": {
"description": "TopicResponse for returning topics",
"type": "object",
"properties": {
"created": {
"type": "string",
"format": "date-time",
"x-go-name": "Created"
},
"id": {
"type": "integer",
"format": "int64",
"x-go-name": "ID"
},
"repo_count": {
"type": "integer",
"format": "int64",
"x-go-name": "RepoCount"
},
"topic_name": {
"type": "string",
"x-go-name": "Name"
},
"updated": {
"type": "string",
"format": "date-time",
"x-go-name": "Updated"
}
},
"x-go-package": "code.gitea.io/gitea/modules/structs"
},
2017-11-13 12:32:25 +05:30
"TrackedTime": {
"description": "TrackedTime worked time for an issue / pr",
"type": "object",
"properties": {
"created": {
"type": "string",
"format": "date-time",
"x-go-name": "Created"
},
"id": {
"type": "integer",
"format": "int64",
"x-go-name": "ID"
},
2019-12-28 02:00:58 +05:30
"issue": {
"$ref": "#/definitions/Issue"
},
2017-11-13 12:32:25 +05:30
"issue_id": {
2019-12-28 02:00:58 +05:30
"description": "deprecated (only for backwards compatibility)",
2017-11-13 12:32:25 +05:30
"type": "integer",
"format": "int64",
"x-go-name": "IssueID"
},
"time": {
"description": "Time in seconds",
"type": "integer",
"format": "int64",
"x-go-name": "Time"
},
"user_id": {
2019-12-28 02:00:58 +05:30
"description": "deprecated (only for backwards compatibility)",
2017-11-13 12:32:25 +05:30
"type": "integer",
"format": "int64",
"x-go-name": "UserID"
2019-12-28 02:00:58 +05:30
},
"user_name": {
"type": "string",
"x-go-name": "UserName"
2017-11-13 12:32:25 +05:30
}
},
2019-05-11 15:51:34 +05:30
"x-go-package": "code.gitea.io/gitea/modules/structs"
2017-11-13 12:32:25 +05:30
},
2020-01-31 21:19:04 +05:30
"TransferRepoOption": {
"description": "TransferRepoOption options when transfer a repository's ownership",
"type": "object",
"required": [
"new_owner"
],
"properties": {
"new_owner": {
"type": "string",
"x-go-name": "NewOwner"
},
"team_ids": {
"description": "ID of the team or teams to add to the repository. Teams can only be added to organization-owned repositories.",
"type": "array",
"items": {
"type": "integer",
"format": "int64"
},
"x-go-name": "TeamIDs"
}
},
"x-go-package": "code.gitea.io/gitea/modules/structs"
},
2019-04-17 21:36:35 +05:30
"UpdateFileOptions": {
2019-05-30 23:27:55 +05:30
"description": "UpdateFileOptions options for updating files\nNote: `author` and `committer` are optional (if only one is given, it will be used for the other, otherwise the authenticated user will be used)",
2019-04-17 21:36:35 +05:30
"type": "object",
2019-05-30 23:27:55 +05:30
"required": [
"sha",
"content"
],
2019-04-17 21:36:35 +05:30
"properties": {
"author": {
"$ref": "#/definitions/Identity"
},
"branch": {
2019-05-30 23:27:55 +05:30
"description": "branch (optional) to base this file from. if not given, the default branch is used",
2019-04-17 21:36:35 +05:30
"type": "string",
"x-go-name": "BranchName"
},
"committer": {
"$ref": "#/definitions/Identity"
},
"content": {
2019-05-30 23:27:55 +05:30
"description": "content must be base64 encoded",
2019-04-17 21:36:35 +05:30
"type": "string",
"x-go-name": "Content"
},
2019-12-24 08:03:52 +05:30
"dates": {
"$ref": "#/definitions/CommitDateOptions"
},
2019-04-17 21:36:35 +05:30
"from_path": {
2019-05-30 23:27:55 +05:30
"description": "from_path (optional) is the path of the original file which will be moved/renamed to the path in the URL",
2019-04-17 21:36:35 +05:30
"type": "string",
"x-go-name": "FromPath"
},
"message": {
2019-05-30 23:27:55 +05:30
"description": "message (optional) for the commit of this file. if not supplied, a default message will be used",
2019-04-17 21:36:35 +05:30
"type": "string",
"x-go-name": "Message"
},
"new_branch": {
2019-05-30 23:27:55 +05:30
"description": "new_branch (optional) will make a new branch from `branch` before creating the file",
2019-04-17 21:36:35 +05:30
"type": "string",
"x-go-name": "NewBranchName"
},
"sha": {
2019-05-30 23:27:55 +05:30
"description": "sha is the SHA for the file that already exists",
2019-04-17 21:36:35 +05:30
"type": "string",
"x-go-name": "SHA"
2021-01-29 14:27:45 +05:30
},
"signoff": {
"description": "Add a Signed-off-by trailer by the committer at the end of the commit log message.",
"type": "boolean",
"x-go-name": "Signoff"
2019-04-17 21:36:35 +05:30
}
},
2019-05-11 15:51:34 +05:30
"x-go-package": "code.gitea.io/gitea/modules/structs"
2019-04-17 21:36:35 +05:30
},
2017-05-02 19:05:59 +05:30
"User": {
2017-11-13 12:32:25 +05:30
"description": "User represents a user",
2017-05-02 19:05:59 +05:30
"type": "object",
"properties": {
2021-05-11 05:52:29 +05:30
"active": {
"description": "Is user active",
"type": "boolean",
"x-go-name": "IsActive"
},
2017-05-02 19:05:59 +05:30
"avatar_url": {
2017-11-13 12:32:25 +05:30
"description": "URL to the user's avatar",
2017-05-02 19:05:59 +05:30
"type": "string",
"x-go-name": "AvatarURL"
},
2019-06-16 08:58:32 +05:30
"created": {
"type": "string",
"format": "date-time",
"x-go-name": "Created"
},
2021-05-03 00:33:15 +05:30
"description": {
"description": "the user's description",
"type": "string",
"x-go-name": "Description"
},
2017-05-02 19:05:59 +05:30
"email": {
"type": "string",
2017-11-13 12:32:25 +05:30
"format": "email",
2017-05-02 19:05:59 +05:30
"x-go-name": "Email"
},
2021-06-17 12:47:35 +05:30
"followers_count": {
"description": "user counts",
"type": "integer",
"format": "int64",
"x-go-name": "Followers"
},
"following_count": {
"type": "integer",
"format": "int64",
"x-go-name": "Following"
},
2017-05-02 19:05:59 +05:30
"full_name": {
2017-11-13 12:32:25 +05:30
"description": "the user's full name",
2017-05-02 19:05:59 +05:30
"type": "string",
"x-go-name": "FullName"
},
"id": {
2017-11-13 12:32:25 +05:30
"description": "the user's id",
2017-05-02 19:05:59 +05:30
"type": "integer",
"format": "int64",
"x-go-name": "ID"
},
2019-03-04 04:27:24 +05:30
"is_admin": {
"description": "Is the user an administrator",
"type": "boolean",
"x-go-name": "IsAdmin"
},
2018-05-05 05:58:30 +05:30
"language": {
"description": "User locale",
"type": "string",
"x-go-name": "Language"
},
2019-06-16 08:58:32 +05:30
"last_login": {
"type": "string",
"format": "date-time",
"x-go-name": "LastLogin"
},
2021-05-01 14:35:55 +05:30
"location": {
"description": "the user's location",
"type": "string",
"x-go-name": "Location"
},
2017-05-02 19:05:59 +05:30
"login": {
2017-11-13 12:32:25 +05:30
"description": "the user's username",
2017-05-02 19:05:59 +05:30
"type": "string",
"x-go-name": "UserName"
2021-02-18 13:55:35 +05:30
},
2022-07-15 14:22:11 +05:30
"login_name": {
"description": "the user's authentication sign-in name.",
"type": "string",
"default": "empty",
"x-go-name": "LoginName"
},
2021-05-11 05:52:29 +05:30
"prohibit_login": {
"description": "Is user login prohibited",
"type": "boolean",
"x-go-name": "ProhibitLogin"
},
2021-02-18 13:55:35 +05:30
"restricted": {
"description": "Is user restricted",
"type": "boolean",
"x-go-name": "Restricted"
2021-05-01 14:35:55 +05:30
},
2021-06-17 12:47:35 +05:30
"starred_repos_count": {
"type": "integer",
"format": "int64",
"x-go-name": "StarredRepos"
},
2021-06-27 01:23:14 +05:30
"visibility": {
"description": "User visibility level option: public, limited, private",
"type": "string",
"x-go-name": "Visibility"
},
2021-05-01 14:35:55 +05:30
"website": {
"description": "the user's website",
"type": "string",
"x-go-name": "Website"
2017-05-02 19:05:59 +05:30
}
},
2019-05-11 15:51:34 +05:30
"x-go-package": "code.gitea.io/gitea/modules/structs"
2017-11-13 12:32:25 +05:30
},
2018-10-23 08:27:42 +05:30
"UserHeatmapData": {
"description": "UserHeatmapData represents the data needed to create a heatmap",
"type": "object",
"properties": {
"contributions": {
"type": "integer",
"format": "int64",
"x-go-name": "Contributions"
},
"timestamp": {
"$ref": "#/definitions/TimeStamp"
}
},
2022-08-25 08:01:57 +05:30
"x-go-package": "code.gitea.io/gitea/models/activities"
2018-10-23 08:27:42 +05:30
},
2021-06-24 01:28:44 +05:30
"UserSettings": {
"description": "UserSettings represents user settings",
"type": "object",
"properties": {
"description": {
"type": "string",
"x-go-name": "Description"
},
"diff_view_style": {
"type": "string",
"x-go-name": "DiffViewStyle"
},
"full_name": {
"type": "string",
"x-go-name": "FullName"
},
"hide_activity": {
"type": "boolean",
"x-go-name": "HideActivity"
},
"hide_email": {
"description": "Privacy",
"type": "boolean",
"x-go-name": "HideEmail"
},
"language": {
"type": "string",
"x-go-name": "Language"
},
"location": {
"type": "string",
"x-go-name": "Location"
},
"theme": {
"type": "string",
"x-go-name": "Theme"
},
"website": {
"type": "string",
"x-go-name": "Website"
}
},
"x-go-package": "code.gitea.io/gitea/modules/structs"
},
"UserSettingsOptions": {
"description": "UserSettingsOptions represents options to change user settings",
"type": "object",
"properties": {
"description": {
"type": "string",
"x-go-name": "Description"
},
"diff_view_style": {
"type": "string",
"x-go-name": "DiffViewStyle"
},
"full_name": {
"type": "string",
"x-go-name": "FullName"
},
"hide_activity": {
"type": "boolean",
"x-go-name": "HideActivity"
},
"hide_email": {
"description": "Privacy",
"type": "boolean",
"x-go-name": "HideEmail"
},
"language": {
"type": "string",
"x-go-name": "Language"
},
"location": {
"type": "string",
"x-go-name": "Location"
},
"theme": {
"type": "string",
"x-go-name": "Theme"
},
"website": {
"type": "string",
"x-go-name": "Website"
}
},
"x-go-package": "code.gitea.io/gitea/modules/structs"
},
2017-11-13 12:32:25 +05:30
"WatchInfo": {
"description": "WatchInfo represents an API watch status of one repository",
"type": "object",
"properties": {
"created_at": {
"type": "string",
"format": "date-time",
"x-go-name": "CreatedAt"
},
"ignored": {
"type": "boolean",
"x-go-name": "Ignored"
},
"reason": {
"x-go-name": "Reason"
},
"repository_url": {
"type": "string",
"x-go-name": "RepositoryURL"
},
"subscribed": {
"type": "boolean",
"x-go-name": "Subscribed"
},
"url": {
"type": "string",
"x-go-name": "URL"
}
},
2019-05-11 15:51:34 +05:30
"x-go-package": "code.gitea.io/gitea/modules/structs"
2021-10-25 09:13:40 +05:30
},
"WikiCommit": {
"description": "WikiCommit page commit/revision",
"type": "object",
"properties": {
"author": {
"$ref": "#/definitions/CommitUser"
},
"commiter": {
"$ref": "#/definitions/CommitUser"
},
"message": {
"type": "string",
"x-go-name": "Message"
},
"sha": {
"type": "string",
"x-go-name": "ID"
}
},
"x-go-package": "code.gitea.io/gitea/modules/structs"
},
"WikiCommitList": {
"description": "WikiCommitList commit/revision list",
"type": "object",
"properties": {
"commits": {
"type": "array",
"items": {
"$ref": "#/definitions/WikiCommit"
},
"x-go-name": "WikiCommits"
},
"count": {
"type": "integer",
"format": "int64",
"x-go-name": "Count"
}
},
"x-go-package": "code.gitea.io/gitea/modules/structs"
},
"WikiPage": {
"description": "WikiPage a wiki page",
"type": "object",
"properties": {
"commit_count": {
"type": "integer",
"format": "int64",
"x-go-name": "CommitCount"
},
"content_base64": {
"description": "Page content, base64 encoded",
"type": "string",
"x-go-name": "ContentBase64"
},
"footer": {
"type": "string",
"x-go-name": "Footer"
},
"html_url": {
"type": "string",
"x-go-name": "HTMLURL"
},
"last_commit": {
"$ref": "#/definitions/WikiCommit"
},
"sidebar": {
"type": "string",
"x-go-name": "Sidebar"
},
"sub_url": {
"type": "string",
"x-go-name": "SubURL"
},
"title": {
"type": "string",
"x-go-name": "Title"
}
},
"x-go-package": "code.gitea.io/gitea/modules/structs"
},
"WikiPageMetaData": {
"description": "WikiPageMetaData wiki page meta information",
"type": "object",
"properties": {
"html_url": {
"type": "string",
"x-go-name": "HTMLURL"
},
"last_commit": {
"$ref": "#/definitions/WikiCommit"
},
"sub_url": {
"type": "string",
"x-go-name": "SubURL"
},
"title": {
"type": "string",
"x-go-name": "Title"
}
},
"x-go-package": "code.gitea.io/gitea/modules/structs"
2017-05-02 19:05:59 +05:30
}
},
"responses": {
"AccessToken": {
2019-05-04 21:15:34 +05:30
"description": "AccessToken represents an API access token.",
2021-08-02 02:14:15 +05:30
"schema": {
"$ref": "#/definitions/AccessToken"
2017-05-02 19:05:59 +05:30
}
},
"AccessTokenList": {
2019-08-28 12:25:22 +05:30
"description": "AccessTokenList represents a list of API access token.",
"schema": {
"type": "array",
"items": {
"$ref": "#/definitions/AccessToken"
}
}
2017-05-02 19:05:59 +05:30
},
User keypairs and HTTP signatures for ActivityPub federation using go-ap (#19133)
* go.mod: add go-fed/{httpsig,activity/pub,activity/streams} dependency
go get github.com/go-fed/activity/streams@master
go get github.com/go-fed/activity/pub@master
go get github.com/go-fed/httpsig@master
* activitypub: implement /api/v1/activitypub/user/{username} (#14186)
Return informations regarding a Person (as defined in ActivityStreams
https://www.w3.org/TR/activitystreams-vocabulary/#dfn-person).
Refs: https://github.com/go-gitea/gitea/issues/14186
Signed-off-by: Loïc Dachary <loic@dachary.org>
* activitypub: add the public key to Person (#14186)
Refs: https://github.com/go-gitea/gitea/issues/14186
Signed-off-by: Loïc Dachary <loic@dachary.org>
* activitypub: go-fed conformant Clock instance
Signed-off-by: Loïc Dachary <loic@dachary.org>
* activitypub: signing http client
Signed-off-by: Loïc Dachary <loic@dachary.org>
* activitypub: implement the ReqSignature middleware
Signed-off-by: Loïc Dachary <loic@dachary.org>
* activitypub: hack_16834
Signed-off-by: Loïc Dachary <loic@dachary.org>
* Fix CI checks-backend errors with go mod tidy
Signed-off-by: Anthony Wang <ta180m@pm.me>
* Change 2021 to 2022, properly format package imports
Signed-off-by: Anthony Wang <ta180m@pm.me>
* Run make fmt and make generate-swagger
Signed-off-by: Anthony Wang <ta180m@pm.me>
* Use Gitea JSON library, add assert for pkp
Signed-off-by: Anthony Wang <ta180m@pm.me>
* Run make fmt again, fix err var redeclaration
Signed-off-by: Anthony Wang <ta180m@pm.me>
* Remove LogSQL from ActivityPub person test
Signed-off-by: Anthony Wang <ta180m@pm.me>
* Assert if json.Unmarshal succeeds
Signed-off-by: Anthony Wang <ta180m@pm.me>
* Cleanup, handle invalid usernames for ActivityPub person GET request
Signed-off-by: Anthony Wang <ta180m@pm.me>
* Rename hack_16834 to user_settings
Signed-off-by: Anthony Wang <ta180m@pm.me>
* Use the httplib module instead of http for GET requests
* Clean up whitespace with make fmt
* Use time.RFC1123 and make the http.Client proxy-aware
* Check if digest algo is supported in setting module
* Clean up some variable declarations
* Remove unneeded copy
* Use system timezone instead of setting.DefaultUILocation
* Use named constant for httpsigExpirationTime
* Make pubKey IRI #main-key instead of /#main-key
* Move /#main-key to #main-key in tests
* Implemented Webfinger endpoint.
* Add visible check.
* Add user profile as alias.
* Add actor IRI and remote interaction URL to WebFinger response
* fmt
* Fix lint errors
* Use go-ap instead of go-fed
* Run go mod tidy to fix missing modules in go.mod and go.sum
* make fmt
* Convert remaining code to go-ap
* Clean up go.sum
* Fix JSON unmarshall error
* Fix CI errors by adding @context to Person() and making sure types match
* Correctly decode JSON in api_activitypub_person_test.go
* Force CI rerun
* Fix TestActivityPubPersonInbox segfault
* Fix lint error
* Use @mariusor's suggestions for idiomatic go-ap usage
* Correctly add inbox/outbox IRIs to person
* Code cleanup
* Remove another LogSQL from ActivityPub person test
* Move httpsig algos slice to an init() function
* Add actor IRI and remote interaction URL to WebFinger response
* Update TestWebFinger to check for ActivityPub IRI in aliases
* make fmt
* Force CI rerun
* WebFinger: Add CORS header and fix Href -> Template for remote interactions
The CORS header is needed due to https://datatracker.ietf.org/doc/html/rfc7033#section-5 and fixes some Peertube <-> Gitea federation issues
* make lint-backend
* Make sure Person endpoint has Content-Type application/activity+json and includes PreferredUsername, URL, and Icon
Setting the correct Content-Type is essential for federating with Mastodon
* Use UTC instead of GMT
* Rename pkey to pubKey
* Make sure HTTP request Date in GMT
* make fmt
* dont drop err
* Make sure API responses always refer to username in original case
Copied from what I wrote on #19133 discussion: Handling username case is a very tricky issue and I've already encountered a Mastodon <-> Gitea federation bug due to Gitea considering Ta180m and ta180m to be the same user while Mastodon thinks they are two different users. I think the best way forward is for Gitea to only use the original case version of the username for federation so other AP software don't get confused.
* Move httpsig algs constant slice to modules/setting/federation.go
* Add new federation settings to app.example.ini and config-cheat-sheet
* Return if marshalling error
* Make sure Person IRIs are generated correctly
This commit ensures that if the setting.AppURL is something like "http://127.0.0.1:42567" (like in the integration tests), a trailing slash will be added after that URL.
* If httpsig verification fails, fix Host header and try again
This fixes a very rare bug when Gitea and another AP server (confirmed to happen with Mastodon) are running on the same machine, Gitea fails to verify incoming HTTP signatures. This is because the other AP server creates the sig with the public Gitea domain as the Host. However, when Gitea receives the request, the Host header is instead localhost, so the signature verification fails. Manually changing the host header to the correct value and trying the veification again fixes the bug.
* Revert "If httpsig verification fails, fix Host header and try again"
This reverts commit f53e46c721a037c55facb9200106a6b491bf834c.
The bug was actually caused by nginx messing up the Host header when reverse-proxying since I didn't have the line `proxy_set_header Host $host;` in my nginx config for Gitea.
* Go back to using ap.IRI to generate inbox and outbox IRIs
* use const for key values
* Update routers/web/webfinger.go
* Use ctx.JSON in Person response to make code cleaner
* Revert "Use ctx.JSON in Person response to make code cleaner"
This doesn't work because the ctx.JSON() function already sends the response out and it's too late to edit the headers.
This reverts commit 95aad988975be3393c76094864ed6ba962157e0c.
* Use activitypub.ActivityStreamsContentType for Person response Content Type
* Limit maximum ActivityPub request and response sizes to a configurable setting
* Move setting key constants to models/user/setting_keys.go
* Fix failing ActivityPubPerson integration test by checking the correct field for username
* Add a warning about changing settings that can break federation
* Add better comments
* Don't multiply Federation.MaxSize by 1<<20 twice
* Add more better comments
* Fix failing ActivityPubMissingPerson test
We now use ctx.ContextUser so the message printed out when a user does not exist is slightly different
* make generate-swagger
For some reason I didn't realize that /templates/swagger/v1_json.tmpl was machine-generated by make generate-swagger... I've been editing it by hand for three months! 🤦
* Move getting the RFC 2616 time to a separate function
* More code cleanup
* Update go-ap to fix empty liked collection and removed unneeded HTTP headers
* go mod tidy
* Add ed25519 to httpsig algorithms
* Use go-ap/jsonld to add @context and marshal JSON
* Change Gitea user agent from the default to Gitea/Version
* Use ctx.ServerError and remove all remote interaction code from webfinger.go
2022-06-19 10:55:12 +05:30
"ActivityPub": {
"description": "ActivityPub",
"schema": {
"$ref": "#/definitions/ActivityPub"
}
},
2019-06-08 20:01:11 +05:30
"AnnotatedTag": {
"description": "AnnotatedTag",
"schema": {
"$ref": "#/definitions/AnnotatedTag"
}
},
2018-03-06 06:52:16 +05:30
"Attachment": {
2018-05-31 16:43:55 +05:30
"description": "Attachment",
2018-03-06 06:52:16 +05:30
"schema": {
"$ref": "#/definitions/Attachment"
}
},
"AttachmentList": {
2018-05-31 16:43:55 +05:30
"description": "AttachmentList",
2018-03-06 06:52:16 +05:30
"schema": {
"type": "array",
"items": {
"$ref": "#/definitions/Attachment"
}
}
},
2017-11-13 12:32:25 +05:30
"Branch": {
2018-05-31 16:43:55 +05:30
"description": "Branch",
2017-11-13 12:32:25 +05:30
"schema": {
"$ref": "#/definitions/Branch"
}
},
"BranchList": {
2018-05-31 16:43:55 +05:30
"description": "BranchList",
2017-11-13 12:32:25 +05:30
"schema": {
"type": "array",
"items": {
"$ref": "#/definitions/Branch"
}
}
},
2020-02-13 04:49:35 +05:30
"BranchProtection": {
"description": "BranchProtection",
"schema": {
"$ref": "#/definitions/BranchProtection"
}
},
"BranchProtectionList": {
"description": "BranchProtectionList",
"schema": {
"type": "array",
"items": {
"$ref": "#/definitions/BranchProtection"
}
}
},
2022-09-29 07:57:20 +05:30
"ChangedFileList": {
"description": "ChangedFileList",
"schema": {
"type": "array",
"items": {
"$ref": "#/definitions/ChangedFile"
}
},
"headers": {
"X-HasMore": {
"type": "boolean",
"description": "True if there is another page"
},
"X-Page": {
"type": "integer",
"format": "int64",
"description": "The current page"
},
"X-PageCount": {
"type": "integer",
"format": "int64",
"description": "Total number of pages"
},
"X-PerPage": {
"type": "integer",
"format": "int64",
"description": "Commits per page"
},
"X-Total": {
"type": "integer",
"format": "int64",
"description": "Total commit count"
}
}
},
2020-12-18 09:03:32 +05:30
"CombinedStatus": {
"description": "CombinedStatus",
"schema": {
"$ref": "#/definitions/CombinedStatus"
}
},
2017-11-13 12:32:25 +05:30
"Comment": {
2018-05-31 16:43:55 +05:30
"description": "Comment",
2017-11-13 12:32:25 +05:30
"schema": {
"$ref": "#/definitions/Comment"
}
},
"CommentList": {
2018-05-31 16:43:55 +05:30
"description": "CommentList",
2017-11-13 12:32:25 +05:30
"schema": {
"type": "array",
"items": {
"$ref": "#/definitions/Comment"
}
}
},
2019-02-03 09:05:17 +05:30
"Commit": {
"description": "Commit",
"schema": {
"$ref": "#/definitions/Commit"
}
},
2019-08-26 19:39:10 +05:30
"CommitList": {
"description": "CommitList",
"schema": {
"type": "array",
"items": {
"$ref": "#/definitions/Commit"
}
},
"headers": {
"X-HasMore": {
"type": "boolean",
"description": "True if there is another page"
},
"X-Page": {
"type": "integer",
"format": "int64",
"description": "The current page"
},
"X-PageCount": {
"type": "integer",
"format": "int64",
"description": "Total number of pages"
},
"X-PerPage": {
"type": "integer",
"format": "int64",
"description": "Commits per page"
},
"X-Total": {
"type": "integer",
"format": "int64",
"description": "Total commit count"
}
}
},
2020-12-18 09:03:32 +05:30
"CommitStatus": {
"description": "CommitStatus",
"schema": {
"$ref": "#/definitions/CommitStatus"
}
},
"CommitStatusList": {
"description": "CommitStatusList",
"schema": {
"type": "array",
"items": {
"$ref": "#/definitions/CommitStatus"
}
}
},
2019-06-30 02:21:10 +05:30
"ContentsListResponse": {
"description": "ContentsListResponse",
"schema": {
"type": "array",
"items": {
"$ref": "#/definitions/ContentsResponse"
}
}
},
"ContentsResponse": {
"description": "ContentsResponse",
"schema": {
"$ref": "#/definitions/ContentsResponse"
}
},
2020-08-24 21:18:15 +05:30
"CronList": {
"description": "CronList",
"schema": {
"type": "array",
"items": {
"$ref": "#/definitions/Cron"
}
}
},
2017-11-13 12:32:25 +05:30
"DeployKey": {
2018-05-31 16:43:55 +05:30
"description": "DeployKey",
2017-11-13 12:32:25 +05:30
"schema": {
"$ref": "#/definitions/DeployKey"
}
},
"DeployKeyList": {
2018-05-31 16:43:55 +05:30
"description": "DeployKeyList",
2017-11-13 12:32:25 +05:30
"schema": {
"type": "array",
"items": {
"$ref": "#/definitions/DeployKey"
}
}
},
"EmailList": {
2018-05-31 16:43:55 +05:30
"description": "EmailList",
2017-11-13 12:32:25 +05:30
"schema": {
"type": "array",
"items": {
"$ref": "#/definitions/Email"
2017-05-02 19:05:59 +05:30
}
}
},
2019-08-26 19:39:10 +05:30
"EmptyRepository": {
"description": "EmptyRepository",
"schema": {
"$ref": "#/definitions/APIError"
}
},
2019-04-17 21:36:35 +05:30
"FileDeleteResponse": {
"description": "FileDeleteResponse",
"schema": {
"$ref": "#/definitions/FileDeleteResponse"
}
},
"FileResponse": {
"description": "FileResponse",
"schema": {
"$ref": "#/definitions/FileResponse"
}
},
2017-11-13 12:32:25 +05:30
"GPGKey": {
2018-05-31 16:43:55 +05:30
"description": "GPGKey",
2017-11-13 12:32:25 +05:30
"schema": {
"$ref": "#/definitions/GPGKey"
}
},
2017-05-02 19:05:59 +05:30
"GPGKeyList": {
2018-05-31 16:43:55 +05:30
"description": "GPGKeyList",
2017-11-13 12:32:25 +05:30
"schema": {
"type": "array",
"items": {
"$ref": "#/definitions/GPGKey"
}
}
2017-05-02 19:05:59 +05:30
},
2020-09-04 23:40:15 +05:30
"GeneralAPISettings": {
"description": "GeneralAPISettings",
"schema": {
"$ref": "#/definitions/GeneralAPISettings"
}
},
2020-09-05 13:13:06 +05:30
"GeneralAttachmentSettings": {
"description": "GeneralAttachmentSettings",
"schema": {
"$ref": "#/definitions/GeneralAttachmentSettings"
}
},
2020-06-10 17:35:46 +05:30
"GeneralRepoSettings": {
"description": "GeneralRepoSettings",
"schema": {
"$ref": "#/definitions/GeneralRepoSettings"
}
},
2020-06-22 23:51:31 +05:30
"GeneralUISettings": {
"description": "GeneralUISettings",
"schema": {
"$ref": "#/definitions/GeneralUISettings"
}
},
2019-04-17 21:36:35 +05:30
"GitBlobResponse": {
"description": "GitBlobResponse",
"schema": {
"$ref": "#/definitions/GitBlobResponse"
}
},
2019-04-17 11:01:08 +05:30
"GitHook": {
"description": "GitHook",
"schema": {
"$ref": "#/definitions/GitHook"
}
},
"GitHookList": {
"description": "GitHookList",
"schema": {
"type": "array",
"items": {
"$ref": "#/definitions/GitHook"
}
}
},
2019-01-24 23:43:30 +05:30
"GitTreeResponse": {
"description": "GitTreeResponse",
"schema": {
"$ref": "#/definitions/GitTreeResponse"
}
},
2017-08-21 16:43:47 +05:30
"Hook": {
2018-05-31 16:43:55 +05:30
"description": "Hook",
2017-08-21 16:43:47 +05:30
"schema": {
2019-03-27 01:11:17 +05:30
"$ref": "#/definitions/Hook"
2017-08-21 16:43:47 +05:30
}
},
"HookList": {
2018-05-31 16:43:55 +05:30
"description": "HookList",
2017-11-13 12:32:25 +05:30
"schema": {
"type": "array",
"items": {
2019-03-27 01:11:17 +05:30
"$ref": "#/definitions/Hook"
2017-11-13 12:32:25 +05:30
}
}
},
"Issue": {
2018-05-31 16:43:55 +05:30
"description": "Issue",
2017-11-13 12:32:25 +05:30
"schema": {
"$ref": "#/definitions/Issue"
}
},
2018-07-16 18:13:00 +05:30
"IssueDeadline": {
"description": "IssueDeadline",
"schema": {
"$ref": "#/definitions/IssueDeadline"
}
},
2017-11-13 12:32:25 +05:30
"IssueList": {
2018-05-31 16:43:55 +05:30
"description": "IssueList",
2017-11-13 12:32:25 +05:30
"schema": {
"type": "array",
"items": {
"$ref": "#/definitions/Issue"
}
}
},
2020-09-11 20:18:39 +05:30
"IssueTemplates": {
"description": "IssueTemplates",
"schema": {
"type": "array",
"items": {
"$ref": "#/definitions/IssueTemplate"
}
}
},
2017-11-13 12:32:25 +05:30
"Label": {
2018-05-31 16:43:55 +05:30
"description": "Label",
2017-11-13 12:32:25 +05:30
"schema": {
"$ref": "#/definitions/Label"
}
},
"LabelList": {
2018-05-31 16:43:55 +05:30
"description": "LabelList",
2017-11-13 12:32:25 +05:30
"schema": {
"type": "array",
"items": {
"$ref": "#/definitions/Label"
}
}
2017-08-21 16:43:47 +05:30
},
2020-06-07 17:18:41 +05:30
"LanguageStatistics": {
"description": "LanguageStatistics",
"schema": {
"type": "object",
"additionalProperties": {
"type": "integer",
"format": "int64"
}
}
},
2017-05-02 19:05:59 +05:30
"MarkdownRender": {
2019-08-28 12:25:22 +05:30
"description": "MarkdownRender is a rendered markdown document",
"schema": {
"type": "string"
}
2017-05-02 19:05:59 +05:30
},
2017-11-13 12:32:25 +05:30
"Milestone": {
2018-05-31 16:43:55 +05:30
"description": "Milestone",
2017-11-13 12:32:25 +05:30
"schema": {
"$ref": "#/definitions/Milestone"
}
},
"MilestoneList": {
2018-05-31 16:43:55 +05:30
"description": "MilestoneList",
2017-11-13 12:32:25 +05:30
"schema": {
"type": "array",
"items": {
"$ref": "#/definitions/Milestone"
}
}
},
2021-09-28 05:08:06 +05:30
"NodeInfo": {
"description": "NodeInfo",
"schema": {
"$ref": "#/definitions/NodeInfo"
}
},
2021-08-11 06:31:40 +05:30
"Note": {
"description": "Note",
"schema": {
"$ref": "#/definitions/Note"
}
},
2020-01-14 21:07:19 +05:30
"NotificationCount": {
"description": "Number of unread notifications",
"schema": {
"$ref": "#/definitions/NotificationCount"
}
},
2020-01-09 17:26:32 +05:30
"NotificationThread": {
"description": "NotificationThread",
"schema": {
"$ref": "#/definitions/NotificationThread"
}
},
"NotificationThreadList": {
"description": "NotificationThreadList",
"schema": {
"type": "array",
"items": {
"$ref": "#/definitions/NotificationThread"
}
}
},
2020-02-29 11:49:32 +05:30
"OAuth2Application": {
"description": "OAuth2Application",
"schema": {
"$ref": "#/definitions/OAuth2Application"
}
},
"OAuth2ApplicationList": {
"description": "OAuth2ApplicationList represents a list of OAuth2 applications.",
"schema": {
"type": "array",
"items": {
"$ref": "#/definitions/OAuth2Application"
}
}
},
2017-08-21 16:43:47 +05:30
"Organization": {
2018-05-31 16:43:55 +05:30
"description": "Organization",
2017-11-13 12:32:25 +05:30
"schema": {
"$ref": "#/definitions/Organization"
}
},
"OrganizationList": {
2018-05-31 16:43:55 +05:30
"description": "OrganizationList",
2017-11-13 12:32:25 +05:30
"schema": {
"type": "array",
"items": {
"$ref": "#/definitions/Organization"
2017-08-21 16:43:47 +05:30
}
}
},
2021-10-12 16:17:19 +05:30
"OrganizationPermissions": {
"description": "OrganizationPermissions",
"schema": {
"$ref": "#/definitions/OrganizationPermissions"
}
},
2022-03-30 14:12:47 +05:30
"Package": {
"description": "Package",
"schema": {
"$ref": "#/definitions/Package"
}
},
"PackageFileList": {
"description": "PackageFileList",
"schema": {
"type": "array",
"items": {
"$ref": "#/definitions/PackageFile"
}
}
},
"PackageList": {
"description": "PackageList",
"schema": {
"type": "array",
"items": {
"$ref": "#/definitions/Package"
}
}
},
2017-05-02 19:05:59 +05:30
"PublicKey": {
2018-05-31 16:43:55 +05:30
"description": "PublicKey",
2017-11-13 12:32:25 +05:30
"schema": {
"$ref": "#/definitions/PublicKey"
2017-05-02 19:05:59 +05:30
}
},
"PublicKeyList": {
2018-05-31 16:43:55 +05:30
"description": "PublicKeyList",
2017-11-13 12:32:25 +05:30
"schema": {
"type": "array",
"items": {
"$ref": "#/definitions/PublicKey"
}
}
2017-05-02 19:05:59 +05:30
},
2017-11-13 12:32:25 +05:30
"PullRequest": {
2018-05-31 16:43:55 +05:30
"description": "PullRequest",
2017-05-02 19:05:59 +05:30
"schema": {
2017-11-13 12:32:25 +05:30
"$ref": "#/definitions/PullRequest"
}
},
"PullRequestList": {
2018-05-31 16:43:55 +05:30
"description": "PullRequestList",
2017-11-13 12:32:25 +05:30
"schema": {
"type": "array",
"items": {
"$ref": "#/definitions/PullRequest"
2017-05-02 19:05:59 +05:30
}
}
},
2020-05-02 05:50:51 +05:30
"PullReview": {
"description": "PullReview",
"schema": {
"$ref": "#/definitions/PullReview"
}
},
"PullReviewComment": {
"description": "PullComment",
"schema": {
"$ref": "#/definitions/PullReviewComment"
}
},
"PullReviewCommentList": {
"description": "PullCommentList",
"schema": {
"type": "array",
"items": {
"$ref": "#/definitions/PullReviewComment"
}
}
},
"PullReviewList": {
"description": "PullReviewList",
"schema": {
"type": "array",
"items": {
"$ref": "#/definitions/PullReview"
}
}
},
2022-07-30 22:15:59 +05:30
"PushMirror": {
"description": "PushMirror",
"schema": {
"$ref": "#/definitions/PushMirror"
}
},
"PushMirrorList": {
"description": "PushMirrorList",
"schema": {
"type": "array",
"items": {
"$ref": "#/definitions/PushMirror"
}
}
},
2019-12-31 13:51:21 +05:30
"Reaction": {
"description": "Reaction",
2019-12-08 03:34:19 +05:30
"schema": {
2019-12-31 13:51:21 +05:30
"$ref": "#/definitions/Reaction"
2019-12-08 03:34:19 +05:30
}
},
2019-12-31 13:51:21 +05:30
"ReactionList": {
"description": "ReactionList",
2019-12-08 03:34:19 +05:30
"schema": {
"type": "array",
"items": {
2019-12-31 13:51:21 +05:30
"$ref": "#/definitions/Reaction"
2019-12-08 03:34:19 +05:30
}
}
},
2018-11-28 03:22:20 +05:30
"Reference": {
"description": "Reference",
"schema": {
"$ref": "#/definitions/Reference"
}
},
"ReferenceList": {
"description": "ReferenceList",
"schema": {
"type": "array",
"items": {
"$ref": "#/definitions/Reference"
}
}
},
2017-11-13 12:32:25 +05:30
"Release": {
2018-05-31 16:43:55 +05:30
"description": "Release",
2017-11-13 12:32:25 +05:30
"schema": {
"$ref": "#/definitions/Release"
}
2017-05-02 19:05:59 +05:30
},
2017-11-13 12:32:25 +05:30
"ReleaseList": {
2018-05-31 16:43:55 +05:30
"description": "ReleaseList",
2017-11-13 12:32:25 +05:30
"schema": {
"type": "array",
"items": {
"$ref": "#/definitions/Release"
}
}
},
2022-04-29 17:54:38 +05:30
"RepoCollaboratorPermission": {
"description": "RepoCollaboratorPermission",
"schema": {
"$ref": "#/definitions/RepoCollaboratorPermission"
}
},
2017-11-13 12:32:25 +05:30
"Repository": {
2018-05-31 16:43:55 +05:30
"description": "Repository",
2017-11-13 12:32:25 +05:30
"schema": {
"$ref": "#/definitions/Repository"
}
},
"RepositoryList": {
2018-05-31 16:43:55 +05:30
"description": "RepositoryList",
2017-11-13 12:32:25 +05:30
"schema": {
"type": "array",
"items": {
"$ref": "#/definitions/Repository"
2017-05-02 19:05:59 +05:30
}
}
},
"SearchResults": {
2018-05-31 16:43:55 +05:30
"description": "SearchResults",
2017-11-13 12:32:25 +05:30
"schema": {
"$ref": "#/definitions/SearchResults"
2017-05-02 19:05:59 +05:30
}
},
"ServerVersion": {
2018-05-31 16:43:55 +05:30
"description": "ServerVersion",
2017-11-13 12:32:25 +05:30
"schema": {
"$ref": "#/definitions/ServerVersion"
}
},
2019-12-12 09:53:05 +05:30
"StopWatch": {
"description": "StopWatch",
"schema": {
"$ref": "#/definitions/StopWatch"
}
},
"StopWatchList": {
"description": "StopWatchList",
"schema": {
"type": "array",
"items": {
"$ref": "#/definitions/StopWatch"
}
}
},
2020-06-04 14:46:53 +05:30
"StringSlice": {
"description": "StringSlice",
"schema": {
"type": "array",
"items": {
"type": "string"
}
}
},
2019-06-08 20:01:11 +05:30
"Tag": {
"description": "Tag",
"schema": {
"$ref": "#/definitions/Tag"
}
},
2019-02-07 17:30:52 +05:30
"TagList": {
"description": "TagList",
"schema": {
"type": "array",
"items": {
"$ref": "#/definitions/Tag"
}
}
},
2017-11-13 12:32:25 +05:30
"Team": {
2018-05-31 16:43:55 +05:30
"description": "Team",
2017-11-13 12:32:25 +05:30
"schema": {
"$ref": "#/definitions/Team"
}
},
"TeamList": {
2018-05-31 16:43:55 +05:30
"description": "TeamList",
2017-11-13 12:32:25 +05:30
"schema": {
"type": "array",
"items": {
"$ref": "#/definitions/Team"
2017-08-21 16:43:47 +05:30
}
}
},
2022-01-01 19:42:25 +05:30
"TimelineList": {
"description": "TimelineList",
"schema": {
"type": "array",
"items": {
"$ref": "#/definitions/TimelineComment"
}
}
},
2019-09-03 21:16:24 +05:30
"TopicListResponse": {
"description": "TopicListResponse",
"schema": {
"type": "array",
"items": {
"$ref": "#/definitions/TopicResponse"
}
}
},
"TopicNames": {
"description": "TopicNames",
"schema": {
"$ref": "#/definitions/TopicName"
}
},
2017-11-13 12:32:25 +05:30
"TrackedTime": {
2018-05-31 16:43:55 +05:30
"description": "TrackedTime",
2017-11-13 12:32:25 +05:30
"schema": {
"$ref": "#/definitions/TrackedTime"
}
2017-08-21 16:43:47 +05:30
},
2017-11-13 12:32:25 +05:30
"TrackedTimeList": {
2018-05-31 16:43:55 +05:30
"description": "TrackedTimeList",
2017-11-13 12:32:25 +05:30
"schema": {
"type": "array",
"items": {
"$ref": "#/definitions/TrackedTime"
2017-05-02 19:05:59 +05:30
}
}
},
2017-11-13 12:32:25 +05:30
"User": {
2018-05-31 16:43:55 +05:30
"description": "User",
2017-11-13 12:32:25 +05:30
"schema": {
"$ref": "#/definitions/User"
}
},
2018-10-23 08:27:42 +05:30
"UserHeatmapData": {
"description": "UserHeatmapData",
"schema": {
"type": "array",
"items": {
"$ref": "#/definitions/UserHeatmapData"
}
}
},
2017-05-02 19:05:59 +05:30
"UserList": {
2018-05-31 16:43:55 +05:30
"description": "UserList",
2017-11-13 12:32:25 +05:30
"schema": {
"type": "array",
"items": {
"$ref": "#/definitions/User"
}
}
2017-05-02 19:05:59 +05:30
},
2021-06-24 01:28:44 +05:30
"UserSettings": {
"description": "UserSettings",
"schema": {
"type": "array",
"items": {
"$ref": "#/definitions/UserSettings"
}
}
},
2017-05-02 19:05:59 +05:30
"WatchInfo": {
2018-05-31 16:43:55 +05:30
"description": "WatchInfo",
2017-05-02 19:05:59 +05:30
"schema": {
2017-11-13 12:32:25 +05:30
"$ref": "#/definitions/WatchInfo"
2017-05-02 19:05:59 +05:30
}
},
2021-10-25 09:13:40 +05:30
"WikiCommitList": {
"description": "WikiCommitList",
"schema": {
"$ref": "#/definitions/WikiCommitList"
}
},
"WikiPage": {
"description": "WikiPage",
"schema": {
"$ref": "#/definitions/WikiPage"
}
},
"WikiPageList": {
"description": "WikiPageList",
"schema": {
"type": "array",
"items": {
"$ref": "#/definitions/WikiPageMetaData"
}
}
},
2020-10-31 07:26:34 +05:30
"conflict": {
"description": "APIConflict is a conflict empty response"
},
2017-05-02 19:05:59 +05:30
"empty": {
2017-05-18 20:09:42 +05:30
"description": "APIEmpty is an empty response"
2017-05-02 19:05:59 +05:30
},
"error": {
"description": "APIError is error format response",
"headers": {
"message": {
"type": "string"
},
"url": {
"type": "string"
}
}
},
"forbidden": {
"description": "APIForbiddenError is a forbidden error response",
"headers": {
"message": {
"type": "string"
},
"url": {
"type": "string"
}
}
},
2019-12-20 22:37:12 +05:30
"invalidTopicsError": {
"description": "APIInvalidTopicsError is error format response to invalid topics",
"headers": {
"invalidTopics": {
"type": "array",
"items": {
"type": "string"
}
},
"message": {
"type": "string"
}
}
},
2017-05-02 19:05:59 +05:30
"notFound": {
"description": "APINotFound is a not found empty response"
},
2017-11-13 12:32:25 +05:30
"parameterBodies": {
2018-05-31 16:43:55 +05:30
"description": "parameterBodies",
2017-11-13 12:32:25 +05:30
"schema": {
2022-07-30 22:15:59 +05:30
"$ref": "#/definitions/CreatePushMirrorOption"
2017-11-13 12:32:25 +05:30
}
},
2017-08-21 16:43:47 +05:30
"redirect": {
"description": "APIRedirect is a redirect response"
},
2020-06-05 16:33:12 +05:30
"string": {
"description": "APIString is a string response",
"schema": {
"type": "string"
}
},
2017-05-02 19:05:59 +05:30
"validationError": {
"description": "APIValidationError is error format response related to input validation",
"headers": {
"message": {
"type": "string"
},
"url": {
"type": "string"
}
}
}
2017-08-21 16:43:47 +05:30
},
"securityDefinitions": {
"AccessToken": {
"type": "apiKey",
"name": "access_token",
"in": "query"
},
"AuthorizationHeaderToken": {
2019-07-24 14:04:11 +05:30
"description": "API tokens must be prepended with \"token\" followed by a space.",
2017-08-21 16:43:47 +05:30
"type": "apiKey",
"name": "Authorization",
"in": "header"
},
"BasicAuth": {
"type": "basic"
},
2018-09-07 09:01:29 +05:30
"SudoHeader": {
"description": "Sudo API request as the user provided as the key. Admin privileges are required.",
"type": "apiKey",
"name": "Sudo",
"in": "header"
},
"SudoParam": {
"description": "Sudo API request as the user provided as the key. Admin privileges are required.",
"type": "apiKey",
"name": "sudo",
"in": "query"
},
2020-08-02 17:31:12 +05:30
"TOTPHeader": {
"description": "Must be used in combination with BasicAuth if two-factor authentication is enabled.",
"type": "apiKey",
"name": "X-GITEA-OTP",
"in": "header"
},
2017-08-21 16:43:47 +05:30
"Token": {
"type": "apiKey",
"name": "token",
"in": "query"
}
},
"security": [
{
2018-06-13 04:53:00 +05:30
"BasicAuth": []
2017-08-21 16:43:47 +05:30
},
{
2018-06-13 04:53:00 +05:30
"Token": []
2017-08-21 16:43:47 +05:30
},
{
2018-06-13 04:53:00 +05:30
"AccessToken": []
2017-08-21 16:43:47 +05:30
},
{
2018-06-13 04:53:00 +05:30
"AuthorizationHeaderToken": []
2018-09-07 09:01:29 +05:30
},
{
"SudoParam": []
},
{
"SudoHeader": []
2020-08-02 17:31:12 +05:30
},
{
"TOTPHeader": []
2017-08-21 16:43:47 +05:30
}
]
2019-04-01 20:57:40 +05:30
}