The EiffelIssueDefinedEvent declares that an issue has been created in some external issue management software. ID is semantically similar to EiffelFlowContextDefinedEvent and EiffelEnvironmentDefinedEvent.
Type: String
Required: Yes
Legal values: BUG, IMPROVEMENT, FEATURE, WORK_ITEM, REQUIREMENT, OTHER
Description: The type of issue.
Type: String
Required: Yes
Description: The name of the issue tracker. This can unfortunately not be
standardized, and is therefore context sensitive: though some trackers and ALM
tools are more popular than others, an exhaustive enumeration is impossible,
particularly when considering company specific internal solutions. Consequently
one should not rely on the name as the primary method of retrieval, but rather
data.uri. data.tracker together with data.id
is still useful for analysis and traceability, however, as long as it can be
correctly interpreted.
Type: String
Required: Yes
Description: The identity of the issue. This is tracker dependent - most
trackers have their own issue naming schemes.
Type: String
Required: Yes
Description: A URI that links to a document describing the issue in depth.
Type: String
Required: No
Description: A one-line title or summary of the issue. This exists mostly
for human consumption, as "Implement widget X" is much more meaningful to a
human when viewing a graph of Eiffel events than "1302". This is not meant
to be a detailed description, as such information should be accessible by
following data.uri.
Required: No
Legal targets: Any
Multiple allowed: Yes
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: No
Legal targets:
EiffelActivityTriggeredEvent,
EiffelTestSuiteStartedEvent
Multiple allowed: No
Description: Identifies the activity or test suite of which this event
constitutes a part.
Required: No
Legal targets:
EiffelFlowContextDefinedEvent
Multiple allowed: No
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.
Type: String
Format: UUID
Required: Yes
Description: The unique identity of the event, generated at event
creation.
Type: String
Format: An event type name
Required: Yes
Description: The type of event. This field is required by the recipient
of the event, as each event type has a specific meaning and a specific set of
members in the data and links objects.
Type: String
Format: Semantic Versioning 2.0.0
Required: Yes
Description: The version of the event type. This field is required by the
recipient of the event to interpret the contents. Please see
Versioning for more information.
Type: Integer
Format: Milliseconds since epoch.
Required: Yes
Description: The event creation timestamp.
Type: String[]
Format: Free text
Required: No
Description: Any tags or keywords associated with the events, for
searchability purposes.
Type: Object
Format:
Required: No
Description: A description of the source of the event. This object is
primarily for traceability purposes, and while optional, some form of
identification of the source is HIGHLY RECOMMENDED. It offers multiple
methods of identifying the source of the event, techniques which may be
select from based on the technology domain and needs in any particular use
case.
Type: String
Format: Free text
Required: No
Description: Identifies the domain that produced an event. A domain is an
infrastructure topological concept, which may or may not corresponds to an
organization or product structures. A good example would be Java packages
notation, ex. com.mycompany.product.component or mycompany.site.division.
Also, keep in mind that all names are more or less prone to change.
Particularly, it is recommended to avoid organizational names or site names,
as organizations tend to be volatile and development is easily relocated.
Relatively speaking, product and component names tend to be more stable and
are therefore encouraged, while code names may be an option. You need to
decide what is the most sensible option in your case.
Type: String
Format: Hostname
Required: No
Description: The hostname of the event sender.
Type: String
Format: Free text
Required: No
Description: The name of the event sender.
Type: Object
Format:
Required: No
Description: The
GAV
coordinates of the serializer software used to construct the event.
Type: String
Format: groupId
Required: Yes
Description: The groupId of the serializer software.
Type: String
Format: artifactId
Required: Yes
Description: The artifactId of the serializer software.
Type: String
Format: version
Required: Yes
Description: The version of the serializer software.
Type: String
Format: URI
Required: No
Description: The URI of, related to or describing the event sender.
Type: Object
Format:
Required: No
Description: An optional object for enclosing security related
information, particularly supporting data integrity. See
Security for further information.
Type: Object
Format:
Required: No
Description: An optional object for properties supporting the Strong
Distribution Model.
Note that this only addressed the integrity of the Eiffel event, not its
confidentiality or availability.
Type: String
Format:
Required: Yes
Description: The identity of the author of the event. This property is
intended to enable the recipient to look up the appropriate public key for
decrypting the digest and thereby verifying author identity and data
integrity. The format of the author identity varies depending on the key
infrastructure solution used. Note that this requires the presence of a
Trusted Authority (TA) which the recipient can query for the correct public
key. The identity and location of the TA must never be included in the event
itself, as this would compromise the security of the solution.
Type: String
Format:
Required: Yes
Description: The encrypted digest. The cryptographic hash function and
the decryption algorithm to use, similarly to the Trusted Authority (TA),
must be known to the recipient. Note that the digest of the entire event is
affected by the value of this property. For this reason the input to the hash
function SHALL be the entire event unaltered in all parts except for this
property, which SHALL be replaced by an empty string.
Version | Introduced in | Changes |
---|---|---|
1.0.0 | Current version | Initial version |