-
Notifications
You must be signed in to change notification settings - Fork 60
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Add JSON schema link validations (#380)
* Step JSON schema and add link validations
- Loading branch information
1 parent
fa8446b
commit f7ed574
Showing
112 changed files
with
10,498 additions
and
63 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,131 @@ | ||
# Copyright 2017-2024 Ericsson AB and others. | ||
# For a full list of individual contributors, please see the commit history. | ||
# | ||
# Licensed under the Apache License, Version 2.0 (the "License"); | ||
# you may not use this file except in compliance with the License. | ||
# You may obtain a copy of the License at | ||
# | ||
# http://www.apache.org/licenses/LICENSE-2.0 | ||
# | ||
# Unless required by applicable law or agreed to in writing, software | ||
# distributed under the License is distributed on an "AS IS" BASIS, | ||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||
# See the License for the specific language governing permissions and | ||
# limitations under the License. | ||
--- | ||
$schema: https://json-schema.org/draft/2020-12/schema# | ||
_name: EiffelActivityCanceledEvent | ||
_version: 5.0.0 | ||
_abbrev: ActC | ||
_description: The EiffelActivityCanceledEvent signals that a previously | ||
triggered activity execution has been canceled _before it has started_. | ||
This is typically used in queuing situations where a queued execution | ||
is dequeued. It is recommended that __CAUSE__ links be used to indicate | ||
the reason. | ||
type: object | ||
properties: | ||
meta: | ||
$ref: ../EiffelMetaProperty/4.0.0.yml | ||
data: | ||
type: object | ||
properties: | ||
reason: | ||
_description: Any human readable information as to the reason | ||
for dequeueing. | ||
type: string | ||
customData: | ||
type: array | ||
items: | ||
$ref: ../EiffelCustomDataProperty/2.0.0.yml | ||
additionalProperties: false | ||
links: | ||
type: array | ||
contains: | ||
type: object | ||
properties: | ||
type: | ||
enum: | ||
- ACTIVITY_EXECUTION | ||
items: | ||
$ref: ../EiffelEventLink/2.0.0.yml | ||
required: | ||
- meta | ||
- data | ||
- links | ||
additionalProperties: false | ||
_links: | ||
ACTIVITY_EXECUTION: | ||
description: Declares the activity execution that was canceled. | ||
In other words, [EiffelActivityTriggeredEvent](../eiffel-vocabulary/EiffelActivityTriggeredEvent.md) | ||
acts as a handle for the activity execution. This differs from | ||
__CONTEXT__. In __ACTIVITY_EXECUTION__ the source carries information | ||
pertaining to the target (i.e. the activity started, finished | ||
or was canceled). In __CONTEXT__, on the other hand, the source | ||
constitutes a subset of the target (e.g. this test case was executed | ||
as part of that activity or test suite). | ||
required: true | ||
multiple: false | ||
targets: | ||
any_type: false | ||
types: | ||
- EiffelActivityTriggeredEvent | ||
CAUSE: | ||
description: While for most events it is recommended that __CAUSE__ | ||
SHOULD not be used in conjunction with __CONTEXT__, EiffelActivityCanceledEvent | ||
is a special case as it represents a deviation from previous | ||
intention. Therefore it is recommended that __CAUSE__ always | ||
be included where applicable. | ||
required: false | ||
multiple: true | ||
targets: | ||
any_type: true | ||
types: [] | ||
CONTEXT: | ||
description: Identifies the activity or test suite of which this | ||
event constitutes a part. | ||
required: false | ||
multiple: false | ||
targets: | ||
any_type: false | ||
types: | ||
- EiffelActivityTriggeredEvent | ||
- EiffelTestSuiteStartedEvent | ||
FLOW_CONTEXT: | ||
description: 'Identifies the flow context of the event: which is | ||
the continuous integration and delivery flow in which this occurred | ||
– e.g. which product, project, track or version this is applicable | ||
to.' | ||
required: false | ||
multiple: true | ||
targets: | ||
any_type: false | ||
types: | ||
- EiffelFlowContextDefinedEvent | ||
_history: | ||
- version: 5.0.0 | ||
changes: Update meta schema to Draft 2020-12 and add link validation. | ||
- version: 4.0.0 | ||
changes: Fix bug in schema regarding additionalProperties (see [Issue 376](https://github.com/eiffel-community/eiffel/issues/376)). | ||
- version: 3.2.0 | ||
introduced_in: edition-arica | ||
changes: Add schema URL to the meta object (see [Issue 280](https://github.com/eiffel-community/eiffel/issues/280)). | ||
- version: 3.1.0 | ||
introduced_in: edition-lyon | ||
changes: Add links.domainId member (see [Issue 233](https://github.com/eiffel-community/eiffel/issues/233)). | ||
- version: 3.0.0 | ||
introduced_in: edition-agen | ||
changes: Improved information integrity protection (see [Issue | ||
185](https://github.com/eiffel-community/eiffel/issues/185)). | ||
- version: 2.0.0 | ||
introduced_in: edition-agen | ||
changes: Introduced purl identifiers instead of GAVs (see [Issue | ||
182](https://github.com/eiffel-community/eiffel/issues/182)) | ||
- version: 1.1.0 | ||
introduced_in: edition-toulouse | ||
changes: Multiple links of type FLOW_CONTEXT allowed. | ||
- version: 1.0.0 | ||
introduced_in: edition-bordeaux | ||
changes: Initial version. | ||
_examples: | ||
- title: Simple example | ||
url: ../examples/events/EiffelActivityCanceledEvent/simple.json |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,186 @@ | ||
# Copyright 2017-2024 Ericsson AB and others. | ||
# For a full list of individual contributors, please see the commit history. | ||
# | ||
# Licensed under the Apache License, Version 2.0 (the "License"); | ||
# you may not use this file except in compliance with the License. | ||
# You may obtain a copy of the License at | ||
# | ||
# http://www.apache.org/licenses/LICENSE-2.0 | ||
# | ||
# Unless required by applicable law or agreed to in writing, software | ||
# distributed under the License is distributed on an "AS IS" BASIS, | ||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||
# See the License for the specific language governing permissions and | ||
# limitations under the License. | ||
--- | ||
$schema: https://json-schema.org/draft/2020-12/schema# | ||
_name: EiffelActivityFinishedEvent | ||
_version: 4.0.0 | ||
_abbrev: ActF | ||
_description: The EiffelActivityFinishedEvent declares that a previously | ||
started activity (declared by [EiffelActivityTriggeredEvent](./EiffelActivityTriggeredEvent.md) | ||
followed by [EiffelActivityStartedEvent](./EiffelActivityStartedEvent.md)) | ||
has finished. | ||
type: object | ||
properties: | ||
meta: | ||
$ref: ../EiffelMetaProperty/4.0.0.yml | ||
data: | ||
type: object | ||
properties: | ||
outcome: | ||
_description: The outcome of the activity. | ||
type: object | ||
properties: | ||
conclusion: | ||
_description: |- | ||
A terse standardized conclusion of the activity, designed to be machine readable. | ||
SUCCESSFUL signifies that the activity was concluded and the outcome matched expectations. | ||
UNSUCCESSFUL signifies that the activity was concluded, but the outcome did not match expectations. To exemplify, a compilation job was successfully invoked, but compilation failed. | ||
FAILED signifies that the activity could not be successfully executed. To exemplify, a compilation could not be invoked, e.g. due to misconfiguration or environment issues. | ||
ABORTED signifies that the activity was aborted before it could be concluded. | ||
TIMED_OUT signifies that the activity did not conclude within the allowed time frame. | ||
INCONCLUSIVE signifies that the outcome of the activity could not be determined. | ||
type: string | ||
enum: | ||
- SUCCESSFUL | ||
- UNSUCCESSFUL | ||
- FAILED | ||
- ABORTED | ||
- TIMED_OUT | ||
- INCONCLUSIVE | ||
description: | ||
_description: A verbose description of the activity outcome, | ||
designed to provide human readers with further information. | ||
type: string | ||
required: | ||
- conclusion | ||
persistentLogs: | ||
_description: An array of persistent log files generated during | ||
execution. | ||
type: array | ||
items: | ||
type: object | ||
properties: | ||
mediaType: | ||
_description: The [media type](https://en.wikipedia.org/wiki/Media_type) | ||
of the URI's payload. Can be used to differentiate | ||
between various representations of the same log, e.g. | ||
text/html for human consumption and text/plain or application/json | ||
for the machine-readable form. | ||
type: string | ||
name: | ||
_description: The name of the log file. | ||
type: string | ||
tags: | ||
_description: Arbitrary tags and keywords that describe | ||
this log. | ||
type: array | ||
items: | ||
type: string | ||
uri: | ||
_description: The URI at which the log can be retrieved. | ||
type: string | ||
required: | ||
- name | ||
- uri | ||
additionalProperties: false | ||
customData: | ||
type: array | ||
items: | ||
$ref: ../EiffelCustomDataProperty/2.0.0.yml | ||
additionalProperties: false | ||
required: | ||
- outcome | ||
links: | ||
type: array | ||
contains: | ||
type: object | ||
properties: | ||
type: | ||
enum: | ||
- ACTIVITY_EXECUTION | ||
items: | ||
$ref: ../EiffelEventLink/2.0.0.yml | ||
required: | ||
- meta | ||
- data | ||
- links | ||
additionalProperties: false | ||
_links: | ||
ACTIVITY_EXECUTION: | ||
description: Declares the activity execution that was finished. | ||
In other words, [EiffelActivityTriggeredEvent](../eiffel-vocabulary/EiffelActivityTriggeredEvent.md) | ||
acts as a handle for the activity execution. This differs from | ||
__CONTEXT__. In __ACTIVITY_EXECUTION__ the source carries information | ||
pertaining to the target (i.e. the activity started, finished | ||
or was canceled). In __CONTEXT__, on the other hand, the source | ||
constitutes a subset of the target (e.g. this test case was executed | ||
as part of that activity or test suite). | ||
required: true | ||
multiple: false | ||
targets: | ||
any_type: false | ||
types: | ||
- EiffelActivityTriggeredEvent | ||
CAUSE: | ||
description: 'Identifies a cause of the event occurring. SHOULD | ||
not be used in conjunction with __CONTEXT__: individual events | ||
providing __CAUSE__ within a larger context gives rise to ambiguity. | ||
It is instead recommended to let the root event of the context | ||
declare __CAUSE__.' | ||
required: false | ||
multiple: true | ||
targets: | ||
any_type: true | ||
types: [] | ||
CONTEXT: | ||
description: Identifies the activity or test suite of which this | ||
event constitutes a part. | ||
required: false | ||
multiple: false | ||
targets: | ||
any_type: false | ||
types: | ||
- EiffelActivityTriggeredEvent | ||
- EiffelTestSuiteStartedEvent | ||
FLOW_CONTEXT: | ||
description: 'Identifies the flow context of the event: which is | ||
the continuous integration and delivery flow in which this occurred | ||
– e.g. which product, project, track or version this is applicable | ||
to.' | ||
required: false | ||
multiple: true | ||
targets: | ||
any_type: false | ||
types: | ||
- EiffelFlowContextDefinedEvent | ||
_history: | ||
- version: 4.0.0 | ||
changes: Update meta schema to Draft 2020-12 and add link validation. | ||
- version: 3.3.0 | ||
introduced_in: edition-arica | ||
changes: Add schema URL to the meta object (see [Issue 280](https://github.com/eiffel-community/eiffel/issues/280)). | ||
- version: 3.2.0 | ||
introduced_in: edition-lyon | ||
changes: Add links.domainId member (see [Issue 233](https://github.com/eiffel-community/eiffel/issues/233)). | ||
- version: 3.1.0 | ||
introduced_in: edition-lyon | ||
changes: Add `data.persistentLogs.{mediaType,tags}`. | ||
- version: 3.0.0 | ||
introduced_in: edition-agen | ||
changes: Improved information integrity protection (see [Issue | ||
185](https://github.com/eiffel-community/eiffel/issues/185)). | ||
- version: 2.0.0 | ||
introduced_in: edition-agen | ||
changes: Introduced purl identifiers instead of GAVs (see [Issue | ||
182](https://github.com/eiffel-community/eiffel/issues/182)) | ||
- version: 1.1.0 | ||
introduced_in: edition-toulouse | ||
changes: Multiple links of type FLOW_CONTEXT allowed. | ||
- version: 1.0.0 | ||
introduced_in: edition-bordeaux | ||
changes: Initial version. | ||
_examples: | ||
- title: Simple example | ||
url: ../examples/events/EiffelActivityFinishedEvent/simple.json |
Oops, something went wrong.