openapi/meta.yaml (130 lines of code) (raw):

openapi: 3.0.3 info: title: Accident API description: Accident API version: 1.0.0 servers: - url: 'https://ij-perf-api.labs.jb.gg' paths: /api/meta/accidents: post: summary: Create a new accident record description: This endpoint is used to create a new accident record in the database. requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/AccidentInsertParams' responses: '200': description: Accident record created successfully. Returns the ID of the new record. content: text/plain: schema: type: string example: '42' '400': description: Bad Request. The JSON is malformed or missing required fields. '409': description: Conflict. An accident with the same details already exists. '500': description: Internal Server Error. An error occurred on the server. /api/meta/accidentsAroundDate: post: summary: Get accidents around a date requestBody: required: true content: application/json: schema: type: object required: true properties: date: type: string format: date-time example: 'Dec 19, 2023, 4:01 AM' description: The date to search around responses: '200': description: Returns a list of accidents around the given date content: application/json: schema: type: array items: $ref: '#/components/schemas/Accident' '500': description: Bad Request. The JSON is malformed or missing required fields. components: schemas: KindType: type: string example: 'Regression' enum: - Regression - Exception - Improvement - Investigation - InferredImprovement - InferredRegression description: Inferred* values are used by degradation detector AccidentInsertParams: type: object required: - date - affected_test - reason - build_number properties: date: type: string format: date-time example: 'Dec 19, 2023, 4:01 AM' affected_test: type: string example: 'test123' description: The name of the test that was affected by the accident (test123) or test with metric (test123/myMetric) reason: type: string example: 'Known regression due to IDEA-1232' description: Any additional information about the accident build_number: type: string example: '450212' description: Should be buildID or installer build number kind: $ref: '#/components/schemas/KindType' externalId: type: string example: 'ext-1001' required: false Accident: type: object required: - ID - Date - AffectedTest - Reason - BuildNumber - Kind properties: ID: type: string description: Unique identifier for the accident Date: type: string format: date-time description: Date and time when the accident occurred AffectedTest: type: string description: Affected tests and metrics Reason: type: string description: Reason for the accident BuildNumber: type: string description: Build number associated with the accident Kind: $ref: '#/components/schemas/KindType'