-
Notifications
You must be signed in to change notification settings - Fork 59
/
3.2.0.yml
227 lines (225 loc) · 8.41 KB
/
3.2.0.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
# Copyright 2017-2022 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: http://json-schema.org/draft-04/schema#
_abbrev: SCS
_description: |-
The EiffelSourceChangeSubmittedEvent declares that a change has been integrated into to a shared source branch of interest (e.g. "master", "dev" or "mainline") as opposed to a private or local branch. Note that it does not describe what has changed, but instead uses the __CHANGE__ link type to reference [EiffelSourceChangeCreatedEvent](./EiffelSourceChangeCreatedEvent.md).
Typical use cases for EiffelSourceChangeSubmittedEvent is to signal that a patch has passed code review and been submitted or that a feature/topic/team branch has been merged into the mainline/trunk/master. Where changes are made directly on the mainline, it is recommended to send both [EiffelSourceChangeCreatedEvent](./EiffelSourceChangeCreatedEvent.md) and EiffelSourceChangeSubmittedEvent together for information completeness.
Even though multiple types of identifiers are available (see below), the event SHOULD include one and SHALL not include more than one; changes to multiple repositories are represented by multiple events.
type: object
properties:
meta:
$ref: ../EiffelMetaProperty/3.1.0.yml
data:
type: object
properties:
submitter:
_description: The agent (individual, group or machine) submitting
the change. This is crucially different from the __data.author__
field of [EiffelSourceChangeCreatedEvent](./EiffelSourceChangeCreatedEvent.md).
type: object
properties:
name:
_description: The name of the submitter.
type: string
email:
_description: The email address of the submitter.
type: string
id:
_description: Any identity, username or alias of the submitter.
type: string
group:
_description: Any group or organization to which the submitter
belongs.
type: string
additionalProperties: false
gitIdentifier:
_description: Identifier of a Git change.
type: object
properties:
commitId:
_description: The commit identity (hash) of the change.
type: string
branch:
_description: The name of the branch where the change was
made.
type: string
repoName:
_description: The name of the repository containing the
change.
type: string
repoUri:
_description: The URI of the repository containing the
change.
type: string
required:
- commitId
- repoUri
additionalProperties: false
svnIdentifier:
_description: Identifier of a Subversion change.
type: object
properties:
revision:
_description: The revision of the change.
type: integer
directory:
_description: The directory (branch/tag) of the change.
type: string
repoName:
_description: The name of the repository containing the
change.
type: string
repoUri:
_description: The URI of the repository containing the
change.
type: string
required:
- revision
- directory
- repoUri
additionalProperties: false
ccCompositeIdentifier:
_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.
type: object
properties:
vobs:
_description: The names of the changed ClearCase VOBs.
type: array
items:
type: string
branch:
_description: The branch of the change.
type: string
configSpec:
_description: The URI of the relevant ClearCase config
spec.
type: string
required:
- vobs
- branch
- configSpec
additionalProperties: false
hgIdentifier:
_description: Identifier of a Mercurial change.
type: object
properties:
commitId:
_description: The commit identity (hash) of the change.
type: string
branch:
_description: The branch of the change.
type: string
repoName:
_description: The name of the repo.
type: string
repoUri:
_description: The URI of the repo.
type: string
required:
- commitId
- repoUri
additionalProperties: false
customData:
type: array
items:
$ref: ../EiffelCustomDataProperty/1.0.0.yml
additionalProperties: false
links:
type: array
items:
$ref: ../EiffelEventLink/1.1.1.yml
required:
- meta
- data
- links
additionalProperties: false
_links:
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: []
CHANGE:
description: Identifies the change that was submitted.
required: false
multiple: false
targets:
any_type: false
types:
- EiffelSourceChangeCreatedEvent
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
PREVIOUS_VERSION:
description: Identifies a latest previous version (there may be
more than one in case of merges) of the submitted source change.
required: false
multiple: true
targets:
any_type: false
types:
- EiffelSourceChangeSubmittedEvent
_history:
- version: 3.2.0
introduced_in: '[edition-arica](../../../tree/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](../../../tree/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](../../../tree/edition-agen)'
changes: Improved information integrity protection (see [Issue
185](https://github.com/eiffel-community/eiffel/issues/185)).
- version: 2.0.0
introduced_in: '[dc5ec6f](../../../blob/dc5ec6fb87e293eeffe88fdafe698eec0f5a2c89/eiffel-vocabulary/EiffelSourceChangeCreatedEvent.md)'
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](../../../tree/edition-toulouse)'
changes: Multiple links of type FLOW_CONTEXT allowed.
- version: 1.0.0
introduced_in: '[edition-bordeaux](../../../tree/edition-bordeaux)'
changes: Initial version.
_examples:
- title: Simple example
url: ../examples/events/EiffelSourceChangeSubmittedEvent/simple.json