Skip to main content

cdevents_sdk/generated/
mod.rs

1// @generated
2// by cdevents/sdk-rust/generator (mod.hbs)
3
4use serde::{Serialize, Deserialize, de::Error};
5
6pub mod artifact_deleted_0_2_0;
7pub mod artifact_deleted_0_1_0;
8pub mod artifact_downloaded_0_2_0;
9pub mod artifact_downloaded_0_1_0;
10pub mod artifact_packaged_0_3_0;
11pub mod artifact_packaged_0_1_1;
12pub mod artifact_packaged_0_2_0;
13pub mod artifact_published_0_3_0;
14pub mod artifact_published_0_1_1;
15pub mod artifact_published_0_2_0;
16pub mod artifact_signed_0_3_0;
17pub mod artifact_signed_0_1_0;
18pub mod artifact_signed_0_2_0;
19pub mod branch_created_0_3_0;
20pub mod branch_created_0_1_2;
21pub mod branch_created_0_2_0;
22pub mod branch_deleted_0_3_0;
23pub mod branch_deleted_0_1_2;
24pub mod branch_deleted_0_2_0;
25pub mod build_finished_0_3_0;
26pub mod build_finished_0_1_1;
27pub mod build_finished_0_2_0;
28pub mod build_queued_0_3_0;
29pub mod build_queued_0_1_1;
30pub mod build_queued_0_2_0;
31pub mod build_started_0_3_0;
32pub mod build_started_0_1_1;
33pub mod build_started_0_2_0;
34pub mod change_abandoned_0_3_0;
35pub mod change_abandoned_0_1_2;
36pub mod change_abandoned_0_2_0;
37pub mod change_created_0_4_0;
38pub mod change_created_0_1_2;
39pub mod change_created_0_3_0;
40pub mod change_merged_0_3_0;
41pub mod change_merged_0_1_2;
42pub mod change_merged_0_2_0;
43pub mod change_reviewed_0_3_0;
44pub mod change_reviewed_0_1_2;
45pub mod change_reviewed_0_2_0;
46pub mod change_updated_0_3_0;
47pub mod change_updated_0_1_2;
48pub mod change_updated_0_2_0;
49pub mod environment_created_0_3_0;
50pub mod environment_created_0_1_1;
51pub mod environment_created_0_2_0;
52pub mod environment_deleted_0_3_0;
53pub mod environment_deleted_0_1_1;
54pub mod environment_deleted_0_2_0;
55pub mod environment_modified_0_3_0;
56pub mod environment_modified_0_1_1;
57pub mod environment_modified_0_2_0;
58pub mod incident_detected_0_3_0;
59pub mod incident_detected_0_1_0;
60pub mod incident_detected_0_2_0;
61pub mod incident_reported_0_3_0;
62pub mod incident_reported_0_1_0;
63pub mod incident_reported_0_2_0;
64pub mod incident_resolved_0_3_0;
65pub mod incident_resolved_0_1_0;
66pub mod incident_resolved_0_2_0;
67pub mod pipelinerun_finished_0_3_0;
68pub mod pipelinerun_finished_0_1_1;
69pub mod pipelinerun_finished_0_2_0;
70pub mod pipelinerun_queued_0_3_0;
71pub mod pipelinerun_queued_0_1_1;
72pub mod pipelinerun_queued_0_2_0;
73pub mod pipelinerun_started_0_3_0;
74pub mod pipelinerun_started_0_1_1;
75pub mod pipelinerun_started_0_2_0;
76pub mod repository_created_0_3_0;
77pub mod repository_created_0_1_1;
78pub mod repository_created_0_2_0;
79pub mod repository_deleted_0_3_0;
80pub mod repository_deleted_0_1_1;
81pub mod repository_deleted_0_2_0;
82pub mod repository_modified_0_3_0;
83pub mod repository_modified_0_1_1;
84pub mod repository_modified_0_2_0;
85pub mod service_deployed_0_3_0;
86pub mod service_deployed_0_1_1;
87pub mod service_deployed_0_2_0;
88pub mod service_published_0_3_0;
89pub mod service_published_0_1_1;
90pub mod service_published_0_2_0;
91pub mod service_removed_0_3_0;
92pub mod service_removed_0_1_1;
93pub mod service_removed_0_2_0;
94pub mod service_rolledback_0_3_0;
95pub mod service_rolledback_0_1_1;
96pub mod service_rolledback_0_2_0;
97pub mod service_upgraded_0_3_0;
98pub mod service_upgraded_0_1_1;
99pub mod service_upgraded_0_2_0;
100pub mod taskrun_finished_0_3_0;
101pub mod taskrun_finished_0_1_1;
102pub mod taskrun_finished_0_2_0;
103pub mod taskrun_started_0_3_0;
104pub mod taskrun_started_0_1_1;
105pub mod taskrun_started_0_2_0;
106pub mod testcaserun_finished_0_3_0;
107pub mod testcaserun_finished_0_1_0;
108pub mod testcaserun_finished_0_2_0;
109pub mod testcaserun_queued_0_3_0;
110pub mod testcaserun_queued_0_1_0;
111pub mod testcaserun_queued_0_2_0;
112pub mod testcaserun_skipped_0_2_0;
113pub mod testcaserun_skipped_0_1_0;
114pub mod testcaserun_started_0_3_0;
115pub mod testcaserun_started_0_1_0;
116pub mod testcaserun_started_0_2_0;
117pub mod testoutput_published_0_3_0;
118pub mod testoutput_published_0_1_0;
119pub mod testoutput_published_0_2_0;
120pub mod testsuiterun_finished_0_3_0;
121pub mod testsuiterun_finished_0_1_0;
122pub mod testsuiterun_finished_0_2_0;
123pub mod testsuiterun_queued_0_3_0;
124pub mod testsuiterun_queued_0_1_0;
125pub mod testsuiterun_queued_0_2_0;
126pub mod testsuiterun_started_0_3_0;
127pub mod testsuiterun_started_0_1_0;
128pub mod testsuiterun_started_0_2_0;
129pub mod ticket_closed_0_2_0;
130pub mod ticket_closed_0_1_0;
131pub mod ticket_created_0_2_0;
132pub mod ticket_created_0_1_0;
133pub mod ticket_updated_0_2_0;
134pub mod ticket_updated_0_1_0;
135
136pub mod latest {
137    pub use super::artifact_deleted_0_2_0 as artifact_deleted;
138    pub use super::artifact_downloaded_0_2_0 as artifact_downloaded;
139    pub use super::artifact_packaged_0_3_0 as artifact_packaged;
140    pub use super::artifact_published_0_3_0 as artifact_published;
141    pub use super::artifact_signed_0_3_0 as artifact_signed;
142    pub use super::branch_created_0_3_0 as branch_created;
143    pub use super::branch_deleted_0_3_0 as branch_deleted;
144    pub use super::build_finished_0_3_0 as build_finished;
145    pub use super::build_queued_0_3_0 as build_queued;
146    pub use super::build_started_0_3_0 as build_started;
147    pub use super::change_abandoned_0_3_0 as change_abandoned;
148    pub use super::change_created_0_4_0 as change_created;
149    pub use super::change_merged_0_3_0 as change_merged;
150    pub use super::change_reviewed_0_3_0 as change_reviewed;
151    pub use super::change_updated_0_3_0 as change_updated;
152    pub use super::environment_created_0_3_0 as environment_created;
153    pub use super::environment_deleted_0_3_0 as environment_deleted;
154    pub use super::environment_modified_0_3_0 as environment_modified;
155    pub use super::incident_detected_0_3_0 as incident_detected;
156    pub use super::incident_reported_0_3_0 as incident_reported;
157    pub use super::incident_resolved_0_3_0 as incident_resolved;
158    pub use super::pipelinerun_finished_0_3_0 as pipelinerun_finished;
159    pub use super::pipelinerun_queued_0_3_0 as pipelinerun_queued;
160    pub use super::pipelinerun_started_0_3_0 as pipelinerun_started;
161    pub use super::repository_created_0_3_0 as repository_created;
162    pub use super::repository_deleted_0_3_0 as repository_deleted;
163    pub use super::repository_modified_0_3_0 as repository_modified;
164    pub use super::service_deployed_0_3_0 as service_deployed;
165    pub use super::service_published_0_3_0 as service_published;
166    pub use super::service_removed_0_3_0 as service_removed;
167    pub use super::service_rolledback_0_3_0 as service_rolledback;
168    pub use super::service_upgraded_0_3_0 as service_upgraded;
169    pub use super::taskrun_finished_0_3_0 as taskrun_finished;
170    pub use super::taskrun_started_0_3_0 as taskrun_started;
171    pub use super::testcaserun_finished_0_3_0 as testcaserun_finished;
172    pub use super::testcaserun_queued_0_3_0 as testcaserun_queued;
173    pub use super::testcaserun_skipped_0_2_0 as testcaserun_skipped;
174    pub use super::testcaserun_started_0_3_0 as testcaserun_started;
175    pub use super::testoutput_published_0_3_0 as testoutput_published;
176    pub use super::testsuiterun_finished_0_3_0 as testsuiterun_finished;
177    pub use super::testsuiterun_queued_0_3_0 as testsuiterun_queued;
178    pub use super::testsuiterun_started_0_3_0 as testsuiterun_started;
179    pub use super::ticket_closed_0_2_0 as ticket_closed;
180    pub use super::ticket_created_0_2_0 as ticket_created;
181    pub use super::ticket_updated_0_2_0 as ticket_updated;
182}
183pub mod spec_0_3_0 {
184    pub use super::artifact_packaged_0_1_1 as artifact_packaged;
185    pub use super::artifact_published_0_1_1 as artifact_published;
186    pub use super::artifact_signed_0_1_0 as artifact_signed;
187    pub use super::branch_created_0_1_2 as branch_created;
188    pub use super::branch_deleted_0_1_2 as branch_deleted;
189    pub use super::build_finished_0_1_1 as build_finished;
190    pub use super::build_queued_0_1_1 as build_queued;
191    pub use super::build_started_0_1_1 as build_started;
192    pub use super::change_abandoned_0_1_2 as change_abandoned;
193    pub use super::change_created_0_1_2 as change_created;
194    pub use super::change_merged_0_1_2 as change_merged;
195    pub use super::change_reviewed_0_1_2 as change_reviewed;
196    pub use super::change_updated_0_1_2 as change_updated;
197    pub use super::environment_created_0_1_1 as environment_created;
198    pub use super::environment_deleted_0_1_1 as environment_deleted;
199    pub use super::environment_modified_0_1_1 as environment_modified;
200    pub use super::incident_detected_0_1_0 as incident_detected;
201    pub use super::incident_reported_0_1_0 as incident_reported;
202    pub use super::incident_resolved_0_1_0 as incident_resolved;
203    pub use super::pipelinerun_finished_0_1_1 as pipelinerun_finished;
204    pub use super::pipelinerun_queued_0_1_1 as pipelinerun_queued;
205    pub use super::pipelinerun_started_0_1_1 as pipelinerun_started;
206    pub use super::repository_created_0_1_1 as repository_created;
207    pub use super::repository_deleted_0_1_1 as repository_deleted;
208    pub use super::repository_modified_0_1_1 as repository_modified;
209    pub use super::service_deployed_0_1_1 as service_deployed;
210    pub use super::service_published_0_1_1 as service_published;
211    pub use super::service_removed_0_1_1 as service_removed;
212    pub use super::service_rolledback_0_1_1 as service_rolledback;
213    pub use super::service_upgraded_0_1_1 as service_upgraded;
214    pub use super::taskrun_finished_0_1_1 as taskrun_finished;
215    pub use super::taskrun_started_0_1_1 as taskrun_started;
216    pub use super::testcaserun_finished_0_1_0 as testcaserun_finished;
217    pub use super::testcaserun_queued_0_1_0 as testcaserun_queued;
218    pub use super::testcaserun_started_0_1_0 as testcaserun_started;
219    pub use super::testoutput_published_0_1_0 as testoutput_published;
220    pub use super::testsuiterun_finished_0_1_0 as testsuiterun_finished;
221    pub use super::testsuiterun_queued_0_1_0 as testsuiterun_queued;
222    pub use super::testsuiterun_started_0_1_0 as testsuiterun_started;
223}
224pub mod spec_0_4_1 {
225    pub use super::artifact_deleted_0_1_0 as artifact_deleted;
226    pub use super::artifact_downloaded_0_1_0 as artifact_downloaded;
227    pub use super::artifact_packaged_0_2_0 as artifact_packaged;
228    pub use super::artifact_published_0_2_0 as artifact_published;
229    pub use super::artifact_signed_0_2_0 as artifact_signed;
230    pub use super::branch_created_0_2_0 as branch_created;
231    pub use super::branch_deleted_0_2_0 as branch_deleted;
232    pub use super::build_finished_0_2_0 as build_finished;
233    pub use super::build_queued_0_2_0 as build_queued;
234    pub use super::build_started_0_2_0 as build_started;
235    pub use super::change_abandoned_0_2_0 as change_abandoned;
236    pub use super::change_created_0_3_0 as change_created;
237    pub use super::change_merged_0_2_0 as change_merged;
238    pub use super::change_reviewed_0_2_0 as change_reviewed;
239    pub use super::change_updated_0_2_0 as change_updated;
240    pub use super::environment_created_0_2_0 as environment_created;
241    pub use super::environment_deleted_0_2_0 as environment_deleted;
242    pub use super::environment_modified_0_2_0 as environment_modified;
243    pub use super::incident_detected_0_2_0 as incident_detected;
244    pub use super::incident_reported_0_2_0 as incident_reported;
245    pub use super::incident_resolved_0_2_0 as incident_resolved;
246    pub use super::pipelinerun_finished_0_2_0 as pipelinerun_finished;
247    pub use super::pipelinerun_queued_0_2_0 as pipelinerun_queued;
248    pub use super::pipelinerun_started_0_2_0 as pipelinerun_started;
249    pub use super::repository_created_0_2_0 as repository_created;
250    pub use super::repository_deleted_0_2_0 as repository_deleted;
251    pub use super::repository_modified_0_2_0 as repository_modified;
252    pub use super::service_deployed_0_2_0 as service_deployed;
253    pub use super::service_published_0_2_0 as service_published;
254    pub use super::service_removed_0_2_0 as service_removed;
255    pub use super::service_rolledback_0_2_0 as service_rolledback;
256    pub use super::service_upgraded_0_2_0 as service_upgraded;
257    pub use super::taskrun_finished_0_2_0 as taskrun_finished;
258    pub use super::taskrun_started_0_2_0 as taskrun_started;
259    pub use super::testcaserun_finished_0_2_0 as testcaserun_finished;
260    pub use super::testcaserun_queued_0_2_0 as testcaserun_queued;
261    pub use super::testcaserun_skipped_0_1_0 as testcaserun_skipped;
262    pub use super::testcaserun_started_0_2_0 as testcaserun_started;
263    pub use super::testoutput_published_0_2_0 as testoutput_published;
264    pub use super::testsuiterun_finished_0_2_0 as testsuiterun_finished;
265    pub use super::testsuiterun_queued_0_2_0 as testsuiterun_queued;
266    pub use super::testsuiterun_started_0_2_0 as testsuiterun_started;
267    pub use super::ticket_closed_0_1_0 as ticket_closed;
268    pub use super::ticket_created_0_1_0 as ticket_created;
269    pub use super::ticket_updated_0_1_0 as ticket_updated;
270}
271pub mod spec_0_5_0 {
272    pub use super::artifact_deleted_0_2_0 as artifact_deleted;
273    pub use super::artifact_downloaded_0_2_0 as artifact_downloaded;
274    pub use super::artifact_packaged_0_3_0 as artifact_packaged;
275    pub use super::artifact_published_0_3_0 as artifact_published;
276    pub use super::artifact_signed_0_3_0 as artifact_signed;
277    pub use super::branch_created_0_3_0 as branch_created;
278    pub use super::branch_deleted_0_3_0 as branch_deleted;
279    pub use super::build_finished_0_3_0 as build_finished;
280    pub use super::build_queued_0_3_0 as build_queued;
281    pub use super::build_started_0_3_0 as build_started;
282    pub use super::change_abandoned_0_3_0 as change_abandoned;
283    pub use super::change_created_0_4_0 as change_created;
284    pub use super::change_merged_0_3_0 as change_merged;
285    pub use super::change_reviewed_0_3_0 as change_reviewed;
286    pub use super::change_updated_0_3_0 as change_updated;
287    pub use super::environment_created_0_3_0 as environment_created;
288    pub use super::environment_deleted_0_3_0 as environment_deleted;
289    pub use super::environment_modified_0_3_0 as environment_modified;
290    pub use super::incident_detected_0_3_0 as incident_detected;
291    pub use super::incident_reported_0_3_0 as incident_reported;
292    pub use super::incident_resolved_0_3_0 as incident_resolved;
293    pub use super::pipelinerun_finished_0_3_0 as pipelinerun_finished;
294    pub use super::pipelinerun_queued_0_3_0 as pipelinerun_queued;
295    pub use super::pipelinerun_started_0_3_0 as pipelinerun_started;
296    pub use super::repository_created_0_3_0 as repository_created;
297    pub use super::repository_deleted_0_3_0 as repository_deleted;
298    pub use super::repository_modified_0_3_0 as repository_modified;
299    pub use super::service_deployed_0_3_0 as service_deployed;
300    pub use super::service_published_0_3_0 as service_published;
301    pub use super::service_removed_0_3_0 as service_removed;
302    pub use super::service_rolledback_0_3_0 as service_rolledback;
303    pub use super::service_upgraded_0_3_0 as service_upgraded;
304    pub use super::taskrun_finished_0_3_0 as taskrun_finished;
305    pub use super::taskrun_started_0_3_0 as taskrun_started;
306    pub use super::testcaserun_finished_0_3_0 as testcaserun_finished;
307    pub use super::testcaserun_queued_0_3_0 as testcaserun_queued;
308    pub use super::testcaserun_skipped_0_2_0 as testcaserun_skipped;
309    pub use super::testcaserun_started_0_3_0 as testcaserun_started;
310    pub use super::testoutput_published_0_3_0 as testoutput_published;
311    pub use super::testsuiterun_finished_0_3_0 as testsuiterun_finished;
312    pub use super::testsuiterun_queued_0_3_0 as testsuiterun_queued;
313    pub use super::testsuiterun_started_0_3_0 as testsuiterun_started;
314    pub use super::ticket_closed_0_2_0 as ticket_closed;
315    pub use super::ticket_created_0_2_0 as ticket_created;
316    pub use super::ticket_updated_0_2_0 as ticket_updated;
317}
318pub mod spec_0_6_0_draft {
319    pub use super::artifact_deleted_0_2_0 as artifact_deleted;
320    pub use super::artifact_downloaded_0_2_0 as artifact_downloaded;
321    pub use super::artifact_packaged_0_3_0 as artifact_packaged;
322    pub use super::artifact_published_0_3_0 as artifact_published;
323    pub use super::artifact_signed_0_3_0 as artifact_signed;
324    pub use super::branch_created_0_3_0 as branch_created;
325    pub use super::branch_deleted_0_3_0 as branch_deleted;
326    pub use super::build_finished_0_3_0 as build_finished;
327    pub use super::build_queued_0_3_0 as build_queued;
328    pub use super::build_started_0_3_0 as build_started;
329    pub use super::change_abandoned_0_3_0 as change_abandoned;
330    pub use super::change_created_0_4_0 as change_created;
331    pub use super::change_merged_0_3_0 as change_merged;
332    pub use super::change_reviewed_0_3_0 as change_reviewed;
333    pub use super::change_updated_0_3_0 as change_updated;
334    pub use super::environment_created_0_3_0 as environment_created;
335    pub use super::environment_deleted_0_3_0 as environment_deleted;
336    pub use super::environment_modified_0_3_0 as environment_modified;
337    pub use super::incident_detected_0_3_0 as incident_detected;
338    pub use super::incident_reported_0_3_0 as incident_reported;
339    pub use super::incident_resolved_0_3_0 as incident_resolved;
340    pub use super::pipelinerun_finished_0_3_0 as pipelinerun_finished;
341    pub use super::pipelinerun_queued_0_3_0 as pipelinerun_queued;
342    pub use super::pipelinerun_started_0_3_0 as pipelinerun_started;
343    pub use super::repository_created_0_3_0 as repository_created;
344    pub use super::repository_deleted_0_3_0 as repository_deleted;
345    pub use super::repository_modified_0_3_0 as repository_modified;
346    pub use super::service_deployed_0_3_0 as service_deployed;
347    pub use super::service_published_0_3_0 as service_published;
348    pub use super::service_removed_0_3_0 as service_removed;
349    pub use super::service_rolledback_0_3_0 as service_rolledback;
350    pub use super::service_upgraded_0_3_0 as service_upgraded;
351    pub use super::taskrun_finished_0_3_0 as taskrun_finished;
352    pub use super::taskrun_started_0_3_0 as taskrun_started;
353    pub use super::testcaserun_finished_0_3_0 as testcaserun_finished;
354    pub use super::testcaserun_queued_0_3_0 as testcaserun_queued;
355    pub use super::testcaserun_skipped_0_2_0 as testcaserun_skipped;
356    pub use super::testcaserun_started_0_3_0 as testcaserun_started;
357    pub use super::testoutput_published_0_3_0 as testoutput_published;
358    pub use super::testsuiterun_finished_0_3_0 as testsuiterun_finished;
359    pub use super::testsuiterun_queued_0_3_0 as testsuiterun_queued;
360    pub use super::testsuiterun_started_0_3_0 as testsuiterun_started;
361    pub use super::ticket_closed_0_2_0 as ticket_closed;
362    pub use super::ticket_created_0_2_0 as ticket_created;
363    pub use super::ticket_updated_0_2_0 as ticket_updated;
364}
365
366pub const ARTIFACT_DELETED_0_2_0: &str = "dev.cdevents.artifact.deleted.0.2.0";
367pub const ARTIFACT_DELETED_0_1_0: &str = "dev.cdevents.artifact.deleted.0.1.0";
368pub const ARTIFACT_DOWNLOADED_0_2_0: &str = "dev.cdevents.artifact.downloaded.0.2.0";
369pub const ARTIFACT_DOWNLOADED_0_1_0: &str = "dev.cdevents.artifact.downloaded.0.1.0";
370pub const ARTIFACT_PACKAGED_0_3_0: &str = "dev.cdevents.artifact.packaged.0.3.0";
371pub const ARTIFACT_PACKAGED_0_1_1: &str = "dev.cdevents.artifact.packaged.0.1.1";
372pub const ARTIFACT_PACKAGED_0_2_0: &str = "dev.cdevents.artifact.packaged.0.2.0";
373pub const ARTIFACT_PUBLISHED_0_3_0: &str = "dev.cdevents.artifact.published.0.3.0";
374pub const ARTIFACT_PUBLISHED_0_1_1: &str = "dev.cdevents.artifact.published.0.1.1";
375pub const ARTIFACT_PUBLISHED_0_2_0: &str = "dev.cdevents.artifact.published.0.2.0";
376pub const ARTIFACT_SIGNED_0_3_0: &str = "dev.cdevents.artifact.signed.0.3.0";
377pub const ARTIFACT_SIGNED_0_1_0: &str = "dev.cdevents.artifact.signed.0.1.0";
378pub const ARTIFACT_SIGNED_0_2_0: &str = "dev.cdevents.artifact.signed.0.2.0";
379pub const BRANCH_CREATED_0_3_0: &str = "dev.cdevents.branch.created.0.3.0";
380pub const BRANCH_CREATED_0_1_2: &str = "dev.cdevents.branch.created.0.1.2";
381pub const BRANCH_CREATED_0_2_0: &str = "dev.cdevents.branch.created.0.2.0";
382pub const BRANCH_DELETED_0_3_0: &str = "dev.cdevents.branch.deleted.0.3.0";
383pub const BRANCH_DELETED_0_1_2: &str = "dev.cdevents.branch.deleted.0.1.2";
384pub const BRANCH_DELETED_0_2_0: &str = "dev.cdevents.branch.deleted.0.2.0";
385pub const BUILD_FINISHED_0_3_0: &str = "dev.cdevents.build.finished.0.3.0";
386pub const BUILD_FINISHED_0_1_1: &str = "dev.cdevents.build.finished.0.1.1";
387pub const BUILD_FINISHED_0_2_0: &str = "dev.cdevents.build.finished.0.2.0";
388pub const BUILD_QUEUED_0_3_0: &str = "dev.cdevents.build.queued.0.3.0";
389pub const BUILD_QUEUED_0_1_1: &str = "dev.cdevents.build.queued.0.1.1";
390pub const BUILD_QUEUED_0_2_0: &str = "dev.cdevents.build.queued.0.2.0";
391pub const BUILD_STARTED_0_3_0: &str = "dev.cdevents.build.started.0.3.0";
392pub const BUILD_STARTED_0_1_1: &str = "dev.cdevents.build.started.0.1.1";
393pub const BUILD_STARTED_0_2_0: &str = "dev.cdevents.build.started.0.2.0";
394pub const CHANGE_ABANDONED_0_3_0: &str = "dev.cdevents.change.abandoned.0.3.0";
395pub const CHANGE_ABANDONED_0_1_2: &str = "dev.cdevents.change.abandoned.0.1.2";
396pub const CHANGE_ABANDONED_0_2_0: &str = "dev.cdevents.change.abandoned.0.2.0";
397pub const CHANGE_CREATED_0_4_0: &str = "dev.cdevents.change.created.0.4.0";
398pub const CHANGE_CREATED_0_1_2: &str = "dev.cdevents.change.created.0.1.2";
399pub const CHANGE_CREATED_0_3_0: &str = "dev.cdevents.change.created.0.3.0";
400pub const CHANGE_MERGED_0_3_0: &str = "dev.cdevents.change.merged.0.3.0";
401pub const CHANGE_MERGED_0_1_2: &str = "dev.cdevents.change.merged.0.1.2";
402pub const CHANGE_MERGED_0_2_0: &str = "dev.cdevents.change.merged.0.2.0";
403pub const CHANGE_REVIEWED_0_3_0: &str = "dev.cdevents.change.reviewed.0.3.0";
404pub const CHANGE_REVIEWED_0_1_2: &str = "dev.cdevents.change.reviewed.0.1.2";
405pub const CHANGE_REVIEWED_0_2_0: &str = "dev.cdevents.change.reviewed.0.2.0";
406pub const CHANGE_UPDATED_0_3_0: &str = "dev.cdevents.change.updated.0.3.0";
407pub const CHANGE_UPDATED_0_1_2: &str = "dev.cdevents.change.updated.0.1.2";
408pub const CHANGE_UPDATED_0_2_0: &str = "dev.cdevents.change.updated.0.2.0";
409pub const ENVIRONMENT_CREATED_0_3_0: &str = "dev.cdevents.environment.created.0.3.0";
410pub const ENVIRONMENT_CREATED_0_1_1: &str = "dev.cdevents.environment.created.0.1.1";
411pub const ENVIRONMENT_CREATED_0_2_0: &str = "dev.cdevents.environment.created.0.2.0";
412pub const ENVIRONMENT_DELETED_0_3_0: &str = "dev.cdevents.environment.deleted.0.3.0";
413pub const ENVIRONMENT_DELETED_0_1_1: &str = "dev.cdevents.environment.deleted.0.1.1";
414pub const ENVIRONMENT_DELETED_0_2_0: &str = "dev.cdevents.environment.deleted.0.2.0";
415pub const ENVIRONMENT_MODIFIED_0_3_0: &str = "dev.cdevents.environment.modified.0.3.0";
416pub const ENVIRONMENT_MODIFIED_0_1_1: &str = "dev.cdevents.environment.modified.0.1.1";
417pub const ENVIRONMENT_MODIFIED_0_2_0: &str = "dev.cdevents.environment.modified.0.2.0";
418pub const INCIDENT_DETECTED_0_3_0: &str = "dev.cdevents.incident.detected.0.3.0";
419pub const INCIDENT_DETECTED_0_1_0: &str = "dev.cdevents.incident.detected.0.1.0";
420pub const INCIDENT_DETECTED_0_2_0: &str = "dev.cdevents.incident.detected.0.2.0";
421pub const INCIDENT_REPORTED_0_3_0: &str = "dev.cdevents.incident.reported.0.3.0";
422pub const INCIDENT_REPORTED_0_1_0: &str = "dev.cdevents.incident.reported.0.1.0";
423pub const INCIDENT_REPORTED_0_2_0: &str = "dev.cdevents.incident.reported.0.2.0";
424pub const INCIDENT_RESOLVED_0_3_0: &str = "dev.cdevents.incident.resolved.0.3.0";
425pub const INCIDENT_RESOLVED_0_1_0: &str = "dev.cdevents.incident.resolved.0.1.0";
426pub const INCIDENT_RESOLVED_0_2_0: &str = "dev.cdevents.incident.resolved.0.2.0";
427pub const PIPELINERUN_FINISHED_0_3_0: &str = "dev.cdevents.pipelinerun.finished.0.3.0";
428pub const PIPELINERUN_FINISHED_0_1_1: &str = "dev.cdevents.pipelinerun.finished.0.1.1";
429pub const PIPELINERUN_FINISHED_0_2_0: &str = "dev.cdevents.pipelinerun.finished.0.2.0";
430pub const PIPELINERUN_QUEUED_0_3_0: &str = "dev.cdevents.pipelinerun.queued.0.3.0";
431pub const PIPELINERUN_QUEUED_0_1_1: &str = "dev.cdevents.pipelinerun.queued.0.1.1";
432pub const PIPELINERUN_QUEUED_0_2_0: &str = "dev.cdevents.pipelinerun.queued.0.2.0";
433pub const PIPELINERUN_STARTED_0_3_0: &str = "dev.cdevents.pipelinerun.started.0.3.0";
434pub const PIPELINERUN_STARTED_0_1_1: &str = "dev.cdevents.pipelinerun.started.0.1.1";
435pub const PIPELINERUN_STARTED_0_2_0: &str = "dev.cdevents.pipelinerun.started.0.2.0";
436pub const REPOSITORY_CREATED_0_3_0: &str = "dev.cdevents.repository.created.0.3.0";
437pub const REPOSITORY_CREATED_0_1_1: &str = "dev.cdevents.repository.created.0.1.1";
438pub const REPOSITORY_CREATED_0_2_0: &str = "dev.cdevents.repository.created.0.2.0";
439pub const REPOSITORY_DELETED_0_3_0: &str = "dev.cdevents.repository.deleted.0.3.0";
440pub const REPOSITORY_DELETED_0_1_1: &str = "dev.cdevents.repository.deleted.0.1.1";
441pub const REPOSITORY_DELETED_0_2_0: &str = "dev.cdevents.repository.deleted.0.2.0";
442pub const REPOSITORY_MODIFIED_0_3_0: &str = "dev.cdevents.repository.modified.0.3.0";
443pub const REPOSITORY_MODIFIED_0_1_1: &str = "dev.cdevents.repository.modified.0.1.1";
444pub const REPOSITORY_MODIFIED_0_2_0: &str = "dev.cdevents.repository.modified.0.2.0";
445pub const SERVICE_DEPLOYED_0_3_0: &str = "dev.cdevents.service.deployed.0.3.0";
446pub const SERVICE_DEPLOYED_0_1_1: &str = "dev.cdevents.service.deployed.0.1.1";
447pub const SERVICE_DEPLOYED_0_2_0: &str = "dev.cdevents.service.deployed.0.2.0";
448pub const SERVICE_PUBLISHED_0_3_0: &str = "dev.cdevents.service.published.0.3.0";
449pub const SERVICE_PUBLISHED_0_1_1: &str = "dev.cdevents.service.published.0.1.1";
450pub const SERVICE_PUBLISHED_0_2_0: &str = "dev.cdevents.service.published.0.2.0";
451pub const SERVICE_REMOVED_0_3_0: &str = "dev.cdevents.service.removed.0.3.0";
452pub const SERVICE_REMOVED_0_1_1: &str = "dev.cdevents.service.removed.0.1.1";
453pub const SERVICE_REMOVED_0_2_0: &str = "dev.cdevents.service.removed.0.2.0";
454pub const SERVICE_ROLLEDBACK_0_3_0: &str = "dev.cdevents.service.rolledback.0.3.0";
455pub const SERVICE_ROLLEDBACK_0_1_1: &str = "dev.cdevents.service.rolledback.0.1.1";
456pub const SERVICE_ROLLEDBACK_0_2_0: &str = "dev.cdevents.service.rolledback.0.2.0";
457pub const SERVICE_UPGRADED_0_3_0: &str = "dev.cdevents.service.upgraded.0.3.0";
458pub const SERVICE_UPGRADED_0_1_1: &str = "dev.cdevents.service.upgraded.0.1.1";
459pub const SERVICE_UPGRADED_0_2_0: &str = "dev.cdevents.service.upgraded.0.2.0";
460pub const TASKRUN_FINISHED_0_3_0: &str = "dev.cdevents.taskrun.finished.0.3.0";
461pub const TASKRUN_FINISHED_0_1_1: &str = "dev.cdevents.taskrun.finished.0.1.1";
462pub const TASKRUN_FINISHED_0_2_0: &str = "dev.cdevents.taskrun.finished.0.2.0";
463pub const TASKRUN_STARTED_0_3_0: &str = "dev.cdevents.taskrun.started.0.3.0";
464pub const TASKRUN_STARTED_0_1_1: &str = "dev.cdevents.taskrun.started.0.1.1";
465pub const TASKRUN_STARTED_0_2_0: &str = "dev.cdevents.taskrun.started.0.2.0";
466pub const TESTCASERUN_FINISHED_0_3_0: &str = "dev.cdevents.testcaserun.finished.0.3.0";
467pub const TESTCASERUN_FINISHED_0_1_0: &str = "dev.cdevents.testcaserun.finished.0.1.0";
468pub const TESTCASERUN_FINISHED_0_2_0: &str = "dev.cdevents.testcaserun.finished.0.2.0";
469pub const TESTCASERUN_QUEUED_0_3_0: &str = "dev.cdevents.testcaserun.queued.0.3.0";
470pub const TESTCASERUN_QUEUED_0_1_0: &str = "dev.cdevents.testcaserun.queued.0.1.0";
471pub const TESTCASERUN_QUEUED_0_2_0: &str = "dev.cdevents.testcaserun.queued.0.2.0";
472pub const TESTCASERUN_SKIPPED_0_2_0: &str = "dev.cdevents.testcaserun.skipped.0.2.0";
473pub const TESTCASERUN_SKIPPED_0_1_0: &str = "dev.cdevents.testcaserun.skipped.0.1.0";
474pub const TESTCASERUN_STARTED_0_3_0: &str = "dev.cdevents.testcaserun.started.0.3.0";
475pub const TESTCASERUN_STARTED_0_1_0: &str = "dev.cdevents.testcaserun.started.0.1.0";
476pub const TESTCASERUN_STARTED_0_2_0: &str = "dev.cdevents.testcaserun.started.0.2.0";
477pub const TESTOUTPUT_PUBLISHED_0_3_0: &str = "dev.cdevents.testoutput.published.0.3.0";
478pub const TESTOUTPUT_PUBLISHED_0_1_0: &str = "dev.cdevents.testoutput.published.0.1.0";
479pub const TESTOUTPUT_PUBLISHED_0_2_0: &str = "dev.cdevents.testoutput.published.0.2.0";
480pub const TESTSUITERUN_FINISHED_0_3_0: &str = "dev.cdevents.testsuiterun.finished.0.3.0";
481pub const TESTSUITERUN_FINISHED_0_1_0: &str = "dev.cdevents.testsuiterun.finished.0.1.0";
482pub const TESTSUITERUN_FINISHED_0_2_0: &str = "dev.cdevents.testsuiterun.finished.0.2.0";
483pub const TESTSUITERUN_QUEUED_0_3_0: &str = "dev.cdevents.testsuiterun.queued.0.3.0";
484pub const TESTSUITERUN_QUEUED_0_1_0: &str = "dev.cdevents.testsuiterun.queued.0.1.0";
485pub const TESTSUITERUN_QUEUED_0_2_0: &str = "dev.cdevents.testsuiterun.queued.0.2.0";
486pub const TESTSUITERUN_STARTED_0_3_0: &str = "dev.cdevents.testsuiterun.started.0.3.0";
487pub const TESTSUITERUN_STARTED_0_1_0: &str = "dev.cdevents.testsuiterun.started.0.1.0";
488pub const TESTSUITERUN_STARTED_0_2_0: &str = "dev.cdevents.testsuiterun.started.0.2.0";
489pub const TICKET_CLOSED_0_2_0: &str = "dev.cdevents.ticket.closed.0.2.0";
490pub const TICKET_CLOSED_0_1_0: &str = "dev.cdevents.ticket.closed.0.1.0";
491pub const TICKET_CREATED_0_2_0: &str = "dev.cdevents.ticket.created.0.2.0";
492pub const TICKET_CREATED_0_1_0: &str = "dev.cdevents.ticket.created.0.1.0";
493pub const TICKET_UPDATED_0_2_0: &str = "dev.cdevents.ticket.updated.0.2.0";
494pub const TICKET_UPDATED_0_1_0: &str = "dev.cdevents.ticket.updated.0.1.0";
495
496#[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Eq)]
497#[serde(untagged)] // TODO how to use content of context.type as discriminator ?
498pub enum Content {
499    ArtifactDeleted020(artifact_deleted_0_2_0::Content),
500    ArtifactDeleted010(artifact_deleted_0_1_0::Content),
501    ArtifactDownloaded020(artifact_downloaded_0_2_0::Content),
502    ArtifactDownloaded010(artifact_downloaded_0_1_0::Content),
503    ArtifactPackaged030(artifact_packaged_0_3_0::Content),
504    ArtifactPackaged011(artifact_packaged_0_1_1::Content),
505    ArtifactPackaged020(artifact_packaged_0_2_0::Content),
506    ArtifactPublished030(artifact_published_0_3_0::Content),
507    ArtifactPublished011(artifact_published_0_1_1::Content),
508    ArtifactPublished020(artifact_published_0_2_0::Content),
509    ArtifactSigned030(artifact_signed_0_3_0::Content),
510    ArtifactSigned010(artifact_signed_0_1_0::Content),
511    ArtifactSigned020(artifact_signed_0_2_0::Content),
512    BranchCreated030(branch_created_0_3_0::Content),
513    BranchCreated012(branch_created_0_1_2::Content),
514    BranchCreated020(branch_created_0_2_0::Content),
515    BranchDeleted030(branch_deleted_0_3_0::Content),
516    BranchDeleted012(branch_deleted_0_1_2::Content),
517    BranchDeleted020(branch_deleted_0_2_0::Content),
518    BuildFinished030(build_finished_0_3_0::Content),
519    BuildFinished011(build_finished_0_1_1::Content),
520    BuildFinished020(build_finished_0_2_0::Content),
521    BuildQueued030(build_queued_0_3_0::Content),
522    BuildQueued011(build_queued_0_1_1::Content),
523    BuildQueued020(build_queued_0_2_0::Content),
524    BuildStarted030(build_started_0_3_0::Content),
525    BuildStarted011(build_started_0_1_1::Content),
526    BuildStarted020(build_started_0_2_0::Content),
527    ChangeAbandoned030(change_abandoned_0_3_0::Content),
528    ChangeAbandoned012(change_abandoned_0_1_2::Content),
529    ChangeAbandoned020(change_abandoned_0_2_0::Content),
530    ChangeCreated040(change_created_0_4_0::Content),
531    ChangeCreated012(change_created_0_1_2::Content),
532    ChangeCreated030(change_created_0_3_0::Content),
533    ChangeMerged030(change_merged_0_3_0::Content),
534    ChangeMerged012(change_merged_0_1_2::Content),
535    ChangeMerged020(change_merged_0_2_0::Content),
536    ChangeReviewed030(change_reviewed_0_3_0::Content),
537    ChangeReviewed012(change_reviewed_0_1_2::Content),
538    ChangeReviewed020(change_reviewed_0_2_0::Content),
539    ChangeUpdated030(change_updated_0_3_0::Content),
540    ChangeUpdated012(change_updated_0_1_2::Content),
541    ChangeUpdated020(change_updated_0_2_0::Content),
542    EnvironmentCreated030(environment_created_0_3_0::Content),
543    EnvironmentCreated011(environment_created_0_1_1::Content),
544    EnvironmentCreated020(environment_created_0_2_0::Content),
545    EnvironmentDeleted030(environment_deleted_0_3_0::Content),
546    EnvironmentDeleted011(environment_deleted_0_1_1::Content),
547    EnvironmentDeleted020(environment_deleted_0_2_0::Content),
548    EnvironmentModified030(environment_modified_0_3_0::Content),
549    EnvironmentModified011(environment_modified_0_1_1::Content),
550    EnvironmentModified020(environment_modified_0_2_0::Content),
551    IncidentDetected030(incident_detected_0_3_0::Content),
552    IncidentDetected010(incident_detected_0_1_0::Content),
553    IncidentDetected020(incident_detected_0_2_0::Content),
554    IncidentReported030(incident_reported_0_3_0::Content),
555    IncidentReported010(incident_reported_0_1_0::Content),
556    IncidentReported020(incident_reported_0_2_0::Content),
557    IncidentResolved030(incident_resolved_0_3_0::Content),
558    IncidentResolved010(incident_resolved_0_1_0::Content),
559    IncidentResolved020(incident_resolved_0_2_0::Content),
560    PipelinerunFinished030(pipelinerun_finished_0_3_0::Content),
561    PipelinerunFinished011(pipelinerun_finished_0_1_1::Content),
562    PipelinerunFinished020(pipelinerun_finished_0_2_0::Content),
563    PipelinerunQueued030(pipelinerun_queued_0_3_0::Content),
564    PipelinerunQueued011(pipelinerun_queued_0_1_1::Content),
565    PipelinerunQueued020(pipelinerun_queued_0_2_0::Content),
566    PipelinerunStarted030(pipelinerun_started_0_3_0::Content),
567    PipelinerunStarted011(pipelinerun_started_0_1_1::Content),
568    PipelinerunStarted020(pipelinerun_started_0_2_0::Content),
569    RepositoryCreated030(repository_created_0_3_0::Content),
570    RepositoryCreated011(repository_created_0_1_1::Content),
571    RepositoryCreated020(repository_created_0_2_0::Content),
572    RepositoryDeleted030(repository_deleted_0_3_0::Content),
573    RepositoryDeleted011(repository_deleted_0_1_1::Content),
574    RepositoryDeleted020(repository_deleted_0_2_0::Content),
575    RepositoryModified030(repository_modified_0_3_0::Content),
576    RepositoryModified011(repository_modified_0_1_1::Content),
577    RepositoryModified020(repository_modified_0_2_0::Content),
578    ServiceDeployed030(service_deployed_0_3_0::Content),
579    ServiceDeployed011(service_deployed_0_1_1::Content),
580    ServiceDeployed020(service_deployed_0_2_0::Content),
581    ServicePublished030(service_published_0_3_0::Content),
582    ServicePublished011(service_published_0_1_1::Content),
583    ServicePublished020(service_published_0_2_0::Content),
584    ServiceRemoved030(service_removed_0_3_0::Content),
585    ServiceRemoved011(service_removed_0_1_1::Content),
586    ServiceRemoved020(service_removed_0_2_0::Content),
587    ServiceRolledback030(service_rolledback_0_3_0::Content),
588    ServiceRolledback011(service_rolledback_0_1_1::Content),
589    ServiceRolledback020(service_rolledback_0_2_0::Content),
590    ServiceUpgraded030(service_upgraded_0_3_0::Content),
591    ServiceUpgraded011(service_upgraded_0_1_1::Content),
592    ServiceUpgraded020(service_upgraded_0_2_0::Content),
593    TaskrunFinished030(taskrun_finished_0_3_0::Content),
594    TaskrunFinished011(taskrun_finished_0_1_1::Content),
595    TaskrunFinished020(taskrun_finished_0_2_0::Content),
596    TaskrunStarted030(taskrun_started_0_3_0::Content),
597    TaskrunStarted011(taskrun_started_0_1_1::Content),
598    TaskrunStarted020(taskrun_started_0_2_0::Content),
599    TestcaserunFinished030(testcaserun_finished_0_3_0::Content),
600    TestcaserunFinished010(testcaserun_finished_0_1_0::Content),
601    TestcaserunFinished020(testcaserun_finished_0_2_0::Content),
602    TestcaserunQueued030(testcaserun_queued_0_3_0::Content),
603    TestcaserunQueued010(testcaserun_queued_0_1_0::Content),
604    TestcaserunQueued020(testcaserun_queued_0_2_0::Content),
605    TestcaserunSkipped020(testcaserun_skipped_0_2_0::Content),
606    TestcaserunSkipped010(testcaserun_skipped_0_1_0::Content),
607    TestcaserunStarted030(testcaserun_started_0_3_0::Content),
608    TestcaserunStarted010(testcaserun_started_0_1_0::Content),
609    TestcaserunStarted020(testcaserun_started_0_2_0::Content),
610    TestoutputPublished030(testoutput_published_0_3_0::Content),
611    TestoutputPublished010(testoutput_published_0_1_0::Content),
612    TestoutputPublished020(testoutput_published_0_2_0::Content),
613    TestsuiterunFinished030(testsuiterun_finished_0_3_0::Content),
614    TestsuiterunFinished010(testsuiterun_finished_0_1_0::Content),
615    TestsuiterunFinished020(testsuiterun_finished_0_2_0::Content),
616    TestsuiterunQueued030(testsuiterun_queued_0_3_0::Content),
617    TestsuiterunQueued010(testsuiterun_queued_0_1_0::Content),
618    TestsuiterunQueued020(testsuiterun_queued_0_2_0::Content),
619    TestsuiterunStarted030(testsuiterun_started_0_3_0::Content),
620    TestsuiterunStarted010(testsuiterun_started_0_1_0::Content),
621    TestsuiterunStarted020(testsuiterun_started_0_2_0::Content),
622    TicketClosed020(ticket_closed_0_2_0::Content),
623    TicketClosed010(ticket_closed_0_1_0::Content),
624    TicketCreated020(ticket_created_0_2_0::Content),
625    TicketCreated010(ticket_created_0_1_0::Content),
626    TicketUpdated020(ticket_updated_0_2_0::Content),
627    TicketUpdated010(ticket_updated_0_1_0::Content),
628    Custom{
629      #[serde(skip)]
630      ty: String,
631      #[serde(flatten)]
632      json: serde_json::Value,
633    },
634}
635
636impl Content {
637    pub fn from_json(ty: &str, json: serde_json::Value) -> Result<Self, serde_json::Error>{
638        match ty {
639            ARTIFACT_DELETED_0_2_0 => {
640                let variant: artifact_deleted_0_2_0::Content = serde_json::from_value(json)?;
641                Ok(variant.into())
642            },
643            ARTIFACT_DELETED_0_1_0 => {
644                let variant: artifact_deleted_0_1_0::Content = serde_json::from_value(json)?;
645                Ok(variant.into())
646            },
647            ARTIFACT_DOWNLOADED_0_2_0 => {
648                let variant: artifact_downloaded_0_2_0::Content = serde_json::from_value(json)?;
649                Ok(variant.into())
650            },
651            ARTIFACT_DOWNLOADED_0_1_0 => {
652                let variant: artifact_downloaded_0_1_0::Content = serde_json::from_value(json)?;
653                Ok(variant.into())
654            },
655            ARTIFACT_PACKAGED_0_3_0 => {
656                let variant: artifact_packaged_0_3_0::Content = serde_json::from_value(json)?;
657                Ok(variant.into())
658            },
659            ARTIFACT_PACKAGED_0_1_1 => {
660                let variant: artifact_packaged_0_1_1::Content = serde_json::from_value(json)?;
661                Ok(variant.into())
662            },
663            ARTIFACT_PACKAGED_0_2_0 => {
664                let variant: artifact_packaged_0_2_0::Content = serde_json::from_value(json)?;
665                Ok(variant.into())
666            },
667            ARTIFACT_PUBLISHED_0_3_0 => {
668                let variant: artifact_published_0_3_0::Content = serde_json::from_value(json)?;
669                Ok(variant.into())
670            },
671            ARTIFACT_PUBLISHED_0_1_1 => {
672                let variant: artifact_published_0_1_1::Content = serde_json::from_value(json)?;
673                Ok(variant.into())
674            },
675            ARTIFACT_PUBLISHED_0_2_0 => {
676                let variant: artifact_published_0_2_0::Content = serde_json::from_value(json)?;
677                Ok(variant.into())
678            },
679            ARTIFACT_SIGNED_0_3_0 => {
680                let variant: artifact_signed_0_3_0::Content = serde_json::from_value(json)?;
681                Ok(variant.into())
682            },
683            ARTIFACT_SIGNED_0_1_0 => {
684                let variant: artifact_signed_0_1_0::Content = serde_json::from_value(json)?;
685                Ok(variant.into())
686            },
687            ARTIFACT_SIGNED_0_2_0 => {
688                let variant: artifact_signed_0_2_0::Content = serde_json::from_value(json)?;
689                Ok(variant.into())
690            },
691            BRANCH_CREATED_0_3_0 => {
692                let variant: branch_created_0_3_0::Content = serde_json::from_value(json)?;
693                Ok(variant.into())
694            },
695            BRANCH_CREATED_0_1_2 => {
696                let variant: branch_created_0_1_2::Content = serde_json::from_value(json)?;
697                Ok(variant.into())
698            },
699            BRANCH_CREATED_0_2_0 => {
700                let variant: branch_created_0_2_0::Content = serde_json::from_value(json)?;
701                Ok(variant.into())
702            },
703            BRANCH_DELETED_0_3_0 => {
704                let variant: branch_deleted_0_3_0::Content = serde_json::from_value(json)?;
705                Ok(variant.into())
706            },
707            BRANCH_DELETED_0_1_2 => {
708                let variant: branch_deleted_0_1_2::Content = serde_json::from_value(json)?;
709                Ok(variant.into())
710            },
711            BRANCH_DELETED_0_2_0 => {
712                let variant: branch_deleted_0_2_0::Content = serde_json::from_value(json)?;
713                Ok(variant.into())
714            },
715            BUILD_FINISHED_0_3_0 => {
716                let variant: build_finished_0_3_0::Content = serde_json::from_value(json)?;
717                Ok(variant.into())
718            },
719            BUILD_FINISHED_0_1_1 => {
720                let variant: build_finished_0_1_1::Content = serde_json::from_value(json)?;
721                Ok(variant.into())
722            },
723            BUILD_FINISHED_0_2_0 => {
724                let variant: build_finished_0_2_0::Content = serde_json::from_value(json)?;
725                Ok(variant.into())
726            },
727            BUILD_QUEUED_0_3_0 => {
728                let variant: build_queued_0_3_0::Content = serde_json::from_value(json)?;
729                Ok(variant.into())
730            },
731            BUILD_QUEUED_0_1_1 => {
732                let variant: build_queued_0_1_1::Content = serde_json::from_value(json)?;
733                Ok(variant.into())
734            },
735            BUILD_QUEUED_0_2_0 => {
736                let variant: build_queued_0_2_0::Content = serde_json::from_value(json)?;
737                Ok(variant.into())
738            },
739            BUILD_STARTED_0_3_0 => {
740                let variant: build_started_0_3_0::Content = serde_json::from_value(json)?;
741                Ok(variant.into())
742            },
743            BUILD_STARTED_0_1_1 => {
744                let variant: build_started_0_1_1::Content = serde_json::from_value(json)?;
745                Ok(variant.into())
746            },
747            BUILD_STARTED_0_2_0 => {
748                let variant: build_started_0_2_0::Content = serde_json::from_value(json)?;
749                Ok(variant.into())
750            },
751            CHANGE_ABANDONED_0_3_0 => {
752                let variant: change_abandoned_0_3_0::Content = serde_json::from_value(json)?;
753                Ok(variant.into())
754            },
755            CHANGE_ABANDONED_0_1_2 => {
756                let variant: change_abandoned_0_1_2::Content = serde_json::from_value(json)?;
757                Ok(variant.into())
758            },
759            CHANGE_ABANDONED_0_2_0 => {
760                let variant: change_abandoned_0_2_0::Content = serde_json::from_value(json)?;
761                Ok(variant.into())
762            },
763            CHANGE_CREATED_0_4_0 => {
764                let variant: change_created_0_4_0::Content = serde_json::from_value(json)?;
765                Ok(variant.into())
766            },
767            CHANGE_CREATED_0_1_2 => {
768                let variant: change_created_0_1_2::Content = serde_json::from_value(json)?;
769                Ok(variant.into())
770            },
771            CHANGE_CREATED_0_3_0 => {
772                let variant: change_created_0_3_0::Content = serde_json::from_value(json)?;
773                Ok(variant.into())
774            },
775            CHANGE_MERGED_0_3_0 => {
776                let variant: change_merged_0_3_0::Content = serde_json::from_value(json)?;
777                Ok(variant.into())
778            },
779            CHANGE_MERGED_0_1_2 => {
780                let variant: change_merged_0_1_2::Content = serde_json::from_value(json)?;
781                Ok(variant.into())
782            },
783            CHANGE_MERGED_0_2_0 => {
784                let variant: change_merged_0_2_0::Content = serde_json::from_value(json)?;
785                Ok(variant.into())
786            },
787            CHANGE_REVIEWED_0_3_0 => {
788                let variant: change_reviewed_0_3_0::Content = serde_json::from_value(json)?;
789                Ok(variant.into())
790            },
791            CHANGE_REVIEWED_0_1_2 => {
792                let variant: change_reviewed_0_1_2::Content = serde_json::from_value(json)?;
793                Ok(variant.into())
794            },
795            CHANGE_REVIEWED_0_2_0 => {
796                let variant: change_reviewed_0_2_0::Content = serde_json::from_value(json)?;
797                Ok(variant.into())
798            },
799            CHANGE_UPDATED_0_3_0 => {
800                let variant: change_updated_0_3_0::Content = serde_json::from_value(json)?;
801                Ok(variant.into())
802            },
803            CHANGE_UPDATED_0_1_2 => {
804                let variant: change_updated_0_1_2::Content = serde_json::from_value(json)?;
805                Ok(variant.into())
806            },
807            CHANGE_UPDATED_0_2_0 => {
808                let variant: change_updated_0_2_0::Content = serde_json::from_value(json)?;
809                Ok(variant.into())
810            },
811            ENVIRONMENT_CREATED_0_3_0 => {
812                let variant: environment_created_0_3_0::Content = serde_json::from_value(json)?;
813                Ok(variant.into())
814            },
815            ENVIRONMENT_CREATED_0_1_1 => {
816                let variant: environment_created_0_1_1::Content = serde_json::from_value(json)?;
817                Ok(variant.into())
818            },
819            ENVIRONMENT_CREATED_0_2_0 => {
820                let variant: environment_created_0_2_0::Content = serde_json::from_value(json)?;
821                Ok(variant.into())
822            },
823            ENVIRONMENT_DELETED_0_3_0 => {
824                let variant: environment_deleted_0_3_0::Content = serde_json::from_value(json)?;
825                Ok(variant.into())
826            },
827            ENVIRONMENT_DELETED_0_1_1 => {
828                let variant: environment_deleted_0_1_1::Content = serde_json::from_value(json)?;
829                Ok(variant.into())
830            },
831            ENVIRONMENT_DELETED_0_2_0 => {
832                let variant: environment_deleted_0_2_0::Content = serde_json::from_value(json)?;
833                Ok(variant.into())
834            },
835            ENVIRONMENT_MODIFIED_0_3_0 => {
836                let variant: environment_modified_0_3_0::Content = serde_json::from_value(json)?;
837                Ok(variant.into())
838            },
839            ENVIRONMENT_MODIFIED_0_1_1 => {
840                let variant: environment_modified_0_1_1::Content = serde_json::from_value(json)?;
841                Ok(variant.into())
842            },
843            ENVIRONMENT_MODIFIED_0_2_0 => {
844                let variant: environment_modified_0_2_0::Content = serde_json::from_value(json)?;
845                Ok(variant.into())
846            },
847            INCIDENT_DETECTED_0_3_0 => {
848                let variant: incident_detected_0_3_0::Content = serde_json::from_value(json)?;
849                Ok(variant.into())
850            },
851            INCIDENT_DETECTED_0_1_0 => {
852                let variant: incident_detected_0_1_0::Content = serde_json::from_value(json)?;
853                Ok(variant.into())
854            },
855            INCIDENT_DETECTED_0_2_0 => {
856                let variant: incident_detected_0_2_0::Content = serde_json::from_value(json)?;
857                Ok(variant.into())
858            },
859            INCIDENT_REPORTED_0_3_0 => {
860                let variant: incident_reported_0_3_0::Content = serde_json::from_value(json)?;
861                Ok(variant.into())
862            },
863            INCIDENT_REPORTED_0_1_0 => {
864                let variant: incident_reported_0_1_0::Content = serde_json::from_value(json)?;
865                Ok(variant.into())
866            },
867            INCIDENT_REPORTED_0_2_0 => {
868                let variant: incident_reported_0_2_0::Content = serde_json::from_value(json)?;
869                Ok(variant.into())
870            },
871            INCIDENT_RESOLVED_0_3_0 => {
872                let variant: incident_resolved_0_3_0::Content = serde_json::from_value(json)?;
873                Ok(variant.into())
874            },
875            INCIDENT_RESOLVED_0_1_0 => {
876                let variant: incident_resolved_0_1_0::Content = serde_json::from_value(json)?;
877                Ok(variant.into())
878            },
879            INCIDENT_RESOLVED_0_2_0 => {
880                let variant: incident_resolved_0_2_0::Content = serde_json::from_value(json)?;
881                Ok(variant.into())
882            },
883            PIPELINERUN_FINISHED_0_3_0 => {
884                let variant: pipelinerun_finished_0_3_0::Content = serde_json::from_value(json)?;
885                Ok(variant.into())
886            },
887            PIPELINERUN_FINISHED_0_1_1 => {
888                let variant: pipelinerun_finished_0_1_1::Content = serde_json::from_value(json)?;
889                Ok(variant.into())
890            },
891            PIPELINERUN_FINISHED_0_2_0 => {
892                let variant: pipelinerun_finished_0_2_0::Content = serde_json::from_value(json)?;
893                Ok(variant.into())
894            },
895            PIPELINERUN_QUEUED_0_3_0 => {
896                let variant: pipelinerun_queued_0_3_0::Content = serde_json::from_value(json)?;
897                Ok(variant.into())
898            },
899            PIPELINERUN_QUEUED_0_1_1 => {
900                let variant: pipelinerun_queued_0_1_1::Content = serde_json::from_value(json)?;
901                Ok(variant.into())
902            },
903            PIPELINERUN_QUEUED_0_2_0 => {
904                let variant: pipelinerun_queued_0_2_0::Content = serde_json::from_value(json)?;
905                Ok(variant.into())
906            },
907            PIPELINERUN_STARTED_0_3_0 => {
908                let variant: pipelinerun_started_0_3_0::Content = serde_json::from_value(json)?;
909                Ok(variant.into())
910            },
911            PIPELINERUN_STARTED_0_1_1 => {
912                let variant: pipelinerun_started_0_1_1::Content = serde_json::from_value(json)?;
913                Ok(variant.into())
914            },
915            PIPELINERUN_STARTED_0_2_0 => {
916                let variant: pipelinerun_started_0_2_0::Content = serde_json::from_value(json)?;
917                Ok(variant.into())
918            },
919            REPOSITORY_CREATED_0_3_0 => {
920                let variant: repository_created_0_3_0::Content = serde_json::from_value(json)?;
921                Ok(variant.into())
922            },
923            REPOSITORY_CREATED_0_1_1 => {
924                let variant: repository_created_0_1_1::Content = serde_json::from_value(json)?;
925                Ok(variant.into())
926            },
927            REPOSITORY_CREATED_0_2_0 => {
928                let variant: repository_created_0_2_0::Content = serde_json::from_value(json)?;
929                Ok(variant.into())
930            },
931            REPOSITORY_DELETED_0_3_0 => {
932                let variant: repository_deleted_0_3_0::Content = serde_json::from_value(json)?;
933                Ok(variant.into())
934            },
935            REPOSITORY_DELETED_0_1_1 => {
936                let variant: repository_deleted_0_1_1::Content = serde_json::from_value(json)?;
937                Ok(variant.into())
938            },
939            REPOSITORY_DELETED_0_2_0 => {
940                let variant: repository_deleted_0_2_0::Content = serde_json::from_value(json)?;
941                Ok(variant.into())
942            },
943            REPOSITORY_MODIFIED_0_3_0 => {
944                let variant: repository_modified_0_3_0::Content = serde_json::from_value(json)?;
945                Ok(variant.into())
946            },
947            REPOSITORY_MODIFIED_0_1_1 => {
948                let variant: repository_modified_0_1_1::Content = serde_json::from_value(json)?;
949                Ok(variant.into())
950            },
951            REPOSITORY_MODIFIED_0_2_0 => {
952                let variant: repository_modified_0_2_0::Content = serde_json::from_value(json)?;
953                Ok(variant.into())
954            },
955            SERVICE_DEPLOYED_0_3_0 => {
956                let variant: service_deployed_0_3_0::Content = serde_json::from_value(json)?;
957                Ok(variant.into())
958            },
959            SERVICE_DEPLOYED_0_1_1 => {
960                let variant: service_deployed_0_1_1::Content = serde_json::from_value(json)?;
961                Ok(variant.into())
962            },
963            SERVICE_DEPLOYED_0_2_0 => {
964                let variant: service_deployed_0_2_0::Content = serde_json::from_value(json)?;
965                Ok(variant.into())
966            },
967            SERVICE_PUBLISHED_0_3_0 => {
968                let variant: service_published_0_3_0::Content = serde_json::from_value(json)?;
969                Ok(variant.into())
970            },
971            SERVICE_PUBLISHED_0_1_1 => {
972                let variant: service_published_0_1_1::Content = serde_json::from_value(json)?;
973                Ok(variant.into())
974            },
975            SERVICE_PUBLISHED_0_2_0 => {
976                let variant: service_published_0_2_0::Content = serde_json::from_value(json)?;
977                Ok(variant.into())
978            },
979            SERVICE_REMOVED_0_3_0 => {
980                let variant: service_removed_0_3_0::Content = serde_json::from_value(json)?;
981                Ok(variant.into())
982            },
983            SERVICE_REMOVED_0_1_1 => {
984                let variant: service_removed_0_1_1::Content = serde_json::from_value(json)?;
985                Ok(variant.into())
986            },
987            SERVICE_REMOVED_0_2_0 => {
988                let variant: service_removed_0_2_0::Content = serde_json::from_value(json)?;
989                Ok(variant.into())
990            },
991            SERVICE_ROLLEDBACK_0_3_0 => {
992                let variant: service_rolledback_0_3_0::Content = serde_json::from_value(json)?;
993                Ok(variant.into())
994            },
995            SERVICE_ROLLEDBACK_0_1_1 => {
996                let variant: service_rolledback_0_1_1::Content = serde_json::from_value(json)?;
997                Ok(variant.into())
998            },
999            SERVICE_ROLLEDBACK_0_2_0 => {
1000                let variant: service_rolledback_0_2_0::Content = serde_json::from_value(json)?;
1001                Ok(variant.into())
1002            },
1003            SERVICE_UPGRADED_0_3_0 => {
1004                let variant: service_upgraded_0_3_0::Content = serde_json::from_value(json)?;
1005                Ok(variant.into())
1006            },
1007            SERVICE_UPGRADED_0_1_1 => {
1008                let variant: service_upgraded_0_1_1::Content = serde_json::from_value(json)?;
1009                Ok(variant.into())
1010            },
1011            SERVICE_UPGRADED_0_2_0 => {
1012                let variant: service_upgraded_0_2_0::Content = serde_json::from_value(json)?;
1013                Ok(variant.into())
1014            },
1015            TASKRUN_FINISHED_0_3_0 => {
1016                let variant: taskrun_finished_0_3_0::Content = serde_json::from_value(json)?;
1017                Ok(variant.into())
1018            },
1019            TASKRUN_FINISHED_0_1_1 => {
1020                let variant: taskrun_finished_0_1_1::Content = serde_json::from_value(json)?;
1021                Ok(variant.into())
1022            },
1023            TASKRUN_FINISHED_0_2_0 => {
1024                let variant: taskrun_finished_0_2_0::Content = serde_json::from_value(json)?;
1025                Ok(variant.into())
1026            },
1027            TASKRUN_STARTED_0_3_0 => {
1028                let variant: taskrun_started_0_3_0::Content = serde_json::from_value(json)?;
1029                Ok(variant.into())
1030            },
1031            TASKRUN_STARTED_0_1_1 => {
1032                let variant: taskrun_started_0_1_1::Content = serde_json::from_value(json)?;
1033                Ok(variant.into())
1034            },
1035            TASKRUN_STARTED_0_2_0 => {
1036                let variant: taskrun_started_0_2_0::Content = serde_json::from_value(json)?;
1037                Ok(variant.into())
1038            },
1039            TESTCASERUN_FINISHED_0_3_0 => {
1040                let variant: testcaserun_finished_0_3_0::Content = serde_json::from_value(json)?;
1041                Ok(variant.into())
1042            },
1043            TESTCASERUN_FINISHED_0_1_0 => {
1044                let variant: testcaserun_finished_0_1_0::Content = serde_json::from_value(json)?;
1045                Ok(variant.into())
1046            },
1047            TESTCASERUN_FINISHED_0_2_0 => {
1048                let variant: testcaserun_finished_0_2_0::Content = serde_json::from_value(json)?;
1049                Ok(variant.into())
1050            },
1051            TESTCASERUN_QUEUED_0_3_0 => {
1052                let variant: testcaserun_queued_0_3_0::Content = serde_json::from_value(json)?;
1053                Ok(variant.into())
1054            },
1055            TESTCASERUN_QUEUED_0_1_0 => {
1056                let variant: testcaserun_queued_0_1_0::Content = serde_json::from_value(json)?;
1057                Ok(variant.into())
1058            },
1059            TESTCASERUN_QUEUED_0_2_0 => {
1060                let variant: testcaserun_queued_0_2_0::Content = serde_json::from_value(json)?;
1061                Ok(variant.into())
1062            },
1063            TESTCASERUN_SKIPPED_0_2_0 => {
1064                let variant: testcaserun_skipped_0_2_0::Content = serde_json::from_value(json)?;
1065                Ok(variant.into())
1066            },
1067            TESTCASERUN_SKIPPED_0_1_0 => {
1068                let variant: testcaserun_skipped_0_1_0::Content = serde_json::from_value(json)?;
1069                Ok(variant.into())
1070            },
1071            TESTCASERUN_STARTED_0_3_0 => {
1072                let variant: testcaserun_started_0_3_0::Content = serde_json::from_value(json)?;
1073                Ok(variant.into())
1074            },
1075            TESTCASERUN_STARTED_0_1_0 => {
1076                let variant: testcaserun_started_0_1_0::Content = serde_json::from_value(json)?;
1077                Ok(variant.into())
1078            },
1079            TESTCASERUN_STARTED_0_2_0 => {
1080                let variant: testcaserun_started_0_2_0::Content = serde_json::from_value(json)?;
1081                Ok(variant.into())
1082            },
1083            TESTOUTPUT_PUBLISHED_0_3_0 => {
1084                let variant: testoutput_published_0_3_0::Content = serde_json::from_value(json)?;
1085                Ok(variant.into())
1086            },
1087            TESTOUTPUT_PUBLISHED_0_1_0 => {
1088                let variant: testoutput_published_0_1_0::Content = serde_json::from_value(json)?;
1089                Ok(variant.into())
1090            },
1091            TESTOUTPUT_PUBLISHED_0_2_0 => {
1092                let variant: testoutput_published_0_2_0::Content = serde_json::from_value(json)?;
1093                Ok(variant.into())
1094            },
1095            TESTSUITERUN_FINISHED_0_3_0 => {
1096                let variant: testsuiterun_finished_0_3_0::Content = serde_json::from_value(json)?;
1097                Ok(variant.into())
1098            },
1099            TESTSUITERUN_FINISHED_0_1_0 => {
1100                let variant: testsuiterun_finished_0_1_0::Content = serde_json::from_value(json)?;
1101                Ok(variant.into())
1102            },
1103            TESTSUITERUN_FINISHED_0_2_0 => {
1104                let variant: testsuiterun_finished_0_2_0::Content = serde_json::from_value(json)?;
1105                Ok(variant.into())
1106            },
1107            TESTSUITERUN_QUEUED_0_3_0 => {
1108                let variant: testsuiterun_queued_0_3_0::Content = serde_json::from_value(json)?;
1109                Ok(variant.into())
1110            },
1111            TESTSUITERUN_QUEUED_0_1_0 => {
1112                let variant: testsuiterun_queued_0_1_0::Content = serde_json::from_value(json)?;
1113                Ok(variant.into())
1114            },
1115            TESTSUITERUN_QUEUED_0_2_0 => {
1116                let variant: testsuiterun_queued_0_2_0::Content = serde_json::from_value(json)?;
1117                Ok(variant.into())
1118            },
1119            TESTSUITERUN_STARTED_0_3_0 => {
1120                let variant: testsuiterun_started_0_3_0::Content = serde_json::from_value(json)?;
1121                Ok(variant.into())
1122            },
1123            TESTSUITERUN_STARTED_0_1_0 => {
1124                let variant: testsuiterun_started_0_1_0::Content = serde_json::from_value(json)?;
1125                Ok(variant.into())
1126            },
1127            TESTSUITERUN_STARTED_0_2_0 => {
1128                let variant: testsuiterun_started_0_2_0::Content = serde_json::from_value(json)?;
1129                Ok(variant.into())
1130            },
1131            TICKET_CLOSED_0_2_0 => {
1132                let variant: ticket_closed_0_2_0::Content = serde_json::from_value(json)?;
1133                Ok(variant.into())
1134            },
1135            TICKET_CLOSED_0_1_0 => {
1136                let variant: ticket_closed_0_1_0::Content = serde_json::from_value(json)?;
1137                Ok(variant.into())
1138            },
1139            TICKET_CREATED_0_2_0 => {
1140                let variant: ticket_created_0_2_0::Content = serde_json::from_value(json)?;
1141                Ok(variant.into())
1142            },
1143            TICKET_CREATED_0_1_0 => {
1144                let variant: ticket_created_0_1_0::Content = serde_json::from_value(json)?;
1145                Ok(variant.into())
1146            },
1147            TICKET_UPDATED_0_2_0 => {
1148                let variant: ticket_updated_0_2_0::Content = serde_json::from_value(json)?;
1149                Ok(variant.into())
1150            },
1151            TICKET_UPDATED_0_1_0 => {
1152                let variant: ticket_updated_0_1_0::Content = serde_json::from_value(json)?;
1153                Ok(variant.into())
1154            },
1155            variant => if variant.starts_with("dev.cdeventsx.") {
1156                Ok(Self::Custom{ ty: ty.to_string(), json })
1157            } else {
1158              Err(serde_json::Error::custom(format_args!(
1159                  "unknown variant `{}`, expected 'dev.cdevents.{{subject}}.{{predicate}}.{{version}}'",
1160                  variant,
1161              )))
1162            },
1163        }
1164    }
1165
1166    pub fn ty(&self) -> &str {
1167        match self {
1168            Self::ArtifactDeleted020(_) => ARTIFACT_DELETED_0_2_0,
1169            Self::ArtifactDeleted010(_) => ARTIFACT_DELETED_0_1_0,
1170            Self::ArtifactDownloaded020(_) => ARTIFACT_DOWNLOADED_0_2_0,
1171            Self::ArtifactDownloaded010(_) => ARTIFACT_DOWNLOADED_0_1_0,
1172            Self::ArtifactPackaged030(_) => ARTIFACT_PACKAGED_0_3_0,
1173            Self::ArtifactPackaged011(_) => ARTIFACT_PACKAGED_0_1_1,
1174            Self::ArtifactPackaged020(_) => ARTIFACT_PACKAGED_0_2_0,
1175            Self::ArtifactPublished030(_) => ARTIFACT_PUBLISHED_0_3_0,
1176            Self::ArtifactPublished011(_) => ARTIFACT_PUBLISHED_0_1_1,
1177            Self::ArtifactPublished020(_) => ARTIFACT_PUBLISHED_0_2_0,
1178            Self::ArtifactSigned030(_) => ARTIFACT_SIGNED_0_3_0,
1179            Self::ArtifactSigned010(_) => ARTIFACT_SIGNED_0_1_0,
1180            Self::ArtifactSigned020(_) => ARTIFACT_SIGNED_0_2_0,
1181            Self::BranchCreated030(_) => BRANCH_CREATED_0_3_0,
1182            Self::BranchCreated012(_) => BRANCH_CREATED_0_1_2,
1183            Self::BranchCreated020(_) => BRANCH_CREATED_0_2_0,
1184            Self::BranchDeleted030(_) => BRANCH_DELETED_0_3_0,
1185            Self::BranchDeleted012(_) => BRANCH_DELETED_0_1_2,
1186            Self::BranchDeleted020(_) => BRANCH_DELETED_0_2_0,
1187            Self::BuildFinished030(_) => BUILD_FINISHED_0_3_0,
1188            Self::BuildFinished011(_) => BUILD_FINISHED_0_1_1,
1189            Self::BuildFinished020(_) => BUILD_FINISHED_0_2_0,
1190            Self::BuildQueued030(_) => BUILD_QUEUED_0_3_0,
1191            Self::BuildQueued011(_) => BUILD_QUEUED_0_1_1,
1192            Self::BuildQueued020(_) => BUILD_QUEUED_0_2_0,
1193            Self::BuildStarted030(_) => BUILD_STARTED_0_3_0,
1194            Self::BuildStarted011(_) => BUILD_STARTED_0_1_1,
1195            Self::BuildStarted020(_) => BUILD_STARTED_0_2_0,
1196            Self::ChangeAbandoned030(_) => CHANGE_ABANDONED_0_3_0,
1197            Self::ChangeAbandoned012(_) => CHANGE_ABANDONED_0_1_2,
1198            Self::ChangeAbandoned020(_) => CHANGE_ABANDONED_0_2_0,
1199            Self::ChangeCreated040(_) => CHANGE_CREATED_0_4_0,
1200            Self::ChangeCreated012(_) => CHANGE_CREATED_0_1_2,
1201            Self::ChangeCreated030(_) => CHANGE_CREATED_0_3_0,
1202            Self::ChangeMerged030(_) => CHANGE_MERGED_0_3_0,
1203            Self::ChangeMerged012(_) => CHANGE_MERGED_0_1_2,
1204            Self::ChangeMerged020(_) => CHANGE_MERGED_0_2_0,
1205            Self::ChangeReviewed030(_) => CHANGE_REVIEWED_0_3_0,
1206            Self::ChangeReviewed012(_) => CHANGE_REVIEWED_0_1_2,
1207            Self::ChangeReviewed020(_) => CHANGE_REVIEWED_0_2_0,
1208            Self::ChangeUpdated030(_) => CHANGE_UPDATED_0_3_0,
1209            Self::ChangeUpdated012(_) => CHANGE_UPDATED_0_1_2,
1210            Self::ChangeUpdated020(_) => CHANGE_UPDATED_0_2_0,
1211            Self::EnvironmentCreated030(_) => ENVIRONMENT_CREATED_0_3_0,
1212            Self::EnvironmentCreated011(_) => ENVIRONMENT_CREATED_0_1_1,
1213            Self::EnvironmentCreated020(_) => ENVIRONMENT_CREATED_0_2_0,
1214            Self::EnvironmentDeleted030(_) => ENVIRONMENT_DELETED_0_3_0,
1215            Self::EnvironmentDeleted011(_) => ENVIRONMENT_DELETED_0_1_1,
1216            Self::EnvironmentDeleted020(_) => ENVIRONMENT_DELETED_0_2_0,
1217            Self::EnvironmentModified030(_) => ENVIRONMENT_MODIFIED_0_3_0,
1218            Self::EnvironmentModified011(_) => ENVIRONMENT_MODIFIED_0_1_1,
1219            Self::EnvironmentModified020(_) => ENVIRONMENT_MODIFIED_0_2_0,
1220            Self::IncidentDetected030(_) => INCIDENT_DETECTED_0_3_0,
1221            Self::IncidentDetected010(_) => INCIDENT_DETECTED_0_1_0,
1222            Self::IncidentDetected020(_) => INCIDENT_DETECTED_0_2_0,
1223            Self::IncidentReported030(_) => INCIDENT_REPORTED_0_3_0,
1224            Self::IncidentReported010(_) => INCIDENT_REPORTED_0_1_0,
1225            Self::IncidentReported020(_) => INCIDENT_REPORTED_0_2_0,
1226            Self::IncidentResolved030(_) => INCIDENT_RESOLVED_0_3_0,
1227            Self::IncidentResolved010(_) => INCIDENT_RESOLVED_0_1_0,
1228            Self::IncidentResolved020(_) => INCIDENT_RESOLVED_0_2_0,
1229            Self::PipelinerunFinished030(_) => PIPELINERUN_FINISHED_0_3_0,
1230            Self::PipelinerunFinished011(_) => PIPELINERUN_FINISHED_0_1_1,
1231            Self::PipelinerunFinished020(_) => PIPELINERUN_FINISHED_0_2_0,
1232            Self::PipelinerunQueued030(_) => PIPELINERUN_QUEUED_0_3_0,
1233            Self::PipelinerunQueued011(_) => PIPELINERUN_QUEUED_0_1_1,
1234            Self::PipelinerunQueued020(_) => PIPELINERUN_QUEUED_0_2_0,
1235            Self::PipelinerunStarted030(_) => PIPELINERUN_STARTED_0_3_0,
1236            Self::PipelinerunStarted011(_) => PIPELINERUN_STARTED_0_1_1,
1237            Self::PipelinerunStarted020(_) => PIPELINERUN_STARTED_0_2_0,
1238            Self::RepositoryCreated030(_) => REPOSITORY_CREATED_0_3_0,
1239            Self::RepositoryCreated011(_) => REPOSITORY_CREATED_0_1_1,
1240            Self::RepositoryCreated020(_) => REPOSITORY_CREATED_0_2_0,
1241            Self::RepositoryDeleted030(_) => REPOSITORY_DELETED_0_3_0,
1242            Self::RepositoryDeleted011(_) => REPOSITORY_DELETED_0_1_1,
1243            Self::RepositoryDeleted020(_) => REPOSITORY_DELETED_0_2_0,
1244            Self::RepositoryModified030(_) => REPOSITORY_MODIFIED_0_3_0,
1245            Self::RepositoryModified011(_) => REPOSITORY_MODIFIED_0_1_1,
1246            Self::RepositoryModified020(_) => REPOSITORY_MODIFIED_0_2_0,
1247            Self::ServiceDeployed030(_) => SERVICE_DEPLOYED_0_3_0,
1248            Self::ServiceDeployed011(_) => SERVICE_DEPLOYED_0_1_1,
1249            Self::ServiceDeployed020(_) => SERVICE_DEPLOYED_0_2_0,
1250            Self::ServicePublished030(_) => SERVICE_PUBLISHED_0_3_0,
1251            Self::ServicePublished011(_) => SERVICE_PUBLISHED_0_1_1,
1252            Self::ServicePublished020(_) => SERVICE_PUBLISHED_0_2_0,
1253            Self::ServiceRemoved030(_) => SERVICE_REMOVED_0_3_0,
1254            Self::ServiceRemoved011(_) => SERVICE_REMOVED_0_1_1,
1255            Self::ServiceRemoved020(_) => SERVICE_REMOVED_0_2_0,
1256            Self::ServiceRolledback030(_) => SERVICE_ROLLEDBACK_0_3_0,
1257            Self::ServiceRolledback011(_) => SERVICE_ROLLEDBACK_0_1_1,
1258            Self::ServiceRolledback020(_) => SERVICE_ROLLEDBACK_0_2_0,
1259            Self::ServiceUpgraded030(_) => SERVICE_UPGRADED_0_3_0,
1260            Self::ServiceUpgraded011(_) => SERVICE_UPGRADED_0_1_1,
1261            Self::ServiceUpgraded020(_) => SERVICE_UPGRADED_0_2_0,
1262            Self::TaskrunFinished030(_) => TASKRUN_FINISHED_0_3_0,
1263            Self::TaskrunFinished011(_) => TASKRUN_FINISHED_0_1_1,
1264            Self::TaskrunFinished020(_) => TASKRUN_FINISHED_0_2_0,
1265            Self::TaskrunStarted030(_) => TASKRUN_STARTED_0_3_0,
1266            Self::TaskrunStarted011(_) => TASKRUN_STARTED_0_1_1,
1267            Self::TaskrunStarted020(_) => TASKRUN_STARTED_0_2_0,
1268            Self::TestcaserunFinished030(_) => TESTCASERUN_FINISHED_0_3_0,
1269            Self::TestcaserunFinished010(_) => TESTCASERUN_FINISHED_0_1_0,
1270            Self::TestcaserunFinished020(_) => TESTCASERUN_FINISHED_0_2_0,
1271            Self::TestcaserunQueued030(_) => TESTCASERUN_QUEUED_0_3_0,
1272            Self::TestcaserunQueued010(_) => TESTCASERUN_QUEUED_0_1_0,
1273            Self::TestcaserunQueued020(_) => TESTCASERUN_QUEUED_0_2_0,
1274            Self::TestcaserunSkipped020(_) => TESTCASERUN_SKIPPED_0_2_0,
1275            Self::TestcaserunSkipped010(_) => TESTCASERUN_SKIPPED_0_1_0,
1276            Self::TestcaserunStarted030(_) => TESTCASERUN_STARTED_0_3_0,
1277            Self::TestcaserunStarted010(_) => TESTCASERUN_STARTED_0_1_0,
1278            Self::TestcaserunStarted020(_) => TESTCASERUN_STARTED_0_2_0,
1279            Self::TestoutputPublished030(_) => TESTOUTPUT_PUBLISHED_0_3_0,
1280            Self::TestoutputPublished010(_) => TESTOUTPUT_PUBLISHED_0_1_0,
1281            Self::TestoutputPublished020(_) => TESTOUTPUT_PUBLISHED_0_2_0,
1282            Self::TestsuiterunFinished030(_) => TESTSUITERUN_FINISHED_0_3_0,
1283            Self::TestsuiterunFinished010(_) => TESTSUITERUN_FINISHED_0_1_0,
1284            Self::TestsuiterunFinished020(_) => TESTSUITERUN_FINISHED_0_2_0,
1285            Self::TestsuiterunQueued030(_) => TESTSUITERUN_QUEUED_0_3_0,
1286            Self::TestsuiterunQueued010(_) => TESTSUITERUN_QUEUED_0_1_0,
1287            Self::TestsuiterunQueued020(_) => TESTSUITERUN_QUEUED_0_2_0,
1288            Self::TestsuiterunStarted030(_) => TESTSUITERUN_STARTED_0_3_0,
1289            Self::TestsuiterunStarted010(_) => TESTSUITERUN_STARTED_0_1_0,
1290            Self::TestsuiterunStarted020(_) => TESTSUITERUN_STARTED_0_2_0,
1291            Self::TicketClosed020(_) => TICKET_CLOSED_0_2_0,
1292            Self::TicketClosed010(_) => TICKET_CLOSED_0_1_0,
1293            Self::TicketCreated020(_) => TICKET_CREATED_0_2_0,
1294            Self::TicketCreated010(_) => TICKET_CREATED_0_1_0,
1295            Self::TicketUpdated020(_) => TICKET_UPDATED_0_2_0,
1296            Self::TicketUpdated010(_) => TICKET_UPDATED_0_1_0,
1297            Self::Custom{ty, ..} => ty,
1298        }
1299    }
1300
1301    pub fn subject(&self) -> &str {
1302        match self {
1303            Self::ArtifactDeleted020(_) => "",
1304            Self::ArtifactDeleted010(_) => "artifact",
1305            Self::ArtifactDownloaded020(_) => "",
1306            Self::ArtifactDownloaded010(_) => "artifact",
1307            Self::ArtifactPackaged030(_) => "",
1308            Self::ArtifactPackaged011(_) => "artifact",
1309            Self::ArtifactPackaged020(_) => "artifact",
1310            Self::ArtifactPublished030(_) => "",
1311            Self::ArtifactPublished011(_) => "artifact",
1312            Self::ArtifactPublished020(_) => "artifact",
1313            Self::ArtifactSigned030(_) => "",
1314            Self::ArtifactSigned010(_) => "artifact",
1315            Self::ArtifactSigned020(_) => "artifact",
1316            Self::BranchCreated030(_) => "",
1317            Self::BranchCreated012(_) => "branch",
1318            Self::BranchCreated020(_) => "branch",
1319            Self::BranchDeleted030(_) => "",
1320            Self::BranchDeleted012(_) => "branch",
1321            Self::BranchDeleted020(_) => "branch",
1322            Self::BuildFinished030(_) => "",
1323            Self::BuildFinished011(_) => "build",
1324            Self::BuildFinished020(_) => "build",
1325            Self::BuildQueued030(_) => "",
1326            Self::BuildQueued011(_) => "build",
1327            Self::BuildQueued020(_) => "build",
1328            Self::BuildStarted030(_) => "",
1329            Self::BuildStarted011(_) => "build",
1330            Self::BuildStarted020(_) => "build",
1331            Self::ChangeAbandoned030(_) => "",
1332            Self::ChangeAbandoned012(_) => "change",
1333            Self::ChangeAbandoned020(_) => "change",
1334            Self::ChangeCreated040(_) => "",
1335            Self::ChangeCreated012(_) => "change",
1336            Self::ChangeCreated030(_) => "change",
1337            Self::ChangeMerged030(_) => "",
1338            Self::ChangeMerged012(_) => "change",
1339            Self::ChangeMerged020(_) => "change",
1340            Self::ChangeReviewed030(_) => "",
1341            Self::ChangeReviewed012(_) => "change",
1342            Self::ChangeReviewed020(_) => "change",
1343            Self::ChangeUpdated030(_) => "",
1344            Self::ChangeUpdated012(_) => "change",
1345            Self::ChangeUpdated020(_) => "change",
1346            Self::EnvironmentCreated030(_) => "",
1347            Self::EnvironmentCreated011(_) => "environment",
1348            Self::EnvironmentCreated020(_) => "environment",
1349            Self::EnvironmentDeleted030(_) => "",
1350            Self::EnvironmentDeleted011(_) => "environment",
1351            Self::EnvironmentDeleted020(_) => "environment",
1352            Self::EnvironmentModified030(_) => "",
1353            Self::EnvironmentModified011(_) => "environment",
1354            Self::EnvironmentModified020(_) => "environment",
1355            Self::IncidentDetected030(_) => "",
1356            Self::IncidentDetected010(_) => "incident",
1357            Self::IncidentDetected020(_) => "incident",
1358            Self::IncidentReported030(_) => "",
1359            Self::IncidentReported010(_) => "incident",
1360            Self::IncidentReported020(_) => "incident",
1361            Self::IncidentResolved030(_) => "",
1362            Self::IncidentResolved010(_) => "incident",
1363            Self::IncidentResolved020(_) => "incident",
1364            Self::PipelinerunFinished030(_) => "",
1365            Self::PipelinerunFinished011(_) => "pipelineRun",
1366            Self::PipelinerunFinished020(_) => "pipelineRun",
1367            Self::PipelinerunQueued030(_) => "",
1368            Self::PipelinerunQueued011(_) => "pipelineRun",
1369            Self::PipelinerunQueued020(_) => "pipelineRun",
1370            Self::PipelinerunStarted030(_) => "",
1371            Self::PipelinerunStarted011(_) => "pipelineRun",
1372            Self::PipelinerunStarted020(_) => "pipelineRun",
1373            Self::RepositoryCreated030(_) => "",
1374            Self::RepositoryCreated011(_) => "repository",
1375            Self::RepositoryCreated020(_) => "repository",
1376            Self::RepositoryDeleted030(_) => "",
1377            Self::RepositoryDeleted011(_) => "repository",
1378            Self::RepositoryDeleted020(_) => "repository",
1379            Self::RepositoryModified030(_) => "",
1380            Self::RepositoryModified011(_) => "repository",
1381            Self::RepositoryModified020(_) => "repository",
1382            Self::ServiceDeployed030(_) => "",
1383            Self::ServiceDeployed011(_) => "service",
1384            Self::ServiceDeployed020(_) => "service",
1385            Self::ServicePublished030(_) => "",
1386            Self::ServicePublished011(_) => "service",
1387            Self::ServicePublished020(_) => "service",
1388            Self::ServiceRemoved030(_) => "",
1389            Self::ServiceRemoved011(_) => "service",
1390            Self::ServiceRemoved020(_) => "service",
1391            Self::ServiceRolledback030(_) => "",
1392            Self::ServiceRolledback011(_) => "service",
1393            Self::ServiceRolledback020(_) => "service",
1394            Self::ServiceUpgraded030(_) => "",
1395            Self::ServiceUpgraded011(_) => "service",
1396            Self::ServiceUpgraded020(_) => "service",
1397            Self::TaskrunFinished030(_) => "",
1398            Self::TaskrunFinished011(_) => "taskRun",
1399            Self::TaskrunFinished020(_) => "taskRun",
1400            Self::TaskrunStarted030(_) => "",
1401            Self::TaskrunStarted011(_) => "taskRun",
1402            Self::TaskrunStarted020(_) => "taskRun",
1403            Self::TestcaserunFinished030(_) => "",
1404            Self::TestcaserunFinished010(_) => "testCaseRun",
1405            Self::TestcaserunFinished020(_) => "testCaseRun",
1406            Self::TestcaserunQueued030(_) => "",
1407            Self::TestcaserunQueued010(_) => "testCaseRun",
1408            Self::TestcaserunQueued020(_) => "testCaseRun",
1409            Self::TestcaserunSkipped020(_) => "",
1410            Self::TestcaserunSkipped010(_) => "testCaseRun",
1411            Self::TestcaserunStarted030(_) => "",
1412            Self::TestcaserunStarted010(_) => "testCaseRun",
1413            Self::TestcaserunStarted020(_) => "testCaseRun",
1414            Self::TestoutputPublished030(_) => "",
1415            Self::TestoutputPublished010(_) => "testOutput",
1416            Self::TestoutputPublished020(_) => "testOutput",
1417            Self::TestsuiterunFinished030(_) => "",
1418            Self::TestsuiterunFinished010(_) => "testSuiteRun",
1419            Self::TestsuiterunFinished020(_) => "testSuiteRun",
1420            Self::TestsuiterunQueued030(_) => "",
1421            Self::TestsuiterunQueued010(_) => "testSuiteRun",
1422            Self::TestsuiterunQueued020(_) => "testSuiteRun",
1423            Self::TestsuiterunStarted030(_) => "",
1424            Self::TestsuiterunStarted010(_) => "testSuiteRun",
1425            Self::TestsuiterunStarted020(_) => "testSuiteRun",
1426            Self::TicketClosed020(_) => "ticket",
1427            Self::TicketClosed010(_) => "ticket",
1428            Self::TicketCreated020(_) => "",
1429            Self::TicketCreated010(_) => "ticket",
1430            Self::TicketUpdated020(_) => "",
1431            Self::TicketUpdated010(_) => "ticket",
1432            Self::Custom{ty, ..} => ty.split('.').nth(2).unwrap_or_default(),
1433        }
1434    }
1435
1436    pub fn predicate(&self) -> &str {
1437        match self {
1438            Self::ArtifactDeleted020(_) => "deleted",
1439            Self::ArtifactDeleted010(_) => "deleted",
1440            Self::ArtifactDownloaded020(_) => "downloaded",
1441            Self::ArtifactDownloaded010(_) => "downloaded",
1442            Self::ArtifactPackaged030(_) => "packaged",
1443            Self::ArtifactPackaged011(_) => "packaged",
1444            Self::ArtifactPackaged020(_) => "packaged",
1445            Self::ArtifactPublished030(_) => "published",
1446            Self::ArtifactPublished011(_) => "published",
1447            Self::ArtifactPublished020(_) => "published",
1448            Self::ArtifactSigned030(_) => "signed",
1449            Self::ArtifactSigned010(_) => "signed",
1450            Self::ArtifactSigned020(_) => "signed",
1451            Self::BranchCreated030(_) => "created",
1452            Self::BranchCreated012(_) => "created",
1453            Self::BranchCreated020(_) => "created",
1454            Self::BranchDeleted030(_) => "deleted",
1455            Self::BranchDeleted012(_) => "deleted",
1456            Self::BranchDeleted020(_) => "deleted",
1457            Self::BuildFinished030(_) => "finished",
1458            Self::BuildFinished011(_) => "finished",
1459            Self::BuildFinished020(_) => "finished",
1460            Self::BuildQueued030(_) => "queued",
1461            Self::BuildQueued011(_) => "queued",
1462            Self::BuildQueued020(_) => "queued",
1463            Self::BuildStarted030(_) => "started",
1464            Self::BuildStarted011(_) => "started",
1465            Self::BuildStarted020(_) => "started",
1466            Self::ChangeAbandoned030(_) => "abandoned",
1467            Self::ChangeAbandoned012(_) => "abandoned",
1468            Self::ChangeAbandoned020(_) => "abandoned",
1469            Self::ChangeCreated040(_) => "created",
1470            Self::ChangeCreated012(_) => "created",
1471            Self::ChangeCreated030(_) => "created",
1472            Self::ChangeMerged030(_) => "merged",
1473            Self::ChangeMerged012(_) => "merged",
1474            Self::ChangeMerged020(_) => "merged",
1475            Self::ChangeReviewed030(_) => "reviewed",
1476            Self::ChangeReviewed012(_) => "reviewed",
1477            Self::ChangeReviewed020(_) => "reviewed",
1478            Self::ChangeUpdated030(_) => "updated",
1479            Self::ChangeUpdated012(_) => "updated",
1480            Self::ChangeUpdated020(_) => "updated",
1481            Self::EnvironmentCreated030(_) => "created",
1482            Self::EnvironmentCreated011(_) => "created",
1483            Self::EnvironmentCreated020(_) => "created",
1484            Self::EnvironmentDeleted030(_) => "deleted",
1485            Self::EnvironmentDeleted011(_) => "deleted",
1486            Self::EnvironmentDeleted020(_) => "deleted",
1487            Self::EnvironmentModified030(_) => "modified",
1488            Self::EnvironmentModified011(_) => "modified",
1489            Self::EnvironmentModified020(_) => "modified",
1490            Self::IncidentDetected030(_) => "detected",
1491            Self::IncidentDetected010(_) => "detected",
1492            Self::IncidentDetected020(_) => "detected",
1493            Self::IncidentReported030(_) => "reported",
1494            Self::IncidentReported010(_) => "reported",
1495            Self::IncidentReported020(_) => "reported",
1496            Self::IncidentResolved030(_) => "resolved",
1497            Self::IncidentResolved010(_) => "resolved",
1498            Self::IncidentResolved020(_) => "resolved",
1499            Self::PipelinerunFinished030(_) => "finished",
1500            Self::PipelinerunFinished011(_) => "finished",
1501            Self::PipelinerunFinished020(_) => "finished",
1502            Self::PipelinerunQueued030(_) => "queued",
1503            Self::PipelinerunQueued011(_) => "queued",
1504            Self::PipelinerunQueued020(_) => "queued",
1505            Self::PipelinerunStarted030(_) => "started",
1506            Self::PipelinerunStarted011(_) => "started",
1507            Self::PipelinerunStarted020(_) => "started",
1508            Self::RepositoryCreated030(_) => "created",
1509            Self::RepositoryCreated011(_) => "created",
1510            Self::RepositoryCreated020(_) => "created",
1511            Self::RepositoryDeleted030(_) => "deleted",
1512            Self::RepositoryDeleted011(_) => "deleted",
1513            Self::RepositoryDeleted020(_) => "deleted",
1514            Self::RepositoryModified030(_) => "modified",
1515            Self::RepositoryModified011(_) => "modified",
1516            Self::RepositoryModified020(_) => "modified",
1517            Self::ServiceDeployed030(_) => "deployed",
1518            Self::ServiceDeployed011(_) => "deployed",
1519            Self::ServiceDeployed020(_) => "deployed",
1520            Self::ServicePublished030(_) => "published",
1521            Self::ServicePublished011(_) => "published",
1522            Self::ServicePublished020(_) => "published",
1523            Self::ServiceRemoved030(_) => "removed",
1524            Self::ServiceRemoved011(_) => "removed",
1525            Self::ServiceRemoved020(_) => "removed",
1526            Self::ServiceRolledback030(_) => "rolledback",
1527            Self::ServiceRolledback011(_) => "rolledback",
1528            Self::ServiceRolledback020(_) => "rolledback",
1529            Self::ServiceUpgraded030(_) => "upgraded",
1530            Self::ServiceUpgraded011(_) => "upgraded",
1531            Self::ServiceUpgraded020(_) => "upgraded",
1532            Self::TaskrunFinished030(_) => "finished",
1533            Self::TaskrunFinished011(_) => "finished",
1534            Self::TaskrunFinished020(_) => "finished",
1535            Self::TaskrunStarted030(_) => "started",
1536            Self::TaskrunStarted011(_) => "started",
1537            Self::TaskrunStarted020(_) => "started",
1538            Self::TestcaserunFinished030(_) => "finished",
1539            Self::TestcaserunFinished010(_) => "finished",
1540            Self::TestcaserunFinished020(_) => "finished",
1541            Self::TestcaserunQueued030(_) => "queued",
1542            Self::TestcaserunQueued010(_) => "queued",
1543            Self::TestcaserunQueued020(_) => "queued",
1544            Self::TestcaserunSkipped020(_) => "skipped",
1545            Self::TestcaserunSkipped010(_) => "skipped",
1546            Self::TestcaserunStarted030(_) => "started",
1547            Self::TestcaserunStarted010(_) => "started",
1548            Self::TestcaserunStarted020(_) => "started",
1549            Self::TestoutputPublished030(_) => "published",
1550            Self::TestoutputPublished010(_) => "published",
1551            Self::TestoutputPublished020(_) => "published",
1552            Self::TestsuiterunFinished030(_) => "finished",
1553            Self::TestsuiterunFinished010(_) => "finished",
1554            Self::TestsuiterunFinished020(_) => "finished",
1555            Self::TestsuiterunQueued030(_) => "queued",
1556            Self::TestsuiterunQueued010(_) => "queued",
1557            Self::TestsuiterunQueued020(_) => "queued",
1558            Self::TestsuiterunStarted030(_) => "started",
1559            Self::TestsuiterunStarted010(_) => "started",
1560            Self::TestsuiterunStarted020(_) => "started",
1561            Self::TicketClosed020(_) => "closed",
1562            Self::TicketClosed010(_) => "closed",
1563            Self::TicketCreated020(_) => "created",
1564            Self::TicketCreated010(_) => "created",
1565            Self::TicketUpdated020(_) => "updated",
1566            Self::TicketUpdated010(_) => "updated",
1567            Self::Custom{ty, ..} => ty.split('.').nth(3).unwrap_or_default(),
1568        }
1569    }
1570}
1571
1572/// Due to inconstency in case/format the subject could be not be extracted from the context.type (ty), jsonshema $id, spec filename (shema, examples)
1573/// Custom type are not supported
1574pub fn extract_subject_predicate(ty: &str) -> Option<(&str, &str)>{
1575    // let mut split = ty.split('.');
1576    match ty {
1577        ARTIFACT_DELETED_0_1_0 => Some(("artifact", "deleted")),
1578        ARTIFACT_DOWNLOADED_0_1_0 => Some(("artifact", "downloaded")),
1579        ARTIFACT_PACKAGED_0_1_1 => Some(("artifact", "packaged")),
1580        ARTIFACT_PACKAGED_0_2_0 => Some(("artifact", "packaged")),
1581        ARTIFACT_PUBLISHED_0_1_1 => Some(("artifact", "published")),
1582        ARTIFACT_PUBLISHED_0_2_0 => Some(("artifact", "published")),
1583        ARTIFACT_SIGNED_0_1_0 => Some(("artifact", "signed")),
1584        ARTIFACT_SIGNED_0_2_0 => Some(("artifact", "signed")),
1585        BRANCH_CREATED_0_1_2 => Some(("branch", "created")),
1586        BRANCH_CREATED_0_2_0 => Some(("branch", "created")),
1587        BRANCH_DELETED_0_1_2 => Some(("branch", "deleted")),
1588        BRANCH_DELETED_0_2_0 => Some(("branch", "deleted")),
1589        BUILD_FINISHED_0_1_1 => Some(("build", "finished")),
1590        BUILD_FINISHED_0_2_0 => Some(("build", "finished")),
1591        BUILD_QUEUED_0_1_1 => Some(("build", "queued")),
1592        BUILD_QUEUED_0_2_0 => Some(("build", "queued")),
1593        BUILD_STARTED_0_1_1 => Some(("build", "started")),
1594        BUILD_STARTED_0_2_0 => Some(("build", "started")),
1595        CHANGE_ABANDONED_0_1_2 => Some(("change", "abandoned")),
1596        CHANGE_ABANDONED_0_2_0 => Some(("change", "abandoned")),
1597        CHANGE_CREATED_0_1_2 => Some(("change", "created")),
1598        CHANGE_CREATED_0_3_0 => Some(("change", "created")),
1599        CHANGE_MERGED_0_1_2 => Some(("change", "merged")),
1600        CHANGE_MERGED_0_2_0 => Some(("change", "merged")),
1601        CHANGE_REVIEWED_0_1_2 => Some(("change", "reviewed")),
1602        CHANGE_REVIEWED_0_2_0 => Some(("change", "reviewed")),
1603        CHANGE_UPDATED_0_1_2 => Some(("change", "updated")),
1604        CHANGE_UPDATED_0_2_0 => Some(("change", "updated")),
1605        ENVIRONMENT_CREATED_0_1_1 => Some(("environment", "created")),
1606        ENVIRONMENT_CREATED_0_2_0 => Some(("environment", "created")),
1607        ENVIRONMENT_DELETED_0_1_1 => Some(("environment", "deleted")),
1608        ENVIRONMENT_DELETED_0_2_0 => Some(("environment", "deleted")),
1609        ENVIRONMENT_MODIFIED_0_1_1 => Some(("environment", "modified")),
1610        ENVIRONMENT_MODIFIED_0_2_0 => Some(("environment", "modified")),
1611        INCIDENT_DETECTED_0_1_0 => Some(("incident", "detected")),
1612        INCIDENT_DETECTED_0_2_0 => Some(("incident", "detected")),
1613        INCIDENT_REPORTED_0_1_0 => Some(("incident", "reported")),
1614        INCIDENT_REPORTED_0_2_0 => Some(("incident", "reported")),
1615        INCIDENT_RESOLVED_0_1_0 => Some(("incident", "resolved")),
1616        INCIDENT_RESOLVED_0_2_0 => Some(("incident", "resolved")),
1617        PIPELINERUN_FINISHED_0_1_1 => Some(("pipelineRun", "finished")),
1618        PIPELINERUN_FINISHED_0_2_0 => Some(("pipelineRun", "finished")),
1619        PIPELINERUN_QUEUED_0_1_1 => Some(("pipelineRun", "queued")),
1620        PIPELINERUN_QUEUED_0_2_0 => Some(("pipelineRun", "queued")),
1621        PIPELINERUN_STARTED_0_1_1 => Some(("pipelineRun", "started")),
1622        PIPELINERUN_STARTED_0_2_0 => Some(("pipelineRun", "started")),
1623        REPOSITORY_CREATED_0_1_1 => Some(("repository", "created")),
1624        REPOSITORY_CREATED_0_2_0 => Some(("repository", "created")),
1625        REPOSITORY_DELETED_0_1_1 => Some(("repository", "deleted")),
1626        REPOSITORY_DELETED_0_2_0 => Some(("repository", "deleted")),
1627        REPOSITORY_MODIFIED_0_1_1 => Some(("repository", "modified")),
1628        REPOSITORY_MODIFIED_0_2_0 => Some(("repository", "modified")),
1629        SERVICE_DEPLOYED_0_1_1 => Some(("service", "deployed")),
1630        SERVICE_DEPLOYED_0_2_0 => Some(("service", "deployed")),
1631        SERVICE_PUBLISHED_0_1_1 => Some(("service", "published")),
1632        SERVICE_PUBLISHED_0_2_0 => Some(("service", "published")),
1633        SERVICE_REMOVED_0_1_1 => Some(("service", "removed")),
1634        SERVICE_REMOVED_0_2_0 => Some(("service", "removed")),
1635        SERVICE_ROLLEDBACK_0_1_1 => Some(("service", "rolledback")),
1636        SERVICE_ROLLEDBACK_0_2_0 => Some(("service", "rolledback")),
1637        SERVICE_UPGRADED_0_1_1 => Some(("service", "upgraded")),
1638        SERVICE_UPGRADED_0_2_0 => Some(("service", "upgraded")),
1639        TASKRUN_FINISHED_0_1_1 => Some(("taskRun", "finished")),
1640        TASKRUN_FINISHED_0_2_0 => Some(("taskRun", "finished")),
1641        TASKRUN_STARTED_0_1_1 => Some(("taskRun", "started")),
1642        TASKRUN_STARTED_0_2_0 => Some(("taskRun", "started")),
1643        TESTCASERUN_FINISHED_0_1_0 => Some(("testCaseRun", "finished")),
1644        TESTCASERUN_FINISHED_0_2_0 => Some(("testCaseRun", "finished")),
1645        TESTCASERUN_QUEUED_0_1_0 => Some(("testCaseRun", "queued")),
1646        TESTCASERUN_QUEUED_0_2_0 => Some(("testCaseRun", "queued")),
1647        TESTCASERUN_SKIPPED_0_1_0 => Some(("testCaseRun", "skipped")),
1648        TESTCASERUN_STARTED_0_1_0 => Some(("testCaseRun", "started")),
1649        TESTCASERUN_STARTED_0_2_0 => Some(("testCaseRun", "started")),
1650        TESTOUTPUT_PUBLISHED_0_1_0 => Some(("testOutput", "published")),
1651        TESTOUTPUT_PUBLISHED_0_2_0 => Some(("testOutput", "published")),
1652        TESTSUITERUN_FINISHED_0_1_0 => Some(("testSuiteRun", "finished")),
1653        TESTSUITERUN_FINISHED_0_2_0 => Some(("testSuiteRun", "finished")),
1654        TESTSUITERUN_QUEUED_0_1_0 => Some(("testSuiteRun", "queued")),
1655        TESTSUITERUN_QUEUED_0_2_0 => Some(("testSuiteRun", "queued")),
1656        TESTSUITERUN_STARTED_0_1_0 => Some(("testSuiteRun", "started")),
1657        TESTSUITERUN_STARTED_0_2_0 => Some(("testSuiteRun", "started")),
1658        TICKET_CLOSED_0_1_0 => Some(("ticket", "closed")),
1659        TICKET_CREATED_0_1_0 => Some(("ticket", "created")),
1660        TICKET_UPDATED_0_1_0 => Some(("ticket", "updated")),
1661        _ => None,
1662    }
1663}
1664
1665/// Due to inconstency in case/format the subject could be not be extracted from the context.type (ty), jsonshema $id, spec filename (shema, examples)
1666/// Custom type are not supported
1667pub(crate) fn new_context(ty: &str) -> crate::context::ContextEnum {
1668    use crate::context::{ContextEnum, Context_0_3, Context_0_4, Context_0_5};
1669    match ty {
1670        ARTIFACT_DELETED_0_1_0 => ContextEnum::Context_0_4(Context_0_4::new(ty.into())),
1671        ARTIFACT_DOWNLOADED_0_1_0 => ContextEnum::Context_0_4(Context_0_4::new(ty.into())),
1672        ARTIFACT_PACKAGED_0_1_1 => ContextEnum::Context_0_3(Context_0_3::new(ty.into())),
1673        ARTIFACT_PACKAGED_0_2_0 => ContextEnum::Context_0_4(Context_0_4::new(ty.into())),
1674        ARTIFACT_PUBLISHED_0_1_1 => ContextEnum::Context_0_3(Context_0_3::new(ty.into())),
1675        ARTIFACT_PUBLISHED_0_2_0 => ContextEnum::Context_0_4(Context_0_4::new(ty.into())),
1676        ARTIFACT_SIGNED_0_1_0 => ContextEnum::Context_0_3(Context_0_3::new(ty.into())),
1677        ARTIFACT_SIGNED_0_2_0 => ContextEnum::Context_0_4(Context_0_4::new(ty.into())),
1678        BRANCH_CREATED_0_1_2 => ContextEnum::Context_0_3(Context_0_3::new(ty.into())),
1679        BRANCH_CREATED_0_2_0 => ContextEnum::Context_0_4(Context_0_4::new(ty.into())),
1680        BRANCH_DELETED_0_1_2 => ContextEnum::Context_0_3(Context_0_3::new(ty.into())),
1681        BRANCH_DELETED_0_2_0 => ContextEnum::Context_0_4(Context_0_4::new(ty.into())),
1682        BUILD_FINISHED_0_1_1 => ContextEnum::Context_0_3(Context_0_3::new(ty.into())),
1683        BUILD_FINISHED_0_2_0 => ContextEnum::Context_0_4(Context_0_4::new(ty.into())),
1684        BUILD_QUEUED_0_1_1 => ContextEnum::Context_0_3(Context_0_3::new(ty.into())),
1685        BUILD_QUEUED_0_2_0 => ContextEnum::Context_0_4(Context_0_4::new(ty.into())),
1686        BUILD_STARTED_0_1_1 => ContextEnum::Context_0_3(Context_0_3::new(ty.into())),
1687        BUILD_STARTED_0_2_0 => ContextEnum::Context_0_4(Context_0_4::new(ty.into())),
1688        CHANGE_ABANDONED_0_1_2 => ContextEnum::Context_0_3(Context_0_3::new(ty.into())),
1689        CHANGE_ABANDONED_0_2_0 => ContextEnum::Context_0_4(Context_0_4::new(ty.into())),
1690        CHANGE_CREATED_0_1_2 => ContextEnum::Context_0_3(Context_0_3::new(ty.into())),
1691        CHANGE_CREATED_0_3_0 => ContextEnum::Context_0_4(Context_0_4::new(ty.into())),
1692        CHANGE_MERGED_0_1_2 => ContextEnum::Context_0_3(Context_0_3::new(ty.into())),
1693        CHANGE_MERGED_0_2_0 => ContextEnum::Context_0_4(Context_0_4::new(ty.into())),
1694        CHANGE_REVIEWED_0_1_2 => ContextEnum::Context_0_3(Context_0_3::new(ty.into())),
1695        CHANGE_REVIEWED_0_2_0 => ContextEnum::Context_0_4(Context_0_4::new(ty.into())),
1696        CHANGE_UPDATED_0_1_2 => ContextEnum::Context_0_3(Context_0_3::new(ty.into())),
1697        CHANGE_UPDATED_0_2_0 => ContextEnum::Context_0_4(Context_0_4::new(ty.into())),
1698        ENVIRONMENT_CREATED_0_1_1 => ContextEnum::Context_0_3(Context_0_3::new(ty.into())),
1699        ENVIRONMENT_CREATED_0_2_0 => ContextEnum::Context_0_4(Context_0_4::new(ty.into())),
1700        ENVIRONMENT_DELETED_0_1_1 => ContextEnum::Context_0_3(Context_0_3::new(ty.into())),
1701        ENVIRONMENT_DELETED_0_2_0 => ContextEnum::Context_0_4(Context_0_4::new(ty.into())),
1702        ENVIRONMENT_MODIFIED_0_1_1 => ContextEnum::Context_0_3(Context_0_3::new(ty.into())),
1703        ENVIRONMENT_MODIFIED_0_2_0 => ContextEnum::Context_0_4(Context_0_4::new(ty.into())),
1704        INCIDENT_DETECTED_0_1_0 => ContextEnum::Context_0_3(Context_0_3::new(ty.into())),
1705        INCIDENT_DETECTED_0_2_0 => ContextEnum::Context_0_4(Context_0_4::new(ty.into())),
1706        INCIDENT_REPORTED_0_1_0 => ContextEnum::Context_0_3(Context_0_3::new(ty.into())),
1707        INCIDENT_REPORTED_0_2_0 => ContextEnum::Context_0_4(Context_0_4::new(ty.into())),
1708        INCIDENT_RESOLVED_0_1_0 => ContextEnum::Context_0_3(Context_0_3::new(ty.into())),
1709        INCIDENT_RESOLVED_0_2_0 => ContextEnum::Context_0_4(Context_0_4::new(ty.into())),
1710        PIPELINERUN_FINISHED_0_1_1 => ContextEnum::Context_0_3(Context_0_3::new(ty.into())),
1711        PIPELINERUN_FINISHED_0_2_0 => ContextEnum::Context_0_4(Context_0_4::new(ty.into())),
1712        PIPELINERUN_QUEUED_0_1_1 => ContextEnum::Context_0_3(Context_0_3::new(ty.into())),
1713        PIPELINERUN_QUEUED_0_2_0 => ContextEnum::Context_0_4(Context_0_4::new(ty.into())),
1714        PIPELINERUN_STARTED_0_1_1 => ContextEnum::Context_0_3(Context_0_3::new(ty.into())),
1715        PIPELINERUN_STARTED_0_2_0 => ContextEnum::Context_0_4(Context_0_4::new(ty.into())),
1716        REPOSITORY_CREATED_0_1_1 => ContextEnum::Context_0_3(Context_0_3::new(ty.into())),
1717        REPOSITORY_CREATED_0_2_0 => ContextEnum::Context_0_4(Context_0_4::new(ty.into())),
1718        REPOSITORY_DELETED_0_1_1 => ContextEnum::Context_0_3(Context_0_3::new(ty.into())),
1719        REPOSITORY_DELETED_0_2_0 => ContextEnum::Context_0_4(Context_0_4::new(ty.into())),
1720        REPOSITORY_MODIFIED_0_1_1 => ContextEnum::Context_0_3(Context_0_3::new(ty.into())),
1721        REPOSITORY_MODIFIED_0_2_0 => ContextEnum::Context_0_4(Context_0_4::new(ty.into())),
1722        SERVICE_DEPLOYED_0_1_1 => ContextEnum::Context_0_3(Context_0_3::new(ty.into())),
1723        SERVICE_DEPLOYED_0_2_0 => ContextEnum::Context_0_4(Context_0_4::new(ty.into())),
1724        SERVICE_PUBLISHED_0_1_1 => ContextEnum::Context_0_3(Context_0_3::new(ty.into())),
1725        SERVICE_PUBLISHED_0_2_0 => ContextEnum::Context_0_4(Context_0_4::new(ty.into())),
1726        SERVICE_REMOVED_0_1_1 => ContextEnum::Context_0_3(Context_0_3::new(ty.into())),
1727        SERVICE_REMOVED_0_2_0 => ContextEnum::Context_0_4(Context_0_4::new(ty.into())),
1728        SERVICE_ROLLEDBACK_0_1_1 => ContextEnum::Context_0_3(Context_0_3::new(ty.into())),
1729        SERVICE_ROLLEDBACK_0_2_0 => ContextEnum::Context_0_4(Context_0_4::new(ty.into())),
1730        SERVICE_UPGRADED_0_1_1 => ContextEnum::Context_0_3(Context_0_3::new(ty.into())),
1731        SERVICE_UPGRADED_0_2_0 => ContextEnum::Context_0_4(Context_0_4::new(ty.into())),
1732        TASKRUN_FINISHED_0_1_1 => ContextEnum::Context_0_3(Context_0_3::new(ty.into())),
1733        TASKRUN_FINISHED_0_2_0 => ContextEnum::Context_0_4(Context_0_4::new(ty.into())),
1734        TASKRUN_STARTED_0_1_1 => ContextEnum::Context_0_3(Context_0_3::new(ty.into())),
1735        TASKRUN_STARTED_0_2_0 => ContextEnum::Context_0_4(Context_0_4::new(ty.into())),
1736        TESTCASERUN_FINISHED_0_1_0 => ContextEnum::Context_0_3(Context_0_3::new(ty.into())),
1737        TESTCASERUN_FINISHED_0_2_0 => ContextEnum::Context_0_4(Context_0_4::new(ty.into())),
1738        TESTCASERUN_QUEUED_0_1_0 => ContextEnum::Context_0_3(Context_0_3::new(ty.into())),
1739        TESTCASERUN_QUEUED_0_2_0 => ContextEnum::Context_0_4(Context_0_4::new(ty.into())),
1740        TESTCASERUN_SKIPPED_0_1_0 => ContextEnum::Context_0_4(Context_0_4::new(ty.into())),
1741        TESTCASERUN_STARTED_0_1_0 => ContextEnum::Context_0_3(Context_0_3::new(ty.into())),
1742        TESTCASERUN_STARTED_0_2_0 => ContextEnum::Context_0_4(Context_0_4::new(ty.into())),
1743        TESTOUTPUT_PUBLISHED_0_1_0 => ContextEnum::Context_0_3(Context_0_3::new(ty.into())),
1744        TESTOUTPUT_PUBLISHED_0_2_0 => ContextEnum::Context_0_4(Context_0_4::new(ty.into())),
1745        TESTSUITERUN_FINISHED_0_1_0 => ContextEnum::Context_0_3(Context_0_3::new(ty.into())),
1746        TESTSUITERUN_FINISHED_0_2_0 => ContextEnum::Context_0_4(Context_0_4::new(ty.into())),
1747        TESTSUITERUN_QUEUED_0_1_0 => ContextEnum::Context_0_3(Context_0_3::new(ty.into())),
1748        TESTSUITERUN_QUEUED_0_2_0 => ContextEnum::Context_0_4(Context_0_4::new(ty.into())),
1749        TESTSUITERUN_STARTED_0_1_0 => ContextEnum::Context_0_3(Context_0_3::new(ty.into())),
1750        TESTSUITERUN_STARTED_0_2_0 => ContextEnum::Context_0_4(Context_0_4::new(ty.into())),
1751        TICKET_CLOSED_0_1_0 => ContextEnum::Context_0_4(Context_0_4::new(ty.into())),
1752        TICKET_CREATED_0_1_0 => ContextEnum::Context_0_4(Context_0_4::new(ty.into())),
1753        TICKET_UPDATED_0_1_0 => ContextEnum::Context_0_4(Context_0_4::new(ty.into())),
1754        _ => ContextEnum::Context_0_5(Context_0_5::new(ty.into())),
1755    }
1756}
1757
1758impl From<artifact_deleted_0_2_0::Content> for Content {
1759    fn from(value: artifact_deleted_0_2_0::Content) -> Self {
1760        Self::ArtifactDeleted020(value)
1761    }
1762}
1763impl From<artifact_deleted_0_1_0::Content> for Content {
1764    fn from(value: artifact_deleted_0_1_0::Content) -> Self {
1765        Self::ArtifactDeleted010(value)
1766    }
1767}
1768impl From<artifact_downloaded_0_2_0::Content> for Content {
1769    fn from(value: artifact_downloaded_0_2_0::Content) -> Self {
1770        Self::ArtifactDownloaded020(value)
1771    }
1772}
1773impl From<artifact_downloaded_0_1_0::Content> for Content {
1774    fn from(value: artifact_downloaded_0_1_0::Content) -> Self {
1775        Self::ArtifactDownloaded010(value)
1776    }
1777}
1778impl From<artifact_packaged_0_3_0::Content> for Content {
1779    fn from(value: artifact_packaged_0_3_0::Content) -> Self {
1780        Self::ArtifactPackaged030(value)
1781    }
1782}
1783impl From<artifact_packaged_0_1_1::Content> for Content {
1784    fn from(value: artifact_packaged_0_1_1::Content) -> Self {
1785        Self::ArtifactPackaged011(value)
1786    }
1787}
1788impl From<artifact_packaged_0_2_0::Content> for Content {
1789    fn from(value: artifact_packaged_0_2_0::Content) -> Self {
1790        Self::ArtifactPackaged020(value)
1791    }
1792}
1793impl From<artifact_published_0_3_0::Content> for Content {
1794    fn from(value: artifact_published_0_3_0::Content) -> Self {
1795        Self::ArtifactPublished030(value)
1796    }
1797}
1798impl From<artifact_published_0_1_1::Content> for Content {
1799    fn from(value: artifact_published_0_1_1::Content) -> Self {
1800        Self::ArtifactPublished011(value)
1801    }
1802}
1803impl From<artifact_published_0_2_0::Content> for Content {
1804    fn from(value: artifact_published_0_2_0::Content) -> Self {
1805        Self::ArtifactPublished020(value)
1806    }
1807}
1808impl From<artifact_signed_0_3_0::Content> for Content {
1809    fn from(value: artifact_signed_0_3_0::Content) -> Self {
1810        Self::ArtifactSigned030(value)
1811    }
1812}
1813impl From<artifact_signed_0_1_0::Content> for Content {
1814    fn from(value: artifact_signed_0_1_0::Content) -> Self {
1815        Self::ArtifactSigned010(value)
1816    }
1817}
1818impl From<artifact_signed_0_2_0::Content> for Content {
1819    fn from(value: artifact_signed_0_2_0::Content) -> Self {
1820        Self::ArtifactSigned020(value)
1821    }
1822}
1823impl From<branch_created_0_3_0::Content> for Content {
1824    fn from(value: branch_created_0_3_0::Content) -> Self {
1825        Self::BranchCreated030(value)
1826    }
1827}
1828impl From<branch_created_0_1_2::Content> for Content {
1829    fn from(value: branch_created_0_1_2::Content) -> Self {
1830        Self::BranchCreated012(value)
1831    }
1832}
1833impl From<branch_created_0_2_0::Content> for Content {
1834    fn from(value: branch_created_0_2_0::Content) -> Self {
1835        Self::BranchCreated020(value)
1836    }
1837}
1838impl From<branch_deleted_0_3_0::Content> for Content {
1839    fn from(value: branch_deleted_0_3_0::Content) -> Self {
1840        Self::BranchDeleted030(value)
1841    }
1842}
1843impl From<branch_deleted_0_1_2::Content> for Content {
1844    fn from(value: branch_deleted_0_1_2::Content) -> Self {
1845        Self::BranchDeleted012(value)
1846    }
1847}
1848impl From<branch_deleted_0_2_0::Content> for Content {
1849    fn from(value: branch_deleted_0_2_0::Content) -> Self {
1850        Self::BranchDeleted020(value)
1851    }
1852}
1853impl From<build_finished_0_3_0::Content> for Content {
1854    fn from(value: build_finished_0_3_0::Content) -> Self {
1855        Self::BuildFinished030(value)
1856    }
1857}
1858impl From<build_finished_0_1_1::Content> for Content {
1859    fn from(value: build_finished_0_1_1::Content) -> Self {
1860        Self::BuildFinished011(value)
1861    }
1862}
1863impl From<build_finished_0_2_0::Content> for Content {
1864    fn from(value: build_finished_0_2_0::Content) -> Self {
1865        Self::BuildFinished020(value)
1866    }
1867}
1868impl From<build_queued_0_3_0::Content> for Content {
1869    fn from(value: build_queued_0_3_0::Content) -> Self {
1870        Self::BuildQueued030(value)
1871    }
1872}
1873impl From<build_queued_0_1_1::Content> for Content {
1874    fn from(value: build_queued_0_1_1::Content) -> Self {
1875        Self::BuildQueued011(value)
1876    }
1877}
1878impl From<build_queued_0_2_0::Content> for Content {
1879    fn from(value: build_queued_0_2_0::Content) -> Self {
1880        Self::BuildQueued020(value)
1881    }
1882}
1883impl From<build_started_0_3_0::Content> for Content {
1884    fn from(value: build_started_0_3_0::Content) -> Self {
1885        Self::BuildStarted030(value)
1886    }
1887}
1888impl From<build_started_0_1_1::Content> for Content {
1889    fn from(value: build_started_0_1_1::Content) -> Self {
1890        Self::BuildStarted011(value)
1891    }
1892}
1893impl From<build_started_0_2_0::Content> for Content {
1894    fn from(value: build_started_0_2_0::Content) -> Self {
1895        Self::BuildStarted020(value)
1896    }
1897}
1898impl From<change_abandoned_0_3_0::Content> for Content {
1899    fn from(value: change_abandoned_0_3_0::Content) -> Self {
1900        Self::ChangeAbandoned030(value)
1901    }
1902}
1903impl From<change_abandoned_0_1_2::Content> for Content {
1904    fn from(value: change_abandoned_0_1_2::Content) -> Self {
1905        Self::ChangeAbandoned012(value)
1906    }
1907}
1908impl From<change_abandoned_0_2_0::Content> for Content {
1909    fn from(value: change_abandoned_0_2_0::Content) -> Self {
1910        Self::ChangeAbandoned020(value)
1911    }
1912}
1913impl From<change_created_0_4_0::Content> for Content {
1914    fn from(value: change_created_0_4_0::Content) -> Self {
1915        Self::ChangeCreated040(value)
1916    }
1917}
1918impl From<change_created_0_1_2::Content> for Content {
1919    fn from(value: change_created_0_1_2::Content) -> Self {
1920        Self::ChangeCreated012(value)
1921    }
1922}
1923impl From<change_created_0_3_0::Content> for Content {
1924    fn from(value: change_created_0_3_0::Content) -> Self {
1925        Self::ChangeCreated030(value)
1926    }
1927}
1928impl From<change_merged_0_3_0::Content> for Content {
1929    fn from(value: change_merged_0_3_0::Content) -> Self {
1930        Self::ChangeMerged030(value)
1931    }
1932}
1933impl From<change_merged_0_1_2::Content> for Content {
1934    fn from(value: change_merged_0_1_2::Content) -> Self {
1935        Self::ChangeMerged012(value)
1936    }
1937}
1938impl From<change_merged_0_2_0::Content> for Content {
1939    fn from(value: change_merged_0_2_0::Content) -> Self {
1940        Self::ChangeMerged020(value)
1941    }
1942}
1943impl From<change_reviewed_0_3_0::Content> for Content {
1944    fn from(value: change_reviewed_0_3_0::Content) -> Self {
1945        Self::ChangeReviewed030(value)
1946    }
1947}
1948impl From<change_reviewed_0_1_2::Content> for Content {
1949    fn from(value: change_reviewed_0_1_2::Content) -> Self {
1950        Self::ChangeReviewed012(value)
1951    }
1952}
1953impl From<change_reviewed_0_2_0::Content> for Content {
1954    fn from(value: change_reviewed_0_2_0::Content) -> Self {
1955        Self::ChangeReviewed020(value)
1956    }
1957}
1958impl From<change_updated_0_3_0::Content> for Content {
1959    fn from(value: change_updated_0_3_0::Content) -> Self {
1960        Self::ChangeUpdated030(value)
1961    }
1962}
1963impl From<change_updated_0_1_2::Content> for Content {
1964    fn from(value: change_updated_0_1_2::Content) -> Self {
1965        Self::ChangeUpdated012(value)
1966    }
1967}
1968impl From<change_updated_0_2_0::Content> for Content {
1969    fn from(value: change_updated_0_2_0::Content) -> Self {
1970        Self::ChangeUpdated020(value)
1971    }
1972}
1973impl From<environment_created_0_3_0::Content> for Content {
1974    fn from(value: environment_created_0_3_0::Content) -> Self {
1975        Self::EnvironmentCreated030(value)
1976    }
1977}
1978impl From<environment_created_0_1_1::Content> for Content {
1979    fn from(value: environment_created_0_1_1::Content) -> Self {
1980        Self::EnvironmentCreated011(value)
1981    }
1982}
1983impl From<environment_created_0_2_0::Content> for Content {
1984    fn from(value: environment_created_0_2_0::Content) -> Self {
1985        Self::EnvironmentCreated020(value)
1986    }
1987}
1988impl From<environment_deleted_0_3_0::Content> for Content {
1989    fn from(value: environment_deleted_0_3_0::Content) -> Self {
1990        Self::EnvironmentDeleted030(value)
1991    }
1992}
1993impl From<environment_deleted_0_1_1::Content> for Content {
1994    fn from(value: environment_deleted_0_1_1::Content) -> Self {
1995        Self::EnvironmentDeleted011(value)
1996    }
1997}
1998impl From<environment_deleted_0_2_0::Content> for Content {
1999    fn from(value: environment_deleted_0_2_0::Content) -> Self {
2000        Self::EnvironmentDeleted020(value)
2001    }
2002}
2003impl From<environment_modified_0_3_0::Content> for Content {
2004    fn from(value: environment_modified_0_3_0::Content) -> Self {
2005        Self::EnvironmentModified030(value)
2006    }
2007}
2008impl From<environment_modified_0_1_1::Content> for Content {
2009    fn from(value: environment_modified_0_1_1::Content) -> Self {
2010        Self::EnvironmentModified011(value)
2011    }
2012}
2013impl From<environment_modified_0_2_0::Content> for Content {
2014    fn from(value: environment_modified_0_2_0::Content) -> Self {
2015        Self::EnvironmentModified020(value)
2016    }
2017}
2018impl From<incident_detected_0_3_0::Content> for Content {
2019    fn from(value: incident_detected_0_3_0::Content) -> Self {
2020        Self::IncidentDetected030(value)
2021    }
2022}
2023impl From<incident_detected_0_1_0::Content> for Content {
2024    fn from(value: incident_detected_0_1_0::Content) -> Self {
2025        Self::IncidentDetected010(value)
2026    }
2027}
2028impl From<incident_detected_0_2_0::Content> for Content {
2029    fn from(value: incident_detected_0_2_0::Content) -> Self {
2030        Self::IncidentDetected020(value)
2031    }
2032}
2033impl From<incident_reported_0_3_0::Content> for Content {
2034    fn from(value: incident_reported_0_3_0::Content) -> Self {
2035        Self::IncidentReported030(value)
2036    }
2037}
2038impl From<incident_reported_0_1_0::Content> for Content {
2039    fn from(value: incident_reported_0_1_0::Content) -> Self {
2040        Self::IncidentReported010(value)
2041    }
2042}
2043impl From<incident_reported_0_2_0::Content> for Content {
2044    fn from(value: incident_reported_0_2_0::Content) -> Self {
2045        Self::IncidentReported020(value)
2046    }
2047}
2048impl From<incident_resolved_0_3_0::Content> for Content {
2049    fn from(value: incident_resolved_0_3_0::Content) -> Self {
2050        Self::IncidentResolved030(value)
2051    }
2052}
2053impl From<incident_resolved_0_1_0::Content> for Content {
2054    fn from(value: incident_resolved_0_1_0::Content) -> Self {
2055        Self::IncidentResolved010(value)
2056    }
2057}
2058impl From<incident_resolved_0_2_0::Content> for Content {
2059    fn from(value: incident_resolved_0_2_0::Content) -> Self {
2060        Self::IncidentResolved020(value)
2061    }
2062}
2063impl From<pipelinerun_finished_0_3_0::Content> for Content {
2064    fn from(value: pipelinerun_finished_0_3_0::Content) -> Self {
2065        Self::PipelinerunFinished030(value)
2066    }
2067}
2068impl From<pipelinerun_finished_0_1_1::Content> for Content {
2069    fn from(value: pipelinerun_finished_0_1_1::Content) -> Self {
2070        Self::PipelinerunFinished011(value)
2071    }
2072}
2073impl From<pipelinerun_finished_0_2_0::Content> for Content {
2074    fn from(value: pipelinerun_finished_0_2_0::Content) -> Self {
2075        Self::PipelinerunFinished020(value)
2076    }
2077}
2078impl From<pipelinerun_queued_0_3_0::Content> for Content {
2079    fn from(value: pipelinerun_queued_0_3_0::Content) -> Self {
2080        Self::PipelinerunQueued030(value)
2081    }
2082}
2083impl From<pipelinerun_queued_0_1_1::Content> for Content {
2084    fn from(value: pipelinerun_queued_0_1_1::Content) -> Self {
2085        Self::PipelinerunQueued011(value)
2086    }
2087}
2088impl From<pipelinerun_queued_0_2_0::Content> for Content {
2089    fn from(value: pipelinerun_queued_0_2_0::Content) -> Self {
2090        Self::PipelinerunQueued020(value)
2091    }
2092}
2093impl From<pipelinerun_started_0_3_0::Content> for Content {
2094    fn from(value: pipelinerun_started_0_3_0::Content) -> Self {
2095        Self::PipelinerunStarted030(value)
2096    }
2097}
2098impl From<pipelinerun_started_0_1_1::Content> for Content {
2099    fn from(value: pipelinerun_started_0_1_1::Content) -> Self {
2100        Self::PipelinerunStarted011(value)
2101    }
2102}
2103impl From<pipelinerun_started_0_2_0::Content> for Content {
2104    fn from(value: pipelinerun_started_0_2_0::Content) -> Self {
2105        Self::PipelinerunStarted020(value)
2106    }
2107}
2108impl From<repository_created_0_3_0::Content> for Content {
2109    fn from(value: repository_created_0_3_0::Content) -> Self {
2110        Self::RepositoryCreated030(value)
2111    }
2112}
2113impl From<repository_created_0_1_1::Content> for Content {
2114    fn from(value: repository_created_0_1_1::Content) -> Self {
2115        Self::RepositoryCreated011(value)
2116    }
2117}
2118impl From<repository_created_0_2_0::Content> for Content {
2119    fn from(value: repository_created_0_2_0::Content) -> Self {
2120        Self::RepositoryCreated020(value)
2121    }
2122}
2123impl From<repository_deleted_0_3_0::Content> for Content {
2124    fn from(value: repository_deleted_0_3_0::Content) -> Self {
2125        Self::RepositoryDeleted030(value)
2126    }
2127}
2128impl From<repository_deleted_0_1_1::Content> for Content {
2129    fn from(value: repository_deleted_0_1_1::Content) -> Self {
2130        Self::RepositoryDeleted011(value)
2131    }
2132}
2133impl From<repository_deleted_0_2_0::Content> for Content {
2134    fn from(value: repository_deleted_0_2_0::Content) -> Self {
2135        Self::RepositoryDeleted020(value)
2136    }
2137}
2138impl From<repository_modified_0_3_0::Content> for Content {
2139    fn from(value: repository_modified_0_3_0::Content) -> Self {
2140        Self::RepositoryModified030(value)
2141    }
2142}
2143impl From<repository_modified_0_1_1::Content> for Content {
2144    fn from(value: repository_modified_0_1_1::Content) -> Self {
2145        Self::RepositoryModified011(value)
2146    }
2147}
2148impl From<repository_modified_0_2_0::Content> for Content {
2149    fn from(value: repository_modified_0_2_0::Content) -> Self {
2150        Self::RepositoryModified020(value)
2151    }
2152}
2153impl From<service_deployed_0_3_0::Content> for Content {
2154    fn from(value: service_deployed_0_3_0::Content) -> Self {
2155        Self::ServiceDeployed030(value)
2156    }
2157}
2158impl From<service_deployed_0_1_1::Content> for Content {
2159    fn from(value: service_deployed_0_1_1::Content) -> Self {
2160        Self::ServiceDeployed011(value)
2161    }
2162}
2163impl From<service_deployed_0_2_0::Content> for Content {
2164    fn from(value: service_deployed_0_2_0::Content) -> Self {
2165        Self::ServiceDeployed020(value)
2166    }
2167}
2168impl From<service_published_0_3_0::Content> for Content {
2169    fn from(value: service_published_0_3_0::Content) -> Self {
2170        Self::ServicePublished030(value)
2171    }
2172}
2173impl From<service_published_0_1_1::Content> for Content {
2174    fn from(value: service_published_0_1_1::Content) -> Self {
2175        Self::ServicePublished011(value)
2176    }
2177}
2178impl From<service_published_0_2_0::Content> for Content {
2179    fn from(value: service_published_0_2_0::Content) -> Self {
2180        Self::ServicePublished020(value)
2181    }
2182}
2183impl From<service_removed_0_3_0::Content> for Content {
2184    fn from(value: service_removed_0_3_0::Content) -> Self {
2185        Self::ServiceRemoved030(value)
2186    }
2187}
2188impl From<service_removed_0_1_1::Content> for Content {
2189    fn from(value: service_removed_0_1_1::Content) -> Self {
2190        Self::ServiceRemoved011(value)
2191    }
2192}
2193impl From<service_removed_0_2_0::Content> for Content {
2194    fn from(value: service_removed_0_2_0::Content) -> Self {
2195        Self::ServiceRemoved020(value)
2196    }
2197}
2198impl From<service_rolledback_0_3_0::Content> for Content {
2199    fn from(value: service_rolledback_0_3_0::Content) -> Self {
2200        Self::ServiceRolledback030(value)
2201    }
2202}
2203impl From<service_rolledback_0_1_1::Content> for Content {
2204    fn from(value: service_rolledback_0_1_1::Content) -> Self {
2205        Self::ServiceRolledback011(value)
2206    }
2207}
2208impl From<service_rolledback_0_2_0::Content> for Content {
2209    fn from(value: service_rolledback_0_2_0::Content) -> Self {
2210        Self::ServiceRolledback020(value)
2211    }
2212}
2213impl From<service_upgraded_0_3_0::Content> for Content {
2214    fn from(value: service_upgraded_0_3_0::Content) -> Self {
2215        Self::ServiceUpgraded030(value)
2216    }
2217}
2218impl From<service_upgraded_0_1_1::Content> for Content {
2219    fn from(value: service_upgraded_0_1_1::Content) -> Self {
2220        Self::ServiceUpgraded011(value)
2221    }
2222}
2223impl From<service_upgraded_0_2_0::Content> for Content {
2224    fn from(value: service_upgraded_0_2_0::Content) -> Self {
2225        Self::ServiceUpgraded020(value)
2226    }
2227}
2228impl From<taskrun_finished_0_3_0::Content> for Content {
2229    fn from(value: taskrun_finished_0_3_0::Content) -> Self {
2230        Self::TaskrunFinished030(value)
2231    }
2232}
2233impl From<taskrun_finished_0_1_1::Content> for Content {
2234    fn from(value: taskrun_finished_0_1_1::Content) -> Self {
2235        Self::TaskrunFinished011(value)
2236    }
2237}
2238impl From<taskrun_finished_0_2_0::Content> for Content {
2239    fn from(value: taskrun_finished_0_2_0::Content) -> Self {
2240        Self::TaskrunFinished020(value)
2241    }
2242}
2243impl From<taskrun_started_0_3_0::Content> for Content {
2244    fn from(value: taskrun_started_0_3_0::Content) -> Self {
2245        Self::TaskrunStarted030(value)
2246    }
2247}
2248impl From<taskrun_started_0_1_1::Content> for Content {
2249    fn from(value: taskrun_started_0_1_1::Content) -> Self {
2250        Self::TaskrunStarted011(value)
2251    }
2252}
2253impl From<taskrun_started_0_2_0::Content> for Content {
2254    fn from(value: taskrun_started_0_2_0::Content) -> Self {
2255        Self::TaskrunStarted020(value)
2256    }
2257}
2258impl From<testcaserun_finished_0_3_0::Content> for Content {
2259    fn from(value: testcaserun_finished_0_3_0::Content) -> Self {
2260        Self::TestcaserunFinished030(value)
2261    }
2262}
2263impl From<testcaserun_finished_0_1_0::Content> for Content {
2264    fn from(value: testcaserun_finished_0_1_0::Content) -> Self {
2265        Self::TestcaserunFinished010(value)
2266    }
2267}
2268impl From<testcaserun_finished_0_2_0::Content> for Content {
2269    fn from(value: testcaserun_finished_0_2_0::Content) -> Self {
2270        Self::TestcaserunFinished020(value)
2271    }
2272}
2273impl From<testcaserun_queued_0_3_0::Content> for Content {
2274    fn from(value: testcaserun_queued_0_3_0::Content) -> Self {
2275        Self::TestcaserunQueued030(value)
2276    }
2277}
2278impl From<testcaserun_queued_0_1_0::Content> for Content {
2279    fn from(value: testcaserun_queued_0_1_0::Content) -> Self {
2280        Self::TestcaserunQueued010(value)
2281    }
2282}
2283impl From<testcaserun_queued_0_2_0::Content> for Content {
2284    fn from(value: testcaserun_queued_0_2_0::Content) -> Self {
2285        Self::TestcaserunQueued020(value)
2286    }
2287}
2288impl From<testcaserun_skipped_0_2_0::Content> for Content {
2289    fn from(value: testcaserun_skipped_0_2_0::Content) -> Self {
2290        Self::TestcaserunSkipped020(value)
2291    }
2292}
2293impl From<testcaserun_skipped_0_1_0::Content> for Content {
2294    fn from(value: testcaserun_skipped_0_1_0::Content) -> Self {
2295        Self::TestcaserunSkipped010(value)
2296    }
2297}
2298impl From<testcaserun_started_0_3_0::Content> for Content {
2299    fn from(value: testcaserun_started_0_3_0::Content) -> Self {
2300        Self::TestcaserunStarted030(value)
2301    }
2302}
2303impl From<testcaserun_started_0_1_0::Content> for Content {
2304    fn from(value: testcaserun_started_0_1_0::Content) -> Self {
2305        Self::TestcaserunStarted010(value)
2306    }
2307}
2308impl From<testcaserun_started_0_2_0::Content> for Content {
2309    fn from(value: testcaserun_started_0_2_0::Content) -> Self {
2310        Self::TestcaserunStarted020(value)
2311    }
2312}
2313impl From<testoutput_published_0_3_0::Content> for Content {
2314    fn from(value: testoutput_published_0_3_0::Content) -> Self {
2315        Self::TestoutputPublished030(value)
2316    }
2317}
2318impl From<testoutput_published_0_1_0::Content> for Content {
2319    fn from(value: testoutput_published_0_1_0::Content) -> Self {
2320        Self::TestoutputPublished010(value)
2321    }
2322}
2323impl From<testoutput_published_0_2_0::Content> for Content {
2324    fn from(value: testoutput_published_0_2_0::Content) -> Self {
2325        Self::TestoutputPublished020(value)
2326    }
2327}
2328impl From<testsuiterun_finished_0_3_0::Content> for Content {
2329    fn from(value: testsuiterun_finished_0_3_0::Content) -> Self {
2330        Self::TestsuiterunFinished030(value)
2331    }
2332}
2333impl From<testsuiterun_finished_0_1_0::Content> for Content {
2334    fn from(value: testsuiterun_finished_0_1_0::Content) -> Self {
2335        Self::TestsuiterunFinished010(value)
2336    }
2337}
2338impl From<testsuiterun_finished_0_2_0::Content> for Content {
2339    fn from(value: testsuiterun_finished_0_2_0::Content) -> Self {
2340        Self::TestsuiterunFinished020(value)
2341    }
2342}
2343impl From<testsuiterun_queued_0_3_0::Content> for Content {
2344    fn from(value: testsuiterun_queued_0_3_0::Content) -> Self {
2345        Self::TestsuiterunQueued030(value)
2346    }
2347}
2348impl From<testsuiterun_queued_0_1_0::Content> for Content {
2349    fn from(value: testsuiterun_queued_0_1_0::Content) -> Self {
2350        Self::TestsuiterunQueued010(value)
2351    }
2352}
2353impl From<testsuiterun_queued_0_2_0::Content> for Content {
2354    fn from(value: testsuiterun_queued_0_2_0::Content) -> Self {
2355        Self::TestsuiterunQueued020(value)
2356    }
2357}
2358impl From<testsuiterun_started_0_3_0::Content> for Content {
2359    fn from(value: testsuiterun_started_0_3_0::Content) -> Self {
2360        Self::TestsuiterunStarted030(value)
2361    }
2362}
2363impl From<testsuiterun_started_0_1_0::Content> for Content {
2364    fn from(value: testsuiterun_started_0_1_0::Content) -> Self {
2365        Self::TestsuiterunStarted010(value)
2366    }
2367}
2368impl From<testsuiterun_started_0_2_0::Content> for Content {
2369    fn from(value: testsuiterun_started_0_2_0::Content) -> Self {
2370        Self::TestsuiterunStarted020(value)
2371    }
2372}
2373impl From<ticket_closed_0_2_0::Content> for Content {
2374    fn from(value: ticket_closed_0_2_0::Content) -> Self {
2375        Self::TicketClosed020(value)
2376    }
2377}
2378impl From<ticket_closed_0_1_0::Content> for Content {
2379    fn from(value: ticket_closed_0_1_0::Content) -> Self {
2380        Self::TicketClosed010(value)
2381    }
2382}
2383impl From<ticket_created_0_2_0::Content> for Content {
2384    fn from(value: ticket_created_0_2_0::Content) -> Self {
2385        Self::TicketCreated020(value)
2386    }
2387}
2388impl From<ticket_created_0_1_0::Content> for Content {
2389    fn from(value: ticket_created_0_1_0::Content) -> Self {
2390        Self::TicketCreated010(value)
2391    }
2392}
2393impl From<ticket_updated_0_2_0::Content> for Content {
2394    fn from(value: ticket_updated_0_2_0::Content) -> Self {
2395        Self::TicketUpdated020(value)
2396    }
2397}
2398impl From<ticket_updated_0_1_0::Content> for Content {
2399    fn from(value: ticket_updated_0_1_0::Content) -> Self {
2400        Self::TicketUpdated010(value)
2401    }
2402}
2403
2404#[cfg(feature = "testkit")]
2405impl<> proptest::arbitrary::Arbitrary for Content {
2406    type Parameters = ();
2407    type Strategy = proptest::strategy::BoxedStrategy<Self>;
2408
2409    fn arbitrary_with(_args: Self::Parameters) -> Self::Strategy {
2410        use proptest::prelude::*;
2411        prop_oneof![
2412            any::<artifact_deleted_0_2_0::Content>().prop_map(Content::from),
2413            any::<artifact_deleted_0_1_0::Content>().prop_map(Content::from),
2414            any::<artifact_downloaded_0_2_0::Content>().prop_map(Content::from),
2415            any::<artifact_downloaded_0_1_0::Content>().prop_map(Content::from),
2416            any::<artifact_packaged_0_3_0::Content>().prop_map(Content::from),
2417            any::<artifact_packaged_0_1_1::Content>().prop_map(Content::from),
2418            any::<artifact_packaged_0_2_0::Content>().prop_map(Content::from),
2419            any::<artifact_published_0_3_0::Content>().prop_map(Content::from),
2420            any::<artifact_published_0_1_1::Content>().prop_map(Content::from),
2421            any::<artifact_published_0_2_0::Content>().prop_map(Content::from),
2422            any::<artifact_signed_0_3_0::Content>().prop_map(Content::from),
2423            any::<artifact_signed_0_1_0::Content>().prop_map(Content::from),
2424            any::<artifact_signed_0_2_0::Content>().prop_map(Content::from),
2425            any::<branch_created_0_3_0::Content>().prop_map(Content::from),
2426            any::<branch_created_0_1_2::Content>().prop_map(Content::from),
2427            any::<branch_created_0_2_0::Content>().prop_map(Content::from),
2428            any::<branch_deleted_0_3_0::Content>().prop_map(Content::from),
2429            any::<branch_deleted_0_1_2::Content>().prop_map(Content::from),
2430            any::<branch_deleted_0_2_0::Content>().prop_map(Content::from),
2431            any::<build_finished_0_3_0::Content>().prop_map(Content::from),
2432            any::<build_finished_0_1_1::Content>().prop_map(Content::from),
2433            any::<build_finished_0_2_0::Content>().prop_map(Content::from),
2434            any::<build_queued_0_3_0::Content>().prop_map(Content::from),
2435            any::<build_queued_0_1_1::Content>().prop_map(Content::from),
2436            any::<build_queued_0_2_0::Content>().prop_map(Content::from),
2437            any::<build_started_0_3_0::Content>().prop_map(Content::from),
2438            any::<build_started_0_1_1::Content>().prop_map(Content::from),
2439            any::<build_started_0_2_0::Content>().prop_map(Content::from),
2440            any::<change_abandoned_0_3_0::Content>().prop_map(Content::from),
2441            any::<change_abandoned_0_1_2::Content>().prop_map(Content::from),
2442            any::<change_abandoned_0_2_0::Content>().prop_map(Content::from),
2443            any::<change_created_0_4_0::Content>().prop_map(Content::from),
2444            any::<change_created_0_1_2::Content>().prop_map(Content::from),
2445            any::<change_created_0_3_0::Content>().prop_map(Content::from),
2446            any::<change_merged_0_3_0::Content>().prop_map(Content::from),
2447            any::<change_merged_0_1_2::Content>().prop_map(Content::from),
2448            any::<change_merged_0_2_0::Content>().prop_map(Content::from),
2449            any::<change_reviewed_0_3_0::Content>().prop_map(Content::from),
2450            any::<change_reviewed_0_1_2::Content>().prop_map(Content::from),
2451            any::<change_reviewed_0_2_0::Content>().prop_map(Content::from),
2452            any::<change_updated_0_3_0::Content>().prop_map(Content::from),
2453            any::<change_updated_0_1_2::Content>().prop_map(Content::from),
2454            any::<change_updated_0_2_0::Content>().prop_map(Content::from),
2455            any::<environment_created_0_3_0::Content>().prop_map(Content::from),
2456            any::<environment_created_0_1_1::Content>().prop_map(Content::from),
2457            any::<environment_created_0_2_0::Content>().prop_map(Content::from),
2458            any::<environment_deleted_0_3_0::Content>().prop_map(Content::from),
2459            any::<environment_deleted_0_1_1::Content>().prop_map(Content::from),
2460            any::<environment_deleted_0_2_0::Content>().prop_map(Content::from),
2461            any::<environment_modified_0_3_0::Content>().prop_map(Content::from),
2462            any::<environment_modified_0_1_1::Content>().prop_map(Content::from),
2463            any::<environment_modified_0_2_0::Content>().prop_map(Content::from),
2464            any::<incident_detected_0_3_0::Content>().prop_map(Content::from),
2465            any::<incident_detected_0_1_0::Content>().prop_map(Content::from),
2466            any::<incident_detected_0_2_0::Content>().prop_map(Content::from),
2467            any::<incident_reported_0_3_0::Content>().prop_map(Content::from),
2468            any::<incident_reported_0_1_0::Content>().prop_map(Content::from),
2469            any::<incident_reported_0_2_0::Content>().prop_map(Content::from),
2470            any::<incident_resolved_0_3_0::Content>().prop_map(Content::from),
2471            any::<incident_resolved_0_1_0::Content>().prop_map(Content::from),
2472            any::<incident_resolved_0_2_0::Content>().prop_map(Content::from),
2473            any::<pipelinerun_finished_0_3_0::Content>().prop_map(Content::from),
2474            any::<pipelinerun_finished_0_1_1::Content>().prop_map(Content::from),
2475            any::<pipelinerun_finished_0_2_0::Content>().prop_map(Content::from),
2476            any::<pipelinerun_queued_0_3_0::Content>().prop_map(Content::from),
2477            any::<pipelinerun_queued_0_1_1::Content>().prop_map(Content::from),
2478            any::<pipelinerun_queued_0_2_0::Content>().prop_map(Content::from),
2479            any::<pipelinerun_started_0_3_0::Content>().prop_map(Content::from),
2480            any::<pipelinerun_started_0_1_1::Content>().prop_map(Content::from),
2481            any::<pipelinerun_started_0_2_0::Content>().prop_map(Content::from),
2482            any::<repository_created_0_3_0::Content>().prop_map(Content::from),
2483            any::<repository_created_0_1_1::Content>().prop_map(Content::from),
2484            any::<repository_created_0_2_0::Content>().prop_map(Content::from),
2485            any::<repository_deleted_0_3_0::Content>().prop_map(Content::from),
2486            any::<repository_deleted_0_1_1::Content>().prop_map(Content::from),
2487            any::<repository_deleted_0_2_0::Content>().prop_map(Content::from),
2488            any::<repository_modified_0_3_0::Content>().prop_map(Content::from),
2489            any::<repository_modified_0_1_1::Content>().prop_map(Content::from),
2490            any::<repository_modified_0_2_0::Content>().prop_map(Content::from),
2491            any::<service_deployed_0_3_0::Content>().prop_map(Content::from),
2492            any::<service_deployed_0_1_1::Content>().prop_map(Content::from),
2493            any::<service_deployed_0_2_0::Content>().prop_map(Content::from),
2494            any::<service_published_0_3_0::Content>().prop_map(Content::from),
2495            any::<service_published_0_1_1::Content>().prop_map(Content::from),
2496            any::<service_published_0_2_0::Content>().prop_map(Content::from),
2497            any::<service_removed_0_3_0::Content>().prop_map(Content::from),
2498            any::<service_removed_0_1_1::Content>().prop_map(Content::from),
2499            any::<service_removed_0_2_0::Content>().prop_map(Content::from),
2500            any::<service_rolledback_0_3_0::Content>().prop_map(Content::from),
2501            any::<service_rolledback_0_1_1::Content>().prop_map(Content::from),
2502            any::<service_rolledback_0_2_0::Content>().prop_map(Content::from),
2503            any::<service_upgraded_0_3_0::Content>().prop_map(Content::from),
2504            any::<service_upgraded_0_1_1::Content>().prop_map(Content::from),
2505            any::<service_upgraded_0_2_0::Content>().prop_map(Content::from),
2506            any::<taskrun_finished_0_3_0::Content>().prop_map(Content::from),
2507            any::<taskrun_finished_0_1_1::Content>().prop_map(Content::from),
2508            any::<taskrun_finished_0_2_0::Content>().prop_map(Content::from),
2509            any::<taskrun_started_0_3_0::Content>().prop_map(Content::from),
2510            any::<taskrun_started_0_1_1::Content>().prop_map(Content::from),
2511            any::<taskrun_started_0_2_0::Content>().prop_map(Content::from),
2512            any::<testcaserun_finished_0_3_0::Content>().prop_map(Content::from),
2513            any::<testcaserun_finished_0_1_0::Content>().prop_map(Content::from),
2514            any::<testcaserun_finished_0_2_0::Content>().prop_map(Content::from),
2515            any::<testcaserun_queued_0_3_0::Content>().prop_map(Content::from),
2516            any::<testcaserun_queued_0_1_0::Content>().prop_map(Content::from),
2517            any::<testcaserun_queued_0_2_0::Content>().prop_map(Content::from),
2518            any::<testcaserun_skipped_0_2_0::Content>().prop_map(Content::from),
2519            any::<testcaserun_skipped_0_1_0::Content>().prop_map(Content::from),
2520            any::<testcaserun_started_0_3_0::Content>().prop_map(Content::from),
2521            any::<testcaserun_started_0_1_0::Content>().prop_map(Content::from),
2522            any::<testcaserun_started_0_2_0::Content>().prop_map(Content::from),
2523            any::<testoutput_published_0_3_0::Content>().prop_map(Content::from),
2524            any::<testoutput_published_0_1_0::Content>().prop_map(Content::from),
2525            any::<testoutput_published_0_2_0::Content>().prop_map(Content::from),
2526            any::<testsuiterun_finished_0_3_0::Content>().prop_map(Content::from),
2527            any::<testsuiterun_finished_0_1_0::Content>().prop_map(Content::from),
2528            any::<testsuiterun_finished_0_2_0::Content>().prop_map(Content::from),
2529            any::<testsuiterun_queued_0_3_0::Content>().prop_map(Content::from),
2530            any::<testsuiterun_queued_0_1_0::Content>().prop_map(Content::from),
2531            any::<testsuiterun_queued_0_2_0::Content>().prop_map(Content::from),
2532            any::<testsuiterun_started_0_3_0::Content>().prop_map(Content::from),
2533            any::<testsuiterun_started_0_1_0::Content>().prop_map(Content::from),
2534            any::<testsuiterun_started_0_2_0::Content>().prop_map(Content::from),
2535            any::<ticket_closed_0_2_0::Content>().prop_map(Content::from),
2536            any::<ticket_closed_0_1_0::Content>().prop_map(Content::from),
2537            any::<ticket_created_0_2_0::Content>().prop_map(Content::from),
2538            any::<ticket_created_0_1_0::Content>().prop_map(Content::from),
2539            any::<ticket_updated_0_2_0::Content>().prop_map(Content::from),
2540            any::<ticket_updated_0_1_0::Content>().prop_map(Content::from),
2541        ].boxed()
2542    }
2543}
2544
2545// #[cfg(test)]
2546// mod tests {
2547//     use super::*;
2548//
2549//     #[test]
2550//     fn test_true() {
2551//         
2552//         assert_eq!(extract_subject_predicate(ARTIFACT_DELETED_0_2_0), Some(("artifact","deleted")));
2553//         
2554//         assert_eq!(extract_subject_predicate(ARTIFACT_DELETED_0_1_0), Some(("artifact","deleted")));
2555//         
2556//         assert_eq!(extract_subject_predicate(ARTIFACT_DOWNLOADED_0_2_0), Some(("artifact","downloaded")));
2557//         
2558//         assert_eq!(extract_subject_predicate(ARTIFACT_DOWNLOADED_0_1_0), Some(("artifact","downloaded")));
2559//         
2560//         assert_eq!(extract_subject_predicate(ARTIFACT_PACKAGED_0_3_0), Some(("artifact","packaged")));
2561//         
2562//         assert_eq!(extract_subject_predicate(ARTIFACT_PACKAGED_0_1_1), Some(("artifact","packaged")));
2563//         
2564//         assert_eq!(extract_subject_predicate(ARTIFACT_PACKAGED_0_2_0), Some(("artifact","packaged")));
2565//         
2566//         assert_eq!(extract_subject_predicate(ARTIFACT_PUBLISHED_0_3_0), Some(("artifact","published")));
2567//         
2568//         assert_eq!(extract_subject_predicate(ARTIFACT_PUBLISHED_0_1_1), Some(("artifact","published")));
2569//         
2570//         assert_eq!(extract_subject_predicate(ARTIFACT_PUBLISHED_0_2_0), Some(("artifact","published")));
2571//         
2572//         assert_eq!(extract_subject_predicate(ARTIFACT_SIGNED_0_3_0), Some(("artifact","signed")));
2573//         
2574//         assert_eq!(extract_subject_predicate(ARTIFACT_SIGNED_0_1_0), Some(("artifact","signed")));
2575//         
2576//         assert_eq!(extract_subject_predicate(ARTIFACT_SIGNED_0_2_0), Some(("artifact","signed")));
2577//         
2578//         assert_eq!(extract_subject_predicate(BRANCH_CREATED_0_3_0), Some(("branch","created")));
2579//         
2580//         assert_eq!(extract_subject_predicate(BRANCH_CREATED_0_1_2), Some(("branch","created")));
2581//         
2582//         assert_eq!(extract_subject_predicate(BRANCH_CREATED_0_2_0), Some(("branch","created")));
2583//         
2584//         assert_eq!(extract_subject_predicate(BRANCH_DELETED_0_3_0), Some(("branch","deleted")));
2585//         
2586//         assert_eq!(extract_subject_predicate(BRANCH_DELETED_0_1_2), Some(("branch","deleted")));
2587//         
2588//         assert_eq!(extract_subject_predicate(BRANCH_DELETED_0_2_0), Some(("branch","deleted")));
2589//         
2590//         assert_eq!(extract_subject_predicate(BUILD_FINISHED_0_3_0), Some(("build","finished")));
2591//         
2592//         assert_eq!(extract_subject_predicate(BUILD_FINISHED_0_1_1), Some(("build","finished")));
2593//         
2594//         assert_eq!(extract_subject_predicate(BUILD_FINISHED_0_2_0), Some(("build","finished")));
2595//         
2596//         assert_eq!(extract_subject_predicate(BUILD_QUEUED_0_3_0), Some(("build","queued")));
2597//         
2598//         assert_eq!(extract_subject_predicate(BUILD_QUEUED_0_1_1), Some(("build","queued")));
2599//         
2600//         assert_eq!(extract_subject_predicate(BUILD_QUEUED_0_2_0), Some(("build","queued")));
2601//         
2602//         assert_eq!(extract_subject_predicate(BUILD_STARTED_0_3_0), Some(("build","started")));
2603//         
2604//         assert_eq!(extract_subject_predicate(BUILD_STARTED_0_1_1), Some(("build","started")));
2605//         
2606//         assert_eq!(extract_subject_predicate(BUILD_STARTED_0_2_0), Some(("build","started")));
2607//         
2608//         assert_eq!(extract_subject_predicate(CHANGE_ABANDONED_0_3_0), Some(("change","abandoned")));
2609//         
2610//         assert_eq!(extract_subject_predicate(CHANGE_ABANDONED_0_1_2), Some(("change","abandoned")));
2611//         
2612//         assert_eq!(extract_subject_predicate(CHANGE_ABANDONED_0_2_0), Some(("change","abandoned")));
2613//         
2614//         assert_eq!(extract_subject_predicate(CHANGE_CREATED_0_4_0), Some(("change","created")));
2615//         
2616//         assert_eq!(extract_subject_predicate(CHANGE_CREATED_0_1_2), Some(("change","created")));
2617//         
2618//         assert_eq!(extract_subject_predicate(CHANGE_CREATED_0_3_0), Some(("change","created")));
2619//         
2620//         assert_eq!(extract_subject_predicate(CHANGE_MERGED_0_3_0), Some(("change","merged")));
2621//         
2622//         assert_eq!(extract_subject_predicate(CHANGE_MERGED_0_1_2), Some(("change","merged")));
2623//         
2624//         assert_eq!(extract_subject_predicate(CHANGE_MERGED_0_2_0), Some(("change","merged")));
2625//         
2626//         assert_eq!(extract_subject_predicate(CHANGE_REVIEWED_0_3_0), Some(("change","reviewed")));
2627//         
2628//         assert_eq!(extract_subject_predicate(CHANGE_REVIEWED_0_1_2), Some(("change","reviewed")));
2629//         
2630//         assert_eq!(extract_subject_predicate(CHANGE_REVIEWED_0_2_0), Some(("change","reviewed")));
2631//         
2632//         assert_eq!(extract_subject_predicate(CHANGE_UPDATED_0_3_0), Some(("change","updated")));
2633//         
2634//         assert_eq!(extract_subject_predicate(CHANGE_UPDATED_0_1_2), Some(("change","updated")));
2635//         
2636//         assert_eq!(extract_subject_predicate(CHANGE_UPDATED_0_2_0), Some(("change","updated")));
2637//         
2638//         assert_eq!(extract_subject_predicate(ENVIRONMENT_CREATED_0_3_0), Some(("environment","created")));
2639//         
2640//         assert_eq!(extract_subject_predicate(ENVIRONMENT_CREATED_0_1_1), Some(("environment","created")));
2641//         
2642//         assert_eq!(extract_subject_predicate(ENVIRONMENT_CREATED_0_2_0), Some(("environment","created")));
2643//         
2644//         assert_eq!(extract_subject_predicate(ENVIRONMENT_DELETED_0_3_0), Some(("environment","deleted")));
2645//         
2646//         assert_eq!(extract_subject_predicate(ENVIRONMENT_DELETED_0_1_1), Some(("environment","deleted")));
2647//         
2648//         assert_eq!(extract_subject_predicate(ENVIRONMENT_DELETED_0_2_0), Some(("environment","deleted")));
2649//         
2650//         assert_eq!(extract_subject_predicate(ENVIRONMENT_MODIFIED_0_3_0), Some(("environment","modified")));
2651//         
2652//         assert_eq!(extract_subject_predicate(ENVIRONMENT_MODIFIED_0_1_1), Some(("environment","modified")));
2653//         
2654//         assert_eq!(extract_subject_predicate(ENVIRONMENT_MODIFIED_0_2_0), Some(("environment","modified")));
2655//         
2656//         assert_eq!(extract_subject_predicate(INCIDENT_DETECTED_0_3_0), Some(("incident","detected")));
2657//         
2658//         assert_eq!(extract_subject_predicate(INCIDENT_DETECTED_0_1_0), Some(("incident","detected")));
2659//         
2660//         assert_eq!(extract_subject_predicate(INCIDENT_DETECTED_0_2_0), Some(("incident","detected")));
2661//         
2662//         assert_eq!(extract_subject_predicate(INCIDENT_REPORTED_0_3_0), Some(("incident","reported")));
2663//         
2664//         assert_eq!(extract_subject_predicate(INCIDENT_REPORTED_0_1_0), Some(("incident","reported")));
2665//         
2666//         assert_eq!(extract_subject_predicate(INCIDENT_REPORTED_0_2_0), Some(("incident","reported")));
2667//         
2668//         assert_eq!(extract_subject_predicate(INCIDENT_RESOLVED_0_3_0), Some(("incident","resolved")));
2669//         
2670//         assert_eq!(extract_subject_predicate(INCIDENT_RESOLVED_0_1_0), Some(("incident","resolved")));
2671//         
2672//         assert_eq!(extract_subject_predicate(INCIDENT_RESOLVED_0_2_0), Some(("incident","resolved")));
2673//         
2674//         assert_eq!(extract_subject_predicate(PIPELINERUN_FINISHED_0_3_0), Some(("pipelinerun","finished")));
2675//         
2676//         assert_eq!(extract_subject_predicate(PIPELINERUN_FINISHED_0_1_1), Some(("pipelinerun","finished")));
2677//         
2678//         assert_eq!(extract_subject_predicate(PIPELINERUN_FINISHED_0_2_0), Some(("pipelinerun","finished")));
2679//         
2680//         assert_eq!(extract_subject_predicate(PIPELINERUN_QUEUED_0_3_0), Some(("pipelinerun","queued")));
2681//         
2682//         assert_eq!(extract_subject_predicate(PIPELINERUN_QUEUED_0_1_1), Some(("pipelinerun","queued")));
2683//         
2684//         assert_eq!(extract_subject_predicate(PIPELINERUN_QUEUED_0_2_0), Some(("pipelinerun","queued")));
2685//         
2686//         assert_eq!(extract_subject_predicate(PIPELINERUN_STARTED_0_3_0), Some(("pipelinerun","started")));
2687//         
2688//         assert_eq!(extract_subject_predicate(PIPELINERUN_STARTED_0_1_1), Some(("pipelinerun","started")));
2689//         
2690//         assert_eq!(extract_subject_predicate(PIPELINERUN_STARTED_0_2_0), Some(("pipelinerun","started")));
2691//         
2692//         assert_eq!(extract_subject_predicate(REPOSITORY_CREATED_0_3_0), Some(("repository","created")));
2693//         
2694//         assert_eq!(extract_subject_predicate(REPOSITORY_CREATED_0_1_1), Some(("repository","created")));
2695//         
2696//         assert_eq!(extract_subject_predicate(REPOSITORY_CREATED_0_2_0), Some(("repository","created")));
2697//         
2698//         assert_eq!(extract_subject_predicate(REPOSITORY_DELETED_0_3_0), Some(("repository","deleted")));
2699//         
2700//         assert_eq!(extract_subject_predicate(REPOSITORY_DELETED_0_1_1), Some(("repository","deleted")));
2701//         
2702//         assert_eq!(extract_subject_predicate(REPOSITORY_DELETED_0_2_0), Some(("repository","deleted")));
2703//         
2704//         assert_eq!(extract_subject_predicate(REPOSITORY_MODIFIED_0_3_0), Some(("repository","modified")));
2705//         
2706//         assert_eq!(extract_subject_predicate(REPOSITORY_MODIFIED_0_1_1), Some(("repository","modified")));
2707//         
2708//         assert_eq!(extract_subject_predicate(REPOSITORY_MODIFIED_0_2_0), Some(("repository","modified")));
2709//         
2710//         assert_eq!(extract_subject_predicate(SERVICE_DEPLOYED_0_3_0), Some(("service","deployed")));
2711//         
2712//         assert_eq!(extract_subject_predicate(SERVICE_DEPLOYED_0_1_1), Some(("service","deployed")));
2713//         
2714//         assert_eq!(extract_subject_predicate(SERVICE_DEPLOYED_0_2_0), Some(("service","deployed")));
2715//         
2716//         assert_eq!(extract_subject_predicate(SERVICE_PUBLISHED_0_3_0), Some(("service","published")));
2717//         
2718//         assert_eq!(extract_subject_predicate(SERVICE_PUBLISHED_0_1_1), Some(("service","published")));
2719//         
2720//         assert_eq!(extract_subject_predicate(SERVICE_PUBLISHED_0_2_0), Some(("service","published")));
2721//         
2722//         assert_eq!(extract_subject_predicate(SERVICE_REMOVED_0_3_0), Some(("service","removed")));
2723//         
2724//         assert_eq!(extract_subject_predicate(SERVICE_REMOVED_0_1_1), Some(("service","removed")));
2725//         
2726//         assert_eq!(extract_subject_predicate(SERVICE_REMOVED_0_2_0), Some(("service","removed")));
2727//         
2728//         assert_eq!(extract_subject_predicate(SERVICE_ROLLEDBACK_0_3_0), Some(("service","rolledback")));
2729//         
2730//         assert_eq!(extract_subject_predicate(SERVICE_ROLLEDBACK_0_1_1), Some(("service","rolledback")));
2731//         
2732//         assert_eq!(extract_subject_predicate(SERVICE_ROLLEDBACK_0_2_0), Some(("service","rolledback")));
2733//         
2734//         assert_eq!(extract_subject_predicate(SERVICE_UPGRADED_0_3_0), Some(("service","upgraded")));
2735//         
2736//         assert_eq!(extract_subject_predicate(SERVICE_UPGRADED_0_1_1), Some(("service","upgraded")));
2737//         
2738//         assert_eq!(extract_subject_predicate(SERVICE_UPGRADED_0_2_0), Some(("service","upgraded")));
2739//         
2740//         assert_eq!(extract_subject_predicate(TASKRUN_FINISHED_0_3_0), Some(("taskrun","finished")));
2741//         
2742//         assert_eq!(extract_subject_predicate(TASKRUN_FINISHED_0_1_1), Some(("taskrun","finished")));
2743//         
2744//         assert_eq!(extract_subject_predicate(TASKRUN_FINISHED_0_2_0), Some(("taskrun","finished")));
2745//         
2746//         assert_eq!(extract_subject_predicate(TASKRUN_STARTED_0_3_0), Some(("taskrun","started")));
2747//         
2748//         assert_eq!(extract_subject_predicate(TASKRUN_STARTED_0_1_1), Some(("taskrun","started")));
2749//         
2750//         assert_eq!(extract_subject_predicate(TASKRUN_STARTED_0_2_0), Some(("taskrun","started")));
2751//         
2752//         assert_eq!(extract_subject_predicate(TESTCASERUN_FINISHED_0_3_0), Some(("testcaserun","finished")));
2753//         
2754//         assert_eq!(extract_subject_predicate(TESTCASERUN_FINISHED_0_1_0), Some(("testcaserun","finished")));
2755//         
2756//         assert_eq!(extract_subject_predicate(TESTCASERUN_FINISHED_0_2_0), Some(("testcaserun","finished")));
2757//         
2758//         assert_eq!(extract_subject_predicate(TESTCASERUN_QUEUED_0_3_0), Some(("testcaserun","queued")));
2759//         
2760//         assert_eq!(extract_subject_predicate(TESTCASERUN_QUEUED_0_1_0), Some(("testcaserun","queued")));
2761//         
2762//         assert_eq!(extract_subject_predicate(TESTCASERUN_QUEUED_0_2_0), Some(("testcaserun","queued")));
2763//         
2764//         assert_eq!(extract_subject_predicate(TESTCASERUN_SKIPPED_0_2_0), Some(("testcaserun","skipped")));
2765//         
2766//         assert_eq!(extract_subject_predicate(TESTCASERUN_SKIPPED_0_1_0), Some(("testcaserun","skipped")));
2767//         
2768//         assert_eq!(extract_subject_predicate(TESTCASERUN_STARTED_0_3_0), Some(("testcaserun","started")));
2769//         
2770//         assert_eq!(extract_subject_predicate(TESTCASERUN_STARTED_0_1_0), Some(("testcaserun","started")));
2771//         
2772//         assert_eq!(extract_subject_predicate(TESTCASERUN_STARTED_0_2_0), Some(("testcaserun","started")));
2773//         
2774//         assert_eq!(extract_subject_predicate(TESTOUTPUT_PUBLISHED_0_3_0), Some(("testoutput","published")));
2775//         
2776//         assert_eq!(extract_subject_predicate(TESTOUTPUT_PUBLISHED_0_1_0), Some(("testoutput","published")));
2777//         
2778//         assert_eq!(extract_subject_predicate(TESTOUTPUT_PUBLISHED_0_2_0), Some(("testoutput","published")));
2779//         
2780//         assert_eq!(extract_subject_predicate(TESTSUITERUN_FINISHED_0_3_0), Some(("testsuiterun","finished")));
2781//         
2782//         assert_eq!(extract_subject_predicate(TESTSUITERUN_FINISHED_0_1_0), Some(("testsuiterun","finished")));
2783//         
2784//         assert_eq!(extract_subject_predicate(TESTSUITERUN_FINISHED_0_2_0), Some(("testsuiterun","finished")));
2785//         
2786//         assert_eq!(extract_subject_predicate(TESTSUITERUN_QUEUED_0_3_0), Some(("testsuiterun","queued")));
2787//         
2788//         assert_eq!(extract_subject_predicate(TESTSUITERUN_QUEUED_0_1_0), Some(("testsuiterun","queued")));
2789//         
2790//         assert_eq!(extract_subject_predicate(TESTSUITERUN_QUEUED_0_2_0), Some(("testsuiterun","queued")));
2791//         
2792//         assert_eq!(extract_subject_predicate(TESTSUITERUN_STARTED_0_3_0), Some(("testsuiterun","started")));
2793//         
2794//         assert_eq!(extract_subject_predicate(TESTSUITERUN_STARTED_0_1_0), Some(("testsuiterun","started")));
2795//         
2796//         assert_eq!(extract_subject_predicate(TESTSUITERUN_STARTED_0_2_0), Some(("testsuiterun","started")));
2797//         
2798//         assert_eq!(extract_subject_predicate(TICKET_CLOSED_0_2_0), Some(("ticket","closed")));
2799//         
2800//         assert_eq!(extract_subject_predicate(TICKET_CLOSED_0_1_0), Some(("ticket","closed")));
2801//         
2802//         assert_eq!(extract_subject_predicate(TICKET_CREATED_0_2_0), Some(("ticket","created")));
2803//         
2804//         assert_eq!(extract_subject_predicate(TICKET_CREATED_0_1_0), Some(("ticket","created")));
2805//         
2806//         assert_eq!(extract_subject_predicate(TICKET_UPDATED_0_2_0), Some(("ticket","updated")));
2807//         
2808//         assert_eq!(extract_subject_predicate(TICKET_UPDATED_0_1_0), Some(("ticket","updated")));
2809//         
2810//     }
2811// }