openapi: 3.0.1 info: title: OpenMetadata APIs Agent Executions Test Case Incident Manager API description: Common types and API definition for OpenMetadata contact: name: OpenMetadata url: https://open-metadata.org email: openmetadata-dev@googlegroups.com license: name: Apache 2.0 url: https://www.apache.org/licenses/LICENSE-2.0 version: '1.13' servers: - url: /api description: Current Host - url: http://localhost:8585/api description: Endpoint URL security: - BearerAuth: [] tags: - name: Test Case Incident Manager description: APIs to test case incident status from incident manager. paths: /v1/dataQuality/testCases/testCaseIncidentStatus: get: tags: - Test Case Incident Manager summary: List the test case failure statuses description: Get a list of all the test case failure statuses, optionally filtered by `startTs` and `endTs` of the status creation, status, assignee, and test case id. Use cursor-based pagination to limit the number of entries in the list using `limit` and `before` or `after` query params. operationId: getTestCaseResolutionStatus parameters: - name: testCaseId in: query description: Test Case ID schema: type: string format: uuid - name: limit in: query description: Limit the number tests returned. (1 to 1000000, default = 10) schema: maximum: 1000000 minimum: 0 type: integer format: int32 default: 10 - name: offset in: query description: Returns list of tests at the offset schema: type: string - name: startTs in: query description: Filter test case statuses after the given start timestamp schema: type: number - name: endTs in: query description: Filter test case statuses before the given end timestamp schema: type: number - name: testCaseResolutionStatusType in: query description: Filter test case statuses by status schema: type: string enum: - New - Ack - Assigned - Resolved - name: latest in: query description: Only list the latest statuses schema: type: boolean default: false - name: assignee in: query description: Filter test case statuses by assignee schema: type: string - name: include in: query description: Include all, deleted, or non-deleted entities. schema: type: string default: non-deleted enum: - all - deleted - non-deleted - name: testCaseFQN in: query description: Test case fully qualified name schema: type: string - name: originEntityFQN in: query description: Origin entity for which the incident was opened for schema: type: string - name: domain in: query description: Filter incidents by domain schema: type: string responses: '200': description: List of test case statuses content: application/json: schema: $ref: '#/components/schemas/TestCaseResolutionStatusResultList' post: tags: - Test Case Incident Manager summary: Create a new test case failure status description: Create a new test case failure status operationId: createTestCaseResolutionStatus requestBody: content: application/json: schema: $ref: '#/components/schemas/CreateTestCaseResolutionStatus' responses: '200': description: The created test case failure status content: application/json: schema: $ref: '#/components/schemas/CreateTestCaseResolutionStatus' /v1/dataQuality/testCases/testCaseIncidentStatus/{id}: get: tags: - Test Case Incident Manager summary: Get test case failure status by id description: Get a test case failure status by id operationId: getTestCaseResolutionStatusById parameters: - name: id in: path description: Test Case Failure Status ID required: true schema: type: string format: uuid responses: '200': description: The test case failure status content: application/json: schema: $ref: '#/components/schemas/TestCaseResolutionStatus' patch: tags: - Test Case Incident Manager summary: Update an existing test case failure status description: Update an existing test case failure status externalDocs: description: JsonPatch RFC url: https://tools.ietf.org/html/rfc6902 operationId: updateTestCaseResolutionStatus parameters: - name: id in: path description: Id of the test case result status required: true schema: type: string format: uuid requestBody: description: JsonPatch with array of operations. Only `updateAt` and `updatedBy` fields can be patched. content: application/json-patch+json: schema: $ref: '#/components/schemas/JsonPatch' example: '[{op:remove, path:/a},{op:add, path: /b, value: val}]' responses: default: description: default response content: application/json: {} /v1/dataQuality/testCases/testCaseIncidentStatus/stateId/{stateId}: get: tags: - Test Case Incident Manager summary: Get test case failure statuses for a sequence id description: Get a test case failure statuses for a sequence id operationId: getTestCaseResolutionStatusesForAStateId parameters: - name: stateId in: path description: Sequence ID required: true schema: type: string format: uuid responses: '200': description: The test case failure status content: application/json: schema: $ref: '#/components/schemas/TestCaseResolutionStatus' /v1/dataQuality/testCases/testCaseIncidentStatus/search/list: get: tags: - Test Case Incident Manager summary: List test case resolution status using search service description: Get a list of test case resolution status using the search service. Use cursor-based pagination to limit the number of entries in the list using `limit` and `offset` query params. operationId: listTestCaseResolutionStatusFromSearchService parameters: - name: limit in: query description: Limit the number of incidents returned. (1 to 1000000, default = 10) schema: maximum: 1000000 minimum: 0 type: integer format: int32 default: 10 - name: offset in: query description: Returns list of incidents after this offset schema: type: string default: '0' - name: startTs in: query description: Filter test case statuses after the given start timestamp schema: type: number - name: endTs in: query description: Filter test case statuses before the given end timestamp schema: type: number - name: testCaseResolutionStatusType in: query description: Filter test case statuses by status schema: type: string enum: - New - Ack - Assigned - Resolved - name: latest in: query description: Only list the latest statuses schema: type: boolean default: false - name: assignee in: query description: Filter test case statuses by assignee schema: type: string - name: include in: query description: Include all, deleted, or non-deleted entities. schema: type: string default: non-deleted enum: - all - deleted - non-deleted - name: testCaseFQN in: query description: Test case fully qualified name schema: type: string - name: originEntityFQN in: query description: Origin entity for which the incident was opened for schema: type: string - name: domain in: query description: domain filter to use in list schema: type: string - name: sortField in: query description: Field used to sort the incidents listing schema: type: string - name: sortType in: query description: Sort type schema: type: string default: desc enum: - asc - desc - name: dateField in: query description: Field to filter incidents by date range. Use 'timestamp' for created at or 'updatedAt' for last updated at. schema: type: string default: timestamp enum: - timestamp - updatedAt responses: '200': description: List of test case resolution status content: application/json: schema: $ref: '#/components/schemas/TestCaseResolutionStatusResultList' components: schemas: TagLabelRecognizerMetadata: required: - recognizerId - recognizerName - score type: object properties: recognizerId: type: string format: uuid recognizerName: type: string score: type: number format: double target: type: string enum: - content - column_name patterns: type: array items: $ref: '#/components/schemas/PatternMatch' ChangeSummaryMap: type: object AccessDetails: required: - timestamp type: object properties: timestamp: type: integer format: int64 accessedBy: $ref: '#/components/schemas/EntityReference' accessedByAProcess: type: string FieldChange: type: object properties: name: type: string oldValue: type: object newValue: type: object CoverImage: type: object properties: url: type: string position: type: string CreateTestCaseResolutionStatus: required: - testCaseReference - testCaseResolutionStatusType type: object properties: testCaseResolutionStatusType: type: string enum: - New - Ack - Assigned - Resolved testCaseResolutionStatusDetails: type: object testCaseReference: maxLength: 3072 minLength: 1 type: string severity: type: string enum: - Severity1 - Severity2 - Severity3 - Severity4 - Severity5 LifeCycle: type: object properties: created: $ref: '#/components/schemas/AccessDetails' updated: $ref: '#/components/schemas/AccessDetails' accessed: $ref: '#/components/schemas/AccessDetails' MetricExpression: type: object properties: language: type: string enum: - SQL - Java - JavaScript - Python - External code: type: string AssetCertification: required: - appliedDate - expiryDate - tagLabel type: object properties: tagLabel: $ref: '#/components/schemas/TagLabel' appliedDate: type: integer format: int64 expiryDate: type: integer format: int64 Paging: required: - total type: object properties: before: type: string after: type: string offset: type: integer format: int32 limit: type: integer format: int32 total: type: integer format: int32 JsonPatch: type: object TestCaseResolutionStatusResultList: required: - data type: object properties: data: type: array items: $ref: '#/components/schemas/TestCaseResolutionStatus' paging: $ref: '#/components/schemas/Paging' errors: type: array items: $ref: '#/components/schemas/EntityError' warningsCount: type: integer format: int32 warnings: type: array items: $ref: '#/components/schemas/EntityError' ChangeDescription: type: object properties: fieldsAdded: type: array items: $ref: '#/components/schemas/FieldChange' fieldsUpdated: type: array items: $ref: '#/components/schemas/FieldChange' fieldsDeleted: type: array items: $ref: '#/components/schemas/FieldChange' previousVersion: type: number format: double changeSummary: $ref: '#/components/schemas/ChangeSummaryMap' UsageStats: required: - count type: object properties: count: minimum: 0 exclusiveMinimum: false type: integer format: int32 percentileRank: type: number format: double TestCaseResolutionStatus: required: - testCaseResolutionStatusType type: object properties: id: type: string format: uuid stateId: type: string format: uuid timestamp: type: integer format: int64 testCaseResolutionStatusType: type: string enum: - New - Ack - Assigned - Resolved testCaseResolutionStatusDetails: type: object updatedBy: $ref: '#/components/schemas/EntityReference' updatedAt: type: integer format: int64 testCaseReference: $ref: '#/components/schemas/EntityReference' severity: type: string enum: - Severity1 - Severity2 - Severity3 - Severity4 - Severity5 metrics: type: array items: $ref: '#/components/schemas/Metric' Style: type: object properties: color: type: string iconURL: type: string coverImage: $ref: '#/components/schemas/CoverImage' Votes: type: object properties: upVotes: type: integer format: int32 downVotes: type: integer format: int32 upVoters: type: array items: $ref: '#/components/schemas/EntityReference' downVoters: type: array items: $ref: '#/components/schemas/EntityReference' TagLabel: required: - labelType - source - state - tagFQN type: object properties: tagFQN: type: string name: type: string displayName: type: string description: type: string style: $ref: '#/components/schemas/Style' source: type: string enum: - Classification - Glossary labelType: type: string enum: - Manual - Propagated - Automated - Derived - Generated state: type: string enum: - Suggested - Confirmed href: type: string format: uri reason: type: string appliedAt: type: string format: date-time appliedBy: type: string metadata: $ref: '#/components/schemas/TagLabelMetadata' PatternMatch: required: - name - score type: object properties: name: type: string regex: type: string score: type: number format: double Metric: required: - id - name type: object properties: id: type: string format: uuid name: maxLength: 256 minLength: 1 pattern: ^((?!::).)*$ type: string fullyQualifiedName: maxLength: 3072 minLength: 1 type: string displayName: type: string description: type: string metricExpression: $ref: '#/components/schemas/MetricExpression' metricType: type: string enum: - COUNT - SUM - AVERAGE - RATIO - PERCENTAGE - MIN - MAX - MEDIAN - MODE - STANDARD_DEVIATION - VARIANCE - OTHER unitOfMeasurement: type: string enum: - COUNT - DOLLARS - PERCENTAGE - TIMESTAMP - SIZE - REQUESTS - EVENTS - TRANSACTIONS - OTHER customUnitOfMeasurement: type: string granularity: type: string enum: - SECOND - MINUTE - HOUR - DAY - WEEK - MONTH - QUARTER - YEAR relatedMetrics: type: array items: $ref: '#/components/schemas/EntityReference' version: type: number format: double updatedAt: type: integer format: int64 updatedBy: type: string impersonatedBy: type: string href: type: string format: uri owners: type: array items: $ref: '#/components/schemas/EntityReference' reviewers: type: array items: $ref: '#/components/schemas/EntityReference' followers: type: array items: $ref: '#/components/schemas/EntityReference' tags: type: array items: $ref: '#/components/schemas/TagLabel' changeDescription: $ref: '#/components/schemas/ChangeDescription' incrementalChangeDescription: $ref: '#/components/schemas/ChangeDescription' deleted: type: boolean domains: type: array items: $ref: '#/components/schemas/EntityReference' dataProducts: type: array items: $ref: '#/components/schemas/EntityReference' dataContract: $ref: '#/components/schemas/EntityReference' votes: $ref: '#/components/schemas/Votes' extension: type: object certification: $ref: '#/components/schemas/AssetCertification' entityStatus: type: string enum: - Draft - In Review - Approved - Archived - Deprecated - Rejected - Unprocessed provider: type: string enum: - system - user - automation children: type: array items: $ref: '#/components/schemas/EntityReference' service: $ref: '#/components/schemas/EntityReference' style: $ref: '#/components/schemas/Style' experts: type: array items: $ref: '#/components/schemas/EntityReference' usageSummary: $ref: '#/components/schemas/UsageDetails' lifeCycle: $ref: '#/components/schemas/LifeCycle' TagLabelMetadata: type: object properties: recognizer: $ref: '#/components/schemas/TagLabelRecognizerMetadata' expiryDate: type: integer format: int64 EntityError: type: object properties: message: type: string entity: type: object EntityReference: required: - id - type type: object properties: id: type: string format: uuid type: type: string name: type: string fullyQualifiedName: type: string description: type: string displayName: type: string deleted: type: boolean inherited: type: boolean href: type: string format: uri UsageDetails: required: - dailyStats - date type: object properties: dailyStats: $ref: '#/components/schemas/UsageStats' weeklyStats: $ref: '#/components/schemas/UsageStats' monthlyStats: $ref: '#/components/schemas/UsageStats' date: type: string securitySchemes: BearerAuth: type: http scheme: bearer bearerFormat: JWT