basePath: /api/v1 definitions: core.Commit: properties: committer: type: string committerAvatar: type: string message: type: string sha: type: string type: object core.Repo: properties: branch: type: string id: type: integer name: type: string nameSpace: type: string private: type: boolean reportID: type: string scm: type: SCMProvider url: type: string type: object core.RepoSetting: properties: filters: type: FileNameFilters mergePR: type: boolean protected: type: boolean updateAction: type: ReportUpdateAction type: object core.Report: properties: commit: type: string coverages: items: type: CoverageReport type: array createdAt: type: string files: items: type: string type: array reference: type: string reportID: type: string type: object user.Providers: additionalProperties: type: boolean type: object user.Token: properties: createdAt: type: string id: type: integer name: type: string type: object user.User: properties: avatar: type: string email: type: string login: type: string type: object host: localhost:8080 info: contact: {} description: REST API for CodeCover license: name: Apache 2.0 url: http://www.apache.org/licenses/LICENSE-2.0.html termsOfService: http://swagger.io/terms/ title: CodeCover API version: "1.0" paths: /reports/{id}: get: parameters: - description: report id in: path name: id required: true type: string - description: get only the latest report in: query name: latest type: boolean - description: get report for git ref in: query name: ref type: string responses: "200": description: coverage report schema: $ref: '#/definitions/core.Report' summary: get reports for the report id tags: - Report post: parameters: - description: report id in: path name: id required: true type: string - description: report in: formData name: file required: true type: file - description: Git commit SHA in: formData name: commit required: true type: string - description: report type in: formData name: type required: true type: string - description: ref in: formData name: ref type: string - description: files list of the repository in: formData name: files type: string responses: "200": description: ok schema: type: string "400": description: error message schema: type: string summary: Upload coverage report tags: - Report /reports/{id}/badge: get: parameters: - description: report id in: path name: id required: true type: string - description: get latest report in main branch in: query name: latest type: boolean responses: "200": description: badge svg schema: type: string summary: get badge for the report id tags: - Report /reports/{id}/card: get: parameters: - description: report id in: path name: id required: true type: string produces: - image/svg+xml responses: "200": description: treemap svg schema: type: string summary: Get status card of the repository tags: - Report /reports/{id}/comment/{number}: post: parameters: - description: report id in: path name: id required: true type: string - description: pull request number in: path name: number required: true type: string responses: "200": description: ok schema: type: string summary: Leave a report summary comment on pull request tags: - Report /reports/{id}/repo: get: parameters: - description: report id in: path name: id required: true type: string responses: "200": description: repository schema: $ref: '#/definitions/core.Repo' "400": description: error message schema: type: string summary: get repository of the report id tags: - Report /reports/{id}/treemap/{ref}: get: parameters: - description: report id in: path name: id required: true type: string - description: source branch in: path name: source required: true type: string produces: - image/svg+xml responses: "200": description: treemap svg schema: type: string summary: Get coverage difference treemap with main branch tags: - Report /repos: get: responses: "200": description: repositories schema: items: $ref: '#/definitions/core.Repo' type: array summary: List repositories for all available SCM providers tags: - Repository post: parameters: - description: repository to create in: body name: repo required: true schema: $ref: '#/definitions/core.Repo' responses: "200": description: Created repository schema: $ref: '#/definitions/core.Repo' summary: Create new repository for code coverage tags: - Repository /repos/{scm}: get: parameters: - description: SCM source (github, gitea) in: path name: scm required: true type: string responses: "200": description: repositories schema: items: $ref: '#/definitions/core.Repo' type: array summary: List repositories tags: - Repository /repos/{scm}/{namespace}/{name}: get: parameters: - description: SCM in: path name: scm required: true type: string - description: Namespace in: path name: namespace required: true type: string - description: name in: path name: name required: true type: string responses: "200": description: OK schema: $ref: '#/definitions/core.Repo' summary: get repository tags: - Repository patch: parameters: - description: SCM in: path name: scm required: true type: string - description: Namespace in: path name: namespace required: true type: string - description: name in: path name: name required: true type: string responses: "200": description: OK schema: $ref: '#/definitions/core.Repo' summary: sync repository information with SCM tags: - Repository /repos/{scm}/{namespace}/{name}/branches: get: parameters: - description: SCM in: path name: scm required: true type: string - description: Namespace in: path name: namespace required: true type: string - description: name in: path name: name required: true type: string responses: "200": description: OK schema: items: type: string type: array summary: list repository branches tags: - Repository /repos/{scm}/{namespace}/{name}/commits: get: parameters: - description: SCM in: path name: scm required: true type: string - description: Namespace in: path name: namespace required: true type: string - description: name in: path name: name required: true type: string - description: branch to list commits from in: query name: ref type: string responses: "200": description: OK schema: items: $ref: '#/definitions/core.Commit' type: array summary: list recent commits tags: - Repository /repos/{scm}/{namespace}/{name}/content/{path}: get: parameters: - description: SCM in: path name: scm required: true type: string - description: Namespace in: path name: namespace required: true type: string - description: name in: path name: name required: true type: string - description: file path in: path name: path required: true type: string - description: specify git ref, default main branch in: query name: ref type: string responses: "200": description: file content schema: type: string summary: Get a file content tags: - Repository /repos/{scm}/{namespace}/{name}/files: get: parameters: - description: SCM in: path name: scm required: true type: string - description: Namespace in: path name: namespace required: true type: string - description: name in: path name: name required: true type: string - description: specify git ref, default main branch in: query name: ref type: string responses: "200": description: files schema: items: type: string type: array summary: List all files in repository tags: - Repository /repos/{scm}/{namespace}/{name}/hook: post: parameters: - description: SCM in: path name: scm required: true type: string - description: Namespace in: path name: namespace required: true type: string - description: name in: path name: name required: true type: string responses: "200": description: OK schema: type: string summary: handle webhook event tags: - Repository /repos/{scm}/{namespace}/{name}/hook/create: post: parameters: - description: SCM in: path name: scm required: true type: string - description: Namespace in: path name: namespace required: true type: string - description: name in: path name: name required: true type: string responses: "200": description: OK schema: type: string summary: create repository webhook tags: - Repository /repos/{scm}/{namespace}/{name}/report: patch: parameters: - description: SCM in: path name: scm required: true type: string - description: Namespace in: path name: namespace required: true type: string - description: name in: path name: name required: true type: string responses: "200": description: updated repository schema: $ref: '#/definitions/core.Repo' summary: renew repository report id tags: - Repository /repos/{scm}/{namespace}/{name}/setting: get: parameters: - description: SCM in: path name: scm required: true type: string - description: Namespace in: path name: namespace required: true type: string - description: name in: path name: name required: true type: string responses: "200": description: OK schema: $ref: '#/definitions/core.RepoSetting' summary: get repository setting tags: - Repository post: parameters: - description: SCM in: path name: scm required: true type: string - description: Namespace in: path name: namespace required: true type: string - description: name in: path name: name required: true type: string - description: repository setting in: body name: setting required: true schema: $ref: '#/definitions/core.RepoSetting' responses: "200": description: OK schema: $ref: '#/definitions/core.RepoSetting' summary: update repository setting tags: - Repository /user: get: responses: "200": description: user schema: $ref: '#/definitions/user.User' "404": description: error schema: type: string summary: Get login user tags: - User /user/owner/{scm}/{namespace}/{name}: get: parameters: - description: SCM in: path name: scm required: true type: string - description: Namespace in: path name: namespace required: true type: string - description: name in: path name: name required: true type: string responses: "200": description: owner schema: $ref: '#/definitions/user.User' summary: Get repository's owner tags: - User /user/repos: get: responses: "200": description: list of repositories schema: items: $ref: '#/definitions/core.Repo' type: array summary: List user synchronized repositories tags: - User patch: responses: "200": description: ok schema: type: string summary: Synchronize user's repository from remote SCM tags: - User /user/scm: get: responses: "200": description: providers schema: $ref: '#/definitions/user.Providers' "404": description: providers schema: $ref: '#/definitions/user.Providers' summary: Get user's SCM binding state tags: - User /user/tokens: get: responses: "200": description: list of tokens schema: items: $ref: '#/definitions/user.Token' type: array summary: list OAuth tokens tags: - User post: parameters: - description: token name in: formData name: name type: string responses: "200": description: OK schema: type: string summary: create OAuth token tags: - User /user/tokens/{id}: delete: parameters: - description: token id in: path name: id required: true type: integer responses: "200": description: deleted token schema: $ref: '#/definitions/user.Token' summary: delete token with id tags: - User swagger: "2.0"