diff --git a/README.md b/README.md index 7bc9b9f3..4ae885ae 100644 --- a/README.md +++ b/README.md @@ -26,7 +26,7 @@ __IMPORTANT NOTICE:__ The contents of this repository currectly reflect a __DRAF 1. EiffelDocumentationCreatedEvent 1. EiffelEnvironmentDefinedEvent 1. [EiffelCompositionDefinedEvent](./eiffel-vocabulary/EiffelCompositionDefinedEvent.md) - 1. EiffelSourceChangeCreatedEvent + 1. [EiffelSourceChangeCreatedEvent](./eiffel-vocabulary/EiffelSourceChangeCreatedEvent.md) 1. [EiffelSourceChangeSubmittedEvent](./eiffel-vocabulary/EiffelSourceChangeSubmittedEvent.md) 1. [EiffelFlowContextDefinedEvent](./eiffel-vocabulary/EiffelFlowContextDefinedEvent.md) 1. EiffelTestCaseStartedEvent diff --git a/eiffel-vocabulary/EiffelSourceChangeCreatedEvent.md b/eiffel-vocabulary/EiffelSourceChangeCreatedEvent.md new file mode 100644 index 00000000..1715fb47 --- /dev/null +++ b/eiffel-vocabulary/EiffelSourceChangeCreatedEvent.md @@ -0,0 +1,195 @@ +# EiffelSourceChangeCreatedEvent +The EiffelSourceChangeCreatedEvent declares that a change to sources has been made, but not yet submitted (see [EiffelSourceChangeSubmittedEvent](./EiffelSourceChangeSubmittedEvent.md)). This can be used to represent a change done on a private branch, undergoing review or made in a forked repository. Unlike EiffelSourceChangeSubmittedEvent, EiffelSourceChangeCreatedEvent _describes the change_ in terms of who authored it and which issues it addressed. + +Where changes are integrated (or "submitted") directly on a shared branch of interest (e.g. "master", "dev" or "mainline") both EiffelSourceChangeCreatedEvent and EiffelSourceChangeSubmittedEvent are sent together. + +## Data Members +### data.author +__Type:__ Object +__Required:__ No +__Description:__ The author of the change. + +#### data.author.name +__Type:__ String +__Required:__ No +__Description:__ The name of the author. + +#### data.author.email +__Type:__ String +__Required:__ No +__Description:__ The email address of the author. + +#### data.author.id +__Type:__ String +__Required:__ No +__Description:__ Any identity, username or alias of the author. + +#### data.author.group +__Type:__ String +__Required:__ No +__Description:__ Any group or organization to which the contributor belongs. + +### data.change +__Type:__ Object +__Required:__ No +__Description:__ A summary of the change. + +#### data.change.insertions +__Type:__ Integer +__Required:__ No +__Description:__ The number of inserted lines in the change. + +#### data.change.deletions +__Type:__ Integer +__Required:__ No +__Description:__ The number of deleted lines in the change. + +#### data.change.files +__Type:__ String +__Required:__ No +__Description:__ A URI to a list of files changed, on JSON String array format. + +#### data.change.details +__Type:__ String +__Required:__ No +__Description:__ A URI to further details about the change. These details are not assumed to be on any standardized format, and may be intended for human and/or machine consumption. Examples include e.g. Gerrit patch set descriptions or GitHub commit pages. It is recommended to also include __data.change.tracker__ to provide a hint as to the nature of the linked details. + +#### data.change.tracker +__Type:__ String +__Required:__ No +__Description:__ The name of the tracker, if any, of the change. Examples include e.g. Gerrit or GitHub. + +#### data.change.id +__Type:__ String +__Required:__ No +__Description:__ The unique identity, if any, of the change (apart from what is expressed in the identifier object). Examples include e.g. Gerrit Change-Ids or GitHub Pull Requests. It is recommended to also include __data.change.tracker__ to provide a hint as to the nature of the identity. + +### data.issues +__Type:__ Object[] +__Required:__ No +__Description:__ A list of issues addressed by the change. + +#### data.issues.type +__Type:__ String +__Required:__ Yes +__Legal values:__ BUG, IMPROVEMENT, FEATURE, WORK_ITEM, REQUIREMENT, OTHER +__Description:__ The type of issue. + +#### data.issues.tracker +__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.issues.uri__. __data.issues.tracker__ together with __data.issues.id__ is still useful for analysis and traceability, however, as long as it can be correctly interpreted. + +#### data.issues.id +__Type:__ String +__Required:__ Yes +__Description:__ The identity of the issue. This is tracker dependent - most trackers have their own issue naming schemes. + +#### data.issues.uri +__Type:__ String +__Required:__ Yes +__Description:__ The URI of the issue. + +#### data.issues.transition +__Type:__ String +__Required:__ Yes +__Legal values:__ RESOLVED, PARTIAL, REMOVED +__Description:__ The new state of the issue: does the change resolve it, partially resolve it or remove it? + +### data.gitIdentifier +__Type:__ Object +__Required:__ No +__Description:__ Identifier of a Git change. + +#### data.gitIdentifier.commitId +__Type:__ String +__Required:__ Yes +__Description:__ The commit identity (hash) of the change. + +#### data.gitIdentifier.branch +__Type:__ String +__Required:__ No +__Description:__ The name of the branch where the change was made. + +#### data.gitIdentifier.repoName +__Type:__ String +__Required:__ No +__Description:__ The name of the repository containing the change. + +#### data.gitIdentifier.repoUri +__Type:__ String +__Required:__ Yes +__Description:__ The URI of the repository containing the change. + +### data.svnIdentifier +__Type:__ Object +__Required:__ No +__Description:__ Identifier of a Subversion change. + +#### data.svnIdentifier.revision +__Type:__ Integer +__Required:__ Yes +__Description:__ The revision of the change. + +#### data.svnIdentifier.directory +__Type:__ String +__Required:__ Yes +__Description:__ The directory (branch/tag) of the change. + +#### data.svnIdentifier.repoName +__Type:__ String +__Required:__ No +__Description:__ The name of the repository containing the change. + +#### data.svnIdentifier.repoUri +__Type:__ String +__Required:__ Yes +__Description:__ The URI of the repository containing the change. + +### data.ccCompositeIdentifier +__Type:__ Object +__Required:__ No +__Description:__ Identifier of a composite ClearCase change – in other words, not single file commit, but analogous of repository-wide commits of e.g. SVN or Git. + +#### data.ccCompositeIdentifier.vobs +__Type:__ String[] +__Required:__ Yes +__Description:__ The names of the changed ClearCase VOBs. + +#### data.ccCompositeIdentifier.branch +__Type:__ String +__Required:__ Yes +__Description:__ The branch of the change. + +#### data.ccCompositeIdentifier.configSpec +__Type:__ String +__Required:__ Yes +__Description:__ The URI of the relevant ClearCase config spec. + +### data.hgIdentifier +__Type:__ Object +__Required:__ No +__Description:__ Identifier of a Mercurial change. + +#### data.hgIdentifier.commitId +__Type:__ String +__Required:__ Yes +__Description:__ The commit identity (hash) of the change. + +#### data.hgIdentifier.branch +__Type:__ String +__Required:__ No +__Description:__ The branch of the change. + +#### data.hgIdentifier.repoName +__Type:__ String +__Required:__ No +__Description:__ The name of the repo. + +#### data.hgIdentifier.repoUri +__Type:__ String +__Required:__ Yes +__Description:__ The URI of the repo. + +## Examples +* [Simple example](https://github.com/Ericsson/eiffel-examples/blob/master/events/EiffelSourceChangeCreatedEvent/simple.json) \ No newline at end of file