openapi: 3.1.0 info: title: Helios API description: API documentation for the Helios application server. contact: name: Turker Koc email: turker.koc@tum.de license: name: MIT License url: https://github.com/ls1intum/Helios/blob/main/LICENSE version: 0.0.1 servers: - url: / description: Default Server URL paths: /api/workflows/{workflowId}/label: put: tags: - workflow-controller operationId: updateWorkflowLabel parameters: - name: workflowId in: path required: true schema: type: integer format: int64 requestBody: content: application/json: schema: type: string enum: - NONE - TEST required: true responses: "409": description: Conflict content: application/json: schema: $ref: "#/components/schemas/ApiError" "200": description: OK /api/test-types/{testTypeId}: put: tags: - test-type-controller operationId: updateTestType parameters: - name: testTypeId in: path required: true schema: type: integer format: int64 requestBody: content: application/json: schema: $ref: "#/components/schemas/TestTypeDto" required: true responses: "409": description: Conflict content: application/json: schema: $ref: "#/components/schemas/ApiError" "200": description: OK content: application/json: schema: $ref: "#/components/schemas/TestTypeDto" delete: tags: - test-type-controller operationId: deleteTestType parameters: - name: testTypeId in: path required: true schema: type: integer format: int64 responses: "409": description: Conflict content: application/json: schema: $ref: "#/components/schemas/ApiError" "204": description: No Content /api/settings/{repositoryId}/settings: get: tags: - git-repo-settings-controller operationId: getGitRepoSettings parameters: - name: repositoryId in: path required: true schema: type: integer format: int64 responses: "409": description: Conflict content: application/json: schema: $ref: "#/components/schemas/ApiError" "200": description: OK content: application/json: schema: $ref: "#/components/schemas/GitRepoSettingsDto" put: tags: - git-repo-settings-controller operationId: updateGitRepoSettings parameters: - name: repositoryId in: path required: true schema: type: integer format: int64 requestBody: content: application/json: schema: $ref: "#/components/schemas/GitRepoSettingsDto" required: true responses: "409": description: Conflict content: application/json: schema: $ref: "#/components/schemas/ApiError" "200": description: OK content: application/json: schema: type: object /api/settings/{repositoryId}/groups/update: put: tags: - git-repo-settings-controller operationId: updateWorkflowGroups parameters: - name: repositoryId in: path required: true schema: type: integer format: int64 requestBody: content: application/json: schema: type: array items: $ref: "#/components/schemas/WorkflowGroupDto" required: true responses: "409": description: Conflict content: application/json: schema: $ref: "#/components/schemas/ApiError" "200": description: OK /api/release-info/update-name: put: tags: - release-info-controller operationId: updateReleaseName requestBody: content: application/json: schema: $ref: "#/components/schemas/ReleaseCandidateNameUpdateDto" required: true responses: "409": description: Conflict content: application/json: schema: $ref: "#/components/schemas/ApiError" "200": description: OK /api/release-info/release-notes: put: tags: - release-info-controller operationId: updateReleaseNotes requestBody: content: application/json: schema: $ref: "#/components/schemas/UpdateReleaseNotesDto" required: true responses: "409": description: Conflict content: application/json: schema: $ref: "#/components/schemas/ApiError" "200": description: OK /api/environments/{id}: get: tags: - environment-controller operationId: getEnvironmentById parameters: - name: id in: path required: true schema: type: integer format: int64 responses: "409": description: Conflict content: application/json: schema: $ref: "#/components/schemas/ApiError" "200": description: OK content: application/json: schema: $ref: "#/components/schemas/EnvironmentDto" put: tags: - environment-controller operationId: updateEnvironment parameters: - name: id in: path required: true schema: type: integer format: int64 requestBody: content: application/json: schema: $ref: "#/components/schemas/EnvironmentDto" required: true responses: "409": description: Conflict content: application/json: schema: $ref: "#/components/schemas/ApiError" "200": description: OK content: application/json: schema: type: object /api/environments/{id}/unlock: put: tags: - environment-controller operationId: unlockEnvironment parameters: - name: id in: path required: true schema: type: integer format: int64 responses: "409": description: Conflict content: application/json: schema: $ref: "#/components/schemas/ApiError" "200": description: OK content: application/json: schema: type: object /api/environments/{id}/lock: put: tags: - environment-controller operationId: lockEnvironment parameters: - name: id in: path required: true schema: type: integer format: int64 responses: "409": description: Conflict content: application/json: schema: $ref: "#/components/schemas/ApiError" "200": description: OK content: application/json: schema: type: object /api/environments/{id}/extend-lock: put: tags: - environment-controller operationId: extendEnvironmentLock parameters: - name: id in: path required: true schema: type: integer format: int64 responses: "409": description: Conflict content: application/json: schema: $ref: "#/components/schemas/ApiError" "200": description: OK content: application/json: schema: type: object /api/workflows/repository/{repositoryId}/sync: post: tags: - workflow-controller operationId: syncWorkflowsByRepositoryId parameters: - name: repositoryId in: path required: true schema: type: integer format: int64 responses: "409": description: Conflict content: application/json: schema: $ref: "#/components/schemas/ApiError" "200": description: OK /api/user/settings: get: tags: - user-controller operationId: getUserSettings responses: "409": description: Conflict content: application/json: schema: $ref: "#/components/schemas/ApiError" "200": description: OK content: application/json: schema: $ref: "#/components/schemas/UserSettingsDto" post: tags: - user-controller operationId: updateUserSettings requestBody: content: application/json: schema: $ref: "#/components/schemas/UserSettingsDto" required: true responses: "409": description: Conflict content: application/json: schema: $ref: "#/components/schemas/ApiError" "200": description: OK /api/user/notification-preferences: get: tags: - user-controller operationId: getNotificationPreferences responses: "409": description: Conflict content: application/json: schema: $ref: "#/components/schemas/ApiError" "200": description: OK content: application/json: schema: type: array items: $ref: "#/components/schemas/NotificationPreferenceDto" post: tags: - user-controller operationId: updateNotificationPreferences requestBody: content: application/json: schema: $ref: "#/components/schemas/NotificationPreferencesWrapper" required: true responses: "409": description: Conflict content: application/json: schema: $ref: "#/components/schemas/ApiError" "200": description: OK /api/test-types: get: tags: - test-type-controller operationId: getAllTestTypes responses: "409": description: Conflict content: application/json: schema: $ref: "#/components/schemas/ApiError" "200": description: OK content: application/json: schema: type: array items: $ref: "#/components/schemas/TestTypeDto" post: tags: - test-type-controller operationId: createTestType requestBody: content: application/json: schema: $ref: "#/components/schemas/TestTypeDto" required: true responses: "409": description: Conflict content: application/json: schema: $ref: "#/components/schemas/ApiError" "201": description: Created content: application/json: schema: $ref: "#/components/schemas/TestTypeDto" /api/settings/{repositoryId}/secret: post: tags: - git-repo-settings-controller operationId: rotateSecret parameters: - name: repositoryId in: path required: true schema: type: integer format: int64 responses: "409": description: Conflict content: application/json: schema: $ref: "#/components/schemas/ApiError" "200": description: OK content: application/json: schema: type: string /api/settings/{repositoryId}/groups/create: post: tags: - git-repo-settings-controller operationId: createWorkflowGroup parameters: - name: repositoryId in: path required: true schema: type: integer format: int64 requestBody: content: application/json: schema: $ref: "#/components/schemas/WorkflowGroupDto" required: true responses: "409": description: Conflict content: application/json: schema: $ref: "#/components/schemas/ApiError" "200": description: OK content: application/json: schema: $ref: "#/components/schemas/WorkflowGroupDto" /api/release-info: get: tags: - release-info-controller operationId: getAllReleaseInfos responses: "409": description: Conflict content: application/json: schema: $ref: "#/components/schemas/ApiError" "200": description: OK content: application/json: schema: type: array items: $ref: "#/components/schemas/ReleaseInfoListDto" post: tags: - release-info-controller operationId: createReleaseCandidate requestBody: content: application/json: schema: $ref: "#/components/schemas/ReleaseCandidateCreateDto" required: true responses: "409": description: Conflict content: application/json: schema: $ref: "#/components/schemas/ApiError" "200": description: OK content: application/json: schema: $ref: "#/components/schemas/ReleaseInfoListDto" delete: tags: - release-info-controller operationId: deleteReleaseCandidateByName requestBody: content: application/json: schema: $ref: "#/components/schemas/ReleaseNameDto" required: true responses: "409": description: Conflict content: application/json: schema: $ref: "#/components/schemas/ApiError" "200": description: OK content: application/json: schema: $ref: "#/components/schemas/ReleaseInfoListDto" /api/release-info/publish: post: tags: - release-info-controller operationId: publishReleaseDraft requestBody: content: application/json: schema: $ref: "#/components/schemas/ReleaseNameDto" required: true responses: "409": description: Conflict content: application/json: schema: $ref: "#/components/schemas/ApiError" "200": description: OK /api/release-info/generate-release-notes: post: tags: - release-info-controller operationId: generateReleaseNotes requestBody: content: application/json: schema: $ref: "#/components/schemas/ReleaseNameDto" required: true responses: "409": description: Conflict content: application/json: schema: $ref: "#/components/schemas/ApiError" "200": description: OK content: application/json: schema: type: string /api/release-info/evaluate: post: tags: - release-info-controller operationId: evaluate requestBody: content: application/json: schema: $ref: "#/components/schemas/ReleaseEvaluationDto" required: true responses: "409": description: Conflict content: application/json: schema: $ref: "#/components/schemas/ApiError" "200": description: OK /api/release-info/details: post: tags: - release-info-controller operationId: getReleaseInfoByName requestBody: content: application/json: schema: $ref: "#/components/schemas/ReleaseNameDto" required: true responses: "409": description: Conflict content: application/json: schema: $ref: "#/components/schemas/ApiError" "200": description: OK content: application/json: schema: $ref: "#/components/schemas/ReleaseInfoDetailsDto" /api/pullrequests/{pr}/pin: post: tags: - pull-request-controller operationId: setPrPinnedByNumber parameters: - name: pr in: path required: true schema: type: integer format: int64 - name: isPinned in: query required: true schema: type: boolean responses: "409": description: Conflict content: application/json: schema: $ref: "#/components/schemas/ApiError" "200": description: OK /api/environments/sync: post: tags: - environment-controller operationId: syncEnvironments responses: "409": description: Conflict content: application/json: schema: $ref: "#/components/schemas/ApiError" "200": description: OK content: application/json: schema: type: object /api/environments/status: post: tags: - environment-status-controller operationId: update requestBody: content: application/json: schema: $ref: "#/components/schemas/PushStatusPayload" required: true responses: "409": description: Conflict content: application/json: schema: $ref: "#/components/schemas/ApiError" "200": description: OK /api/deployments/deploy: post: tags: - deployment-controller operationId: deployToEnvironment requestBody: content: application/json: schema: $ref: "#/components/schemas/DeployRequest" required: true responses: "409": description: Conflict content: application/json: schema: $ref: "#/components/schemas/ApiError" "200": description: OK content: application/json: schema: type: string /api/deployments/cancel: post: tags: - deployment-controller operationId: cancelDeployment requestBody: content: application/json: schema: $ref: "#/components/schemas/CancelDeploymentRequest" required: true responses: "409": description: Conflict content: application/json: schema: $ref: "#/components/schemas/ApiError" "200": description: OK content: application/json: schema: type: string /api/branches/repository/{repoId}/pin: post: tags: - branch-controller operationId: setBranchPinnedByRepositoryIdAndNameAndUserId parameters: - name: repoId in: path required: true schema: type: integer format: int64 - name: name in: query required: true schema: type: string - name: isPinned in: query required: true schema: type: boolean responses: "409": description: Conflict content: application/json: schema: $ref: "#/components/schemas/ApiError" "200": description: OK /status/health: get: tags: - status-controller operationId: healthCheck responses: "409": description: Conflict content: application/json: schema: $ref: "#/components/schemas/ApiError" "200": description: OK content: application/json: schema: type: string /api/workflows: get: tags: - workflow-controller operationId: getAllWorkflows responses: "409": description: Conflict content: application/json: schema: $ref: "#/components/schemas/ApiError" "200": description: OK content: application/json: schema: type: array items: $ref: "#/components/schemas/WorkflowDto" /api/workflows/{id}: get: tags: - workflow-controller operationId: getWorkflowById parameters: - name: id in: path required: true schema: type: integer format: int64 responses: "409": description: Conflict content: application/json: schema: $ref: "#/components/schemas/ApiError" "200": description: OK content: application/json: schema: $ref: "#/components/schemas/WorkflowDto" /api/workflows/state/{state}: get: tags: - workflow-controller operationId: getWorkflowsByState parameters: - name: state in: path required: true schema: type: string enum: - ACTIVE - DELETED - DISABLED_FORK - DISABLED_INACTIVITY - DISABLED_MANUALLY - UNKNOWN responses: "409": description: Conflict content: application/json: schema: $ref: "#/components/schemas/ApiError" "200": description: OK content: application/json: schema: type: array items: $ref: "#/components/schemas/WorkflowDto" /api/workflows/repository/{repositoryId}: get: tags: - workflow-controller operationId: getWorkflowsByRepositoryId parameters: - name: repositoryId in: path required: true schema: type: integer format: int64 responses: "409": description: Conflict content: application/json: schema: $ref: "#/components/schemas/ApiError" "200": description: OK content: application/json: schema: type: array items: $ref: "#/components/schemas/WorkflowDto" /api/workflows/pr/{pullRequestId}: get: tags: - workflow-run-controller operationId: getLatestWorkflowRunsByPullRequestIdAndHeadCommit parameters: - name: pullRequestId in: path required: true schema: type: integer format: int64 responses: "409": description: Conflict content: application/json: schema: $ref: "#/components/schemas/ApiError" "200": description: OK content: application/json: schema: type: array items: $ref: "#/components/schemas/WorkflowRunDto" /api/workflows/branch: get: tags: - workflow-run-controller operationId: getLatestWorkflowRunsByBranchAndHeadCommit parameters: - name: branch in: query required: true schema: type: string responses: "409": description: Conflict content: application/json: schema: $ref: "#/components/schemas/ApiError" "200": description: OK content: application/json: schema: type: array items: $ref: "#/components/schemas/WorkflowRunDto" /api/user-permissions: get: tags: - user-permissions-controller operationId: getUserPermissions responses: "409": description: Conflict content: application/json: schema: $ref: "#/components/schemas/ApiError" "200": description: OK content: application/json: schema: $ref: "#/components/schemas/GitHubRepositoryRoleDto" /api/tests/pr/{pullRequestId}: get: tags: - test-result-controller operationId: getLatestTestResultsByPullRequestId parameters: - name: pullRequestId in: path required: true schema: type: integer format: int64 - name: page in: query required: false schema: type: integer format: int32 default: 0 - name: size in: query required: false schema: type: integer format: int32 default: 10 - name: search in: query required: false schema: type: string - name: onlyFailed in: query required: false schema: type: boolean default: false responses: "409": description: Conflict content: application/json: schema: $ref: "#/components/schemas/ApiError" "200": description: OK content: application/json: schema: $ref: "#/components/schemas/TestResultsDto" /api/tests/branch: get: tags: - test-result-controller operationId: getLatestTestResultsByBranch parameters: - name: branch in: query required: true schema: type: string - name: page in: query required: false schema: type: integer format: int32 default: 0 - name: size in: query required: false schema: type: integer format: int32 default: 10 - name: search in: query required: false schema: type: string - name: onlyFailed in: query required: false schema: type: boolean default: false responses: "409": description: Conflict content: application/json: schema: $ref: "#/components/schemas/ApiError" "200": description: OK content: application/json: schema: $ref: "#/components/schemas/TestResultsDto" /api/settings/{repositoryId}/groups: get: tags: - git-repo-settings-controller operationId: getGroupsWithWorkflows parameters: - name: repositoryId in: path required: true schema: type: integer format: int64 responses: "409": description: Conflict content: application/json: schema: $ref: "#/components/schemas/ApiError" "200": description: OK content: application/json: schema: type: array items: $ref: "#/components/schemas/WorkflowGroupDto" /api/repository: get: tags: - repository-controller operationId: getAllRepositories responses: "409": description: Conflict content: application/json: schema: $ref: "#/components/schemas/ApiError" "200": description: OK content: application/json: schema: type: array items: $ref: "#/components/schemas/RepositoryInfoDto" /api/repository/{id}: get: tags: - repository-controller operationId: getRepositoryById parameters: - name: id in: path required: true schema: type: integer format: int64 responses: "409": description: Conflict content: application/json: schema: $ref: "#/components/schemas/ApiError" "200": description: OK content: application/json: schema: $ref: "#/components/schemas/RepositoryInfoDto" /api/release-info/newcommits: get: tags: - release-info-controller operationId: getCommitsSinceLastReleaseCandidate parameters: - name: branch in: query required: true schema: type: string responses: "409": description: Conflict content: application/json: schema: $ref: "#/components/schemas/ApiError" "200": description: OK content: application/json: schema: $ref: "#/components/schemas/CommitsSinceReleaseCandidateDto" /api/pullrequests: get: tags: - pull-request-controller operationId: getPullRequests parameters: - name: page in: query required: false schema: type: integer format: int32 default: 1 - name: size in: query required: false schema: type: integer format: int32 default: 20 - name: sortField in: query required: false schema: type: string - name: sortDirection in: query required: false schema: type: string - name: filterType in: query required: false schema: type: string enum: - ALL - OPEN - OPEN_READY_FOR_REVIEW - DRAFT - MERGED - CLOSED - USER_AUTHORED - ASSIGNED_TO_USER - REVIEW_REQUESTED - name: searchTerm in: query required: false schema: type: string responses: "409": description: Conflict content: application/json: schema: $ref: "#/components/schemas/ApiError" "200": description: OK content: application/json: schema: $ref: "#/components/schemas/PaginatedPullRequestsResponse" /api/pullrequests/{id}: get: tags: - pull-request-controller operationId: getPullRequestById parameters: - name: id in: path required: true schema: type: integer format: int64 responses: "409": description: Conflict content: application/json: schema: $ref: "#/components/schemas/ApiError" "200": description: OK content: application/json: schema: $ref: "#/components/schemas/PullRequestInfoDto" /api/pullrequests/repository/{repoId}/pr/{number}: get: tags: - pull-request-controller operationId: getPullRequestByRepositoryIdAndNumber parameters: - name: repoId in: path required: true schema: type: integer format: int64 - name: number in: path required: true schema: type: integer format: int32 responses: "409": description: Conflict content: application/json: schema: $ref: "#/components/schemas/ApiError" "200": description: OK content: application/json: schema: $ref: "#/components/schemas/PullRequestInfoDto" /api/pullrequests/repository/{id}: get: tags: - pull-request-controller operationId: getPullRequestByRepositoryId parameters: - name: id in: path required: true schema: type: integer format: int64 responses: "409": description: Conflict content: application/json: schema: $ref: "#/components/schemas/ApiError" "200": description: OK content: application/json: schema: type: array items: $ref: "#/components/schemas/PullRequestInfoDto" /api/environments: get: tags: - environment-controller operationId: getAllEnvironments responses: "409": description: Conflict content: application/json: schema: $ref: "#/components/schemas/ApiError" "200": description: OK content: application/json: schema: type: array items: $ref: "#/components/schemas/EnvironmentDto" /api/environments/{environmentId}/reviewers: get: tags: - environment-controller operationId: getEnvironmentReviewers parameters: - name: environmentId in: path required: true schema: type: integer format: int64 responses: "409": description: Conflict content: application/json: schema: $ref: "#/components/schemas/ApiError" "200": description: OK content: application/json: schema: $ref: "#/components/schemas/EnvironmentReviewersDto" /api/environments/userLocking: get: tags: - environment-controller operationId: getEnvironmentsByUserLocking responses: "409": description: Conflict content: application/json: schema: $ref: "#/components/schemas/ApiError" "200": description: OK content: application/json: schema: $ref: "#/components/schemas/EnvironmentLockHistoryDto" /api/environments/repository/{repositoryId}: get: tags: - environment-controller operationId: getEnvironmentsByRepositoryId parameters: - name: repositoryId in: path required: true schema: type: integer format: int64 responses: "409": description: Conflict content: application/json: schema: $ref: "#/components/schemas/ApiError" "200": description: OK content: application/json: schema: type: array items: $ref: "#/components/schemas/EnvironmentDto" /api/environments/environment/{environmentId}/lockHistory: get: tags: - environment-controller operationId: getLockHistoryByEnvironmentId parameters: - name: environmentId in: path required: true schema: type: integer format: int64 responses: "409": description: Conflict content: application/json: schema: $ref: "#/components/schemas/ApiError" "200": description: OK content: application/json: schema: type: array items: $ref: "#/components/schemas/EnvironmentLockHistoryDto" /api/environments/enabled: get: tags: - environment-controller operationId: getAllEnabledEnvironments responses: "409": description: Conflict content: application/json: schema: $ref: "#/components/schemas/ApiError" "200": description: OK content: application/json: schema: type: array items: $ref: "#/components/schemas/EnvironmentDto" /api/deployments: get: tags: - deployment-controller operationId: getAllDeployments responses: "409": description: Conflict content: application/json: schema: $ref: "#/components/schemas/ApiError" "200": description: OK content: application/json: schema: type: array items: $ref: "#/components/schemas/DeploymentDto" /api/deployments/{id}: get: tags: - deployment-controller operationId: getDeploymentById parameters: - name: id in: path required: true schema: type: integer format: int64 responses: "409": description: Conflict content: application/json: schema: $ref: "#/components/schemas/ApiError" "200": description: OK content: application/json: schema: $ref: "#/components/schemas/DeploymentDto" /api/deployments/workflowJobStatus/{runId}: get: tags: - deployment-controller operationId: getWorkflowJobStatus parameters: - name: runId in: path required: true schema: type: integer format: int64 responses: "409": description: Conflict content: application/json: schema: $ref: "#/components/schemas/ApiError" "200": description: OK content: application/json: schema: $ref: "#/components/schemas/WorkflowJobsResponse" /api/deployments/environment/{environmentId}: get: tags: - deployment-controller operationId: getDeploymentsByEnvironmentId parameters: - name: environmentId in: path required: true schema: type: integer format: int64 responses: "409": description: Conflict content: application/json: schema: $ref: "#/components/schemas/ApiError" "200": description: OK content: application/json: schema: type: array items: $ref: "#/components/schemas/DeploymentDto" /api/deployments/environment/{environmentId}/latest: get: tags: - deployment-controller operationId: getLatestDeploymentByEnvironmentId parameters: - name: environmentId in: path required: true schema: type: integer format: int64 responses: "409": description: Conflict content: application/json: schema: $ref: "#/components/schemas/ApiError" "200": description: OK content: application/json: schema: $ref: "#/components/schemas/DeploymentDto" /api/deployments/environment/{environmentId}/activity-history: get: tags: - deployment-controller operationId: getActivityHistoryByEnvironmentId parameters: - name: environmentId in: path required: true schema: type: integer format: int64 responses: "409": description: Conflict content: application/json: schema: $ref: "#/components/schemas/ApiError" "200": description: OK content: application/json: schema: type: array items: $ref: "#/components/schemas/ActivityHistoryDto" /api/commits/repository/{repoId}/commit/{sha}: get: tags: - commit-controller operationId: getCommitByRepositoryIdAndName parameters: - name: repoId in: path required: true schema: type: integer format: int64 - name: sha in: path required: true schema: type: string responses: "409": description: Conflict content: application/json: schema: $ref: "#/components/schemas/ApiError" "200": description: OK content: application/json: schema: $ref: "#/components/schemas/CommitInfoDto" /api/branches: get: tags: - branch-controller operationId: getAllBranches responses: "409": description: Conflict content: application/json: schema: $ref: "#/components/schemas/ApiError" "200": description: OK content: application/json: schema: type: array items: $ref: "#/components/schemas/BranchInfoDto" /api/branches/repository/{repoId}/branch: get: tags: - branch-controller operationId: getBranchByRepositoryIdAndName parameters: - name: repoId in: path required: true schema: type: integer format: int64 - name: name in: query required: true schema: type: string responses: "409": description: Conflict content: application/json: schema: $ref: "#/components/schemas/ApiError" "200": description: OK content: application/json: schema: $ref: "#/components/schemas/BranchDetailsDto" /api/settings/{repositoryId}/groups/{groupId}: delete: tags: - git-repo-settings-controller operationId: deleteWorkflowGroup parameters: - name: repositoryId in: path required: true schema: type: integer format: int64 - name: groupId in: path required: true schema: type: integer format: int64 responses: "409": description: Conflict content: application/json: schema: $ref: "#/components/schemas/ApiError" "200": description: OK components: schemas: ApiError: type: object properties: status: type: integer format: int32 error: type: string message: type: string path: type: string timestamp: type: string format: date-time TestTypeDto: type: object properties: id: type: integer format: int64 name: type: string maxLength: 255 minLength: 0 artifactName: type: string maxLength: 255 minLength: 0 workflowId: type: integer format: int64 required: - artifactName - name - workflowId GitRepoSettingsDto: type: object properties: id: type: integer format: int64 lockExpirationThreshold: type: integer format: int64 lockReservationThreshold: type: integer format: int64 packageName: type: string WorkflowGroupDto: type: object properties: id: type: integer format: int64 name: type: string orderIndex: type: integer format: int32 memberships: type: array items: $ref: "#/components/schemas/WorkflowMembershipDto" required: - id - name - orderIndex WorkflowMembershipDto: type: object properties: workflowId: type: integer format: int64 orderIndex: type: integer format: int32 required: - orderIndex - workflowId ReleaseCandidateNameUpdateDto: type: object properties: oldName: type: string newName: type: string UpdateReleaseNotesDto: type: object properties: name: type: string notes: type: string EnvironmentDeployment: type: object properties: id: type: integer format: int64 url: type: string state: type: string enum: - REQUESTED - PENDING - WAITING - SUCCESS - ERROR - FAILURE - IN_PROGRESS - QUEUED - INACTIVE - UNKNOWN statusesUrl: type: string sha: type: string ref: type: string task: type: string workflowRunHtmlUrl: type: string releaseCandidateNames: type: array items: type: string prName: type: string user: $ref: "#/components/schemas/UserInfoDto" pullRequestNumber: type: integer format: int32 createdAt: type: string format: date-time updatedAt: type: string format: date-time type: type: string enum: - GITHUB - HELIOS required: - id - type EnvironmentDto: type: object properties: repository: $ref: "#/components/schemas/RepositoryInfoDto" id: type: integer format: int64 name: type: string displayName: type: string locked: type: boolean url: type: string htmlUrl: type: string createdAt: type: string format: date-time updatedAt: type: string format: date-time enabled: type: boolean installedApps: type: array items: type: string description: type: string serverUrl: type: string statusCheckType: type: string enum: - HTTP_STATUS - ARTEMIS_INFO - PUSH_UPDATE statusUrl: type: string deploymentWorkflowBranch: type: string latestDeployment: $ref: "#/components/schemas/EnvironmentDeployment" latestStatus: $ref: "#/components/schemas/EnvironmentStatusDto" lockedBy: $ref: "#/components/schemas/UserInfoDto" lockedAt: type: string format: date-time type: type: string enum: - TEST - STAGING - PRODUCTION deploymentWorkflow: $ref: "#/components/schemas/WorkflowDto" lockExpirationThreshold: type: integer format: int64 lockReservationThreshold: type: integer format: int64 lockWillExpireAt: type: string format: date-time lockReservationWillExpireAt: type: string format: date-time required: - id - name EnvironmentStatusDto: type: object properties: id: type: integer format: int64 success: type: boolean state: type: string enum: - STARTING_UP - DB_MIGRATION_STARTED - DB_MIGRATION_FAILED - DB_MIGRATION_FINISHED - RUNNING - DEGRADED - SHUTTING_DOWN - STOPPED - FAILED httpStatusCode: type: integer format: int32 checkedAt: type: string format: date-time checkType: type: string enum: - HTTP_STATUS - ARTEMIS_INFO - PUSH_UPDATE metadata: type: object additionalProperties: {} required: - checkType - checkedAt - httpStatusCode - id - success RepositoryInfoDto: type: object properties: id: type: integer format: int64 name: type: string nameWithOwner: type: string description: type: string htmlUrl: type: string updatedAt: type: string format: date-time stargazersCount: type: integer format: int32 pullRequestCount: type: integer format: int32 branchCount: type: integer format: int32 environmentCount: type: integer format: int32 latestReleaseTagName: type: string contributors: type: array items: $ref: "#/components/schemas/UserInfoDto" required: - htmlUrl - id - name - nameWithOwner - updatedAt UserInfoDto: type: object properties: id: type: integer format: int64 login: type: string avatarUrl: type: string name: type: string htmlUrl: type: string required: - avatarUrl - htmlUrl - id - login - name WorkflowDto: type: object properties: id: type: integer format: int64 repository: $ref: "#/components/schemas/RepositoryInfoDto" name: type: string path: type: string fileNameWithExtension: type: string state: type: string enum: - ACTIVE - DELETED - DISABLED_FORK - DISABLED_INACTIVITY - DISABLED_MANUALLY - UNKNOWN url: type: string htmlUrl: type: string badgeUrl: type: string label: type: string enum: - NONE - TEST createdAt: type: string format: date-time updatedAt: type: string format: date-time required: - id - label - name - path - state UserSettingsDto: type: object properties: notificationEmail: type: string notificationsEnabled: type: boolean NotificationPreferenceDto: type: object properties: type: type: string enum: - DEPLOYMENT_FAILED - LOCK_EXPIRED - LOCK_UNLOCKED enabled: type: boolean NotificationPreferencesWrapper: type: object properties: preferences: type: array items: $ref: "#/components/schemas/NotificationPreferenceDto" ReleaseCandidateCreateDto: type: object properties: name: type: string commitSha: type: string branchName: type: string required: - branchName - commitSha - name ReleaseInfoListDto: type: object properties: name: type: string commitSha: type: string branchName: type: string isPublished: type: boolean ReleaseNameDto: type: object properties: name: type: string ReleaseEvaluationDto: type: object properties: name: type: string isWorking: type: boolean comment: type: string maxLength: 500 minLength: 0 BranchInfoDto: type: object properties: name: type: string commitSha: type: string aheadBy: type: integer format: int32 behindBy: type: integer format: int32 isDefault: type: boolean isProtected: type: boolean isPinned: type: boolean updatedAt: type: string format: date-time updatedBy: $ref: "#/components/schemas/UserInfoDto" repository: $ref: "#/components/schemas/RepositoryInfoDto" required: - commitSha - name CommitInfoDto: type: object properties: sha: type: string author: $ref: "#/components/schemas/UserInfoDto" message: type: string authoredAt: type: string format: date-time repository: $ref: "#/components/schemas/RepositoryInfoDto" required: - sha ReleaseCandidateDeploymentDto: type: object properties: id: type: integer format: int64 type: type: string enum: - GITHUB - HELIOS environmentId: type: integer format: int64 required: - environmentId - id - type ReleaseCandidateEvaluationDto: type: object properties: user: $ref: "#/components/schemas/UserInfoDto" isWorking: type: boolean comment: type: string required: - user ReleaseDto: type: object properties: isDraft: type: boolean isPrerelease: type: boolean body: type: string githubUrl: type: string required: - body - githubUrl - isDraft - isPrerelease ReleaseInfoDetailsDto: type: object properties: name: type: string commit: $ref: "#/components/schemas/CommitInfoDto" branch: $ref: "#/components/schemas/BranchInfoDto" deployments: type: array items: $ref: "#/components/schemas/ReleaseCandidateDeploymentDto" evaluations: type: array items: $ref: "#/components/schemas/ReleaseCandidateEvaluationDto" release: $ref: "#/components/schemas/ReleaseDto" createdBy: $ref: "#/components/schemas/UserInfoDto" createdAt: type: string format: date-time body: type: string required: - commit - createdAt - deployments - evaluations - name PushStatusPayload: type: object properties: environment: type: string minLength: 1 state: type: string enum: - STARTING_UP - DB_MIGRATION_STARTED - DB_MIGRATION_FAILED - DB_MIGRATION_FINISHED - RUNNING - DEGRADED - SHUTTING_DOWN - STOPPED - FAILED timestamp: type: string format: date-time details: type: object additionalProperties: {} required: - environment - state - timestamp DeployRequest: type: object properties: environmentId: type: integer format: int64 branchName: type: string commitSha: type: string required: - branchName - commitSha - environmentId CancelDeploymentRequest: type: object properties: workflowRunId: type: integer format: int64 required: - workflowRunId WorkflowRunDto: type: object properties: id: type: integer format: int64 name: type: string displayTitle: type: string status: type: string enum: - QUEUED - IN_PROGRESS - COMPLETED - ACTION_REQUIRED - CANCELLED - FAILURE - NEUTRAL - SKIPPED - STALE - SUCCESS - TIMED_OUT - REQUESTED - WAITING - PENDING - UNKNOWN workflowId: type: integer format: int64 conclusion: type: string enum: - ACTION_REQUIRED - CANCELLED - FAILURE - NEUTRAL - SUCCESS - SKIPPED - STALE - TIMED_OUT - STARTUP_FAILURE - UNKNOWN htmlUrl: type: string label: type: string enum: - NONE - TEST testProcessingStatus: type: string enum: - PROCESSING - PROCESSED - FAILED required: - displayTitle - htmlUrl - id - label - name - status - workflowId GitHubRepositoryRoleDto: type: object properties: permission: type: string enum: - ADMIN - WRITE - READ - NONE roleName: type: string TestCaseDto: type: object properties: id: type: integer format: int64 name: type: string className: type: string status: type: string enum: - PASSED - FAILED - ERROR - SKIPPED previousStatus: type: string enum: - PASSED - FAILED - ERROR - SKIPPED time: type: number format: double message: type: string stackTrace: type: string systemOut: type: string errorType: type: string flakinessScore: type: number format: double defaultBranchFailureRate: type: number format: double combinedFailureRate: type: number format: double failsInDefaultBranch: type: boolean required: - className - id - name - status - time TestResultsDto: type: object properties: testResults: type: array items: $ref: "#/components/schemas/TestTypeResults" isProcessing: type: boolean required: - testResults TestSuiteDto: type: object properties: id: type: integer format: int64 name: type: string timestamp: type: string format: date-time tests: type: integer format: int32 failures: type: integer format: int32 errors: type: integer format: int32 skipped: type: integer format: int32 time: type: number format: double systemOut: type: string testCases: type: array items: $ref: "#/components/schemas/TestCaseDto" required: - errors - failures - id - name - skipped - testCases - tests - time - timestamp TestTypeResults: type: object properties: testTypeId: type: integer format: int64 testTypeName: type: string testSuites: type: array items: $ref: "#/components/schemas/TestSuiteDto" isProcessing: type: boolean stats: $ref: "#/components/schemas/TestTypeStats" required: - isProcessing - stats - testSuites - testTypeId - testTypeName TestTypeStats: type: object properties: totalSuites: type: integer format: int32 totalTests: type: integer format: int32 passed: type: integer format: int32 failures: type: integer format: int32 errors: type: integer format: int32 skipped: type: integer format: int32 totalTime: type: number format: double totalUpdates: type: integer format: int32 required: - errors - failures - passed - skipped - totalSuites - totalTests - totalTime - totalUpdates CommitsSinceReleaseCandidateDto: type: object properties: aheadBy: type: integer format: int32 behindBy: type: integer format: int32 commits: type: array items: $ref: "#/components/schemas/CompareCommitInfoDto" compareUrl: type: string required: - aheadBy - behindBy - commits CompareCommitInfoDto: type: object properties: sha: type: string message: type: string authorName: type: string authorEmail: type: string url: type: string required: - authorEmail - authorName - message - sha - url LabelInfoDto: type: object properties: id: type: integer format: int64 description: The unique identifier of the label name: type: string description: The name of the label example: bug color: type: string description: "The color of the label as a 6-character hex code (without\ \ #)" example: ff0000 repository: $ref: "#/components/schemas/RepositoryInfoDto" description: The repository associated with this label required: - color - id - name PaginatedPullRequestsResponse: type: object properties: pinned: type: array items: $ref: "#/components/schemas/PullRequestBaseInfoDto" page: type: array items: $ref: "#/components/schemas/PullRequestBaseInfoDto" pageNumber: type: integer format: int32 pageSize: type: integer format: int32 totalNonPinned: type: integer format: int64 totalPages: type: integer format: int32 PullRequestBaseInfoDto: type: object properties: id: type: integer format: int64 number: type: integer format: int32 title: type: string state: type: string enum: - OPEN - CLOSED isDraft: type: boolean isMerged: type: boolean isPinned: type: boolean htmlUrl: type: string createdAt: type: string format: date-time updatedAt: type: string format: date-time author: $ref: "#/components/schemas/UserInfoDto" labels: type: array items: $ref: "#/components/schemas/LabelInfoDto" assignees: type: array items: $ref: "#/components/schemas/UserInfoDto" reviewers: type: array items: $ref: "#/components/schemas/UserInfoDto" required: - htmlUrl - id - isDraft - isMerged - number - state - title PullRequestInfoDto: type: object properties: id: type: integer format: int64 number: type: integer format: int32 title: type: string state: type: string enum: - OPEN - CLOSED isDraft: type: boolean isMerged: type: boolean commentsCount: type: integer format: int32 author: $ref: "#/components/schemas/UserInfoDto" labels: type: array items: $ref: "#/components/schemas/LabelInfoDto" assignees: type: array items: $ref: "#/components/schemas/UserInfoDto" repository: $ref: "#/components/schemas/RepositoryInfoDto" additions: type: integer format: int32 deletions: type: integer format: int32 headSha: type: string headRefName: type: string headRefRepoNameWithOwner: type: string mergedAt: type: string format: date-time closedAt: type: string format: date-time htmlUrl: type: string createdAt: type: string format: date-time updatedAt: type: string format: date-time required: - additions - commentsCount - deletions - headRefName - headRefRepoNameWithOwner - headSha - htmlUrl - id - isDraft - isMerged - number - state - title EnvironmentReviewersDto: type: object properties: preventSelfReview: type: boolean reviewers: type: array items: $ref: "#/components/schemas/Reviewer" Reviewer: type: object properties: id: type: integer format: int32 login: type: string name: type: string type: type: string EnvironmentLockHistoryDto: type: object properties: id: type: integer format: int64 lockedBy: $ref: "#/components/schemas/UserInfoDto" unlockedBy: $ref: "#/components/schemas/UserInfoDto" lockedAt: type: string format: date-time unlockedAt: type: string format: date-time environment: $ref: "#/components/schemas/EnvironmentDto" required: - id DeploymentDto: type: object properties: id: type: integer format: int64 repository: $ref: "#/components/schemas/RepositoryInfoDto" url: type: string state: type: string enum: - PENDING - WAITING - SUCCESS - ERROR - FAILURE - IN_PROGRESS - QUEUED - INACTIVE - UNKNOWN statusesUrl: type: string sha: type: string ref: type: string task: type: string environment: $ref: "#/components/schemas/EnvironmentDto" user: $ref: "#/components/schemas/UserInfoDto" createdAt: type: string format: date-time updatedAt: type: string format: date-time required: - environment - id - ref - sha - statusesUrl - task - url WorkflowJobDto: type: object properties: id: type: integer format: int64 name: type: string status: type: string conclusion: type: string startedAt: type: string format: date-time completedAt: type: string format: date-time workflowName: type: string headBranch: type: string runnerId: type: integer format: int64 runnerName: type: string runnerGroupId: type: integer format: int64 runnerGroupName: type: string labels: type: array items: type: string htmlUrl: type: string steps: type: array items: $ref: "#/components/schemas/WorkflowStepDto" WorkflowJobsResponse: type: object properties: totalCount: type: integer format: int32 jobs: type: array items: $ref: "#/components/schemas/WorkflowJobDto" WorkflowStepDto: type: object properties: name: type: string number: type: integer format: int32 status: type: string conclusion: type: string startedAt: type: string format: date-time completedAt: type: string format: date-time ActivityHistoryDto: type: object properties: type: type: string id: type: integer format: int64 repository: $ref: "#/components/schemas/RepositoryInfoDto" state: type: string enum: - PENDING - WAITING - SUCCESS - ERROR - FAILURE - IN_PROGRESS - QUEUED - INACTIVE - UNKNOWN sha: type: string ref: type: string user: $ref: "#/components/schemas/UserInfoDto" user2: $ref: "#/components/schemas/UserInfoDto" timestamp: type: string format: date-time createdAt: type: string format: date-time updatedAt: type: string format: date-time BranchDetailsDto: type: object properties: name: type: string commitSha: type: string aheadBy: type: integer format: int32 behindBy: type: integer format: int32 isDefault: type: boolean isProtected: type: boolean releaseCandidateNames: type: array items: type: string updatedAt: type: string format: date-time updatedBy: $ref: "#/components/schemas/UserInfoDto" repository: $ref: "#/components/schemas/RepositoryInfoDto" required: - commitSha - name