v0.16.1 ffa9a5e

event.pb.go RawHistoryFolder

1// SPDX-License-Identifier: MIT
2
3// Code generated by protoc-gen-go. DO NOT EDIT.
4// versions:
5// 	protoc-gen-go v1.36.12
6// 	protoc        (unknown)
7// source: ermite/event.proto
8
9package ermite
10
11import (
12	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
13	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
14	timestamppb "google.golang.org/protobuf/types/known/timestamppb"
15	reflect "reflect"
16	sync "sync"
17	unsafe "unsafe"
18)
19
20const (
21	// Verify that this generated code is sufficiently up-to-date.
22	_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
23	// Verify that runtime/protoimpl is sufficiently up-to-date.
24	_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
25)
26
27// WatchRequest selects the events to receive.
28type WatchRequest struct {
29	state protoimpl.MessageState `protogen:"open.v1"`
30	// Topics are the subjects to follow: "home" for every repository visible to
31	// the caller, "repo:<name>" for one repository, or "owner". Empty means
32	// "home". Unknown topics are invalid_argument. A "repo:<name>" topic for a
33	// repository that does not exist or is not visible is not_found.
34	//
35	// The "owner" topic needs owner rights: root, an owner session, or a token
36	// that holds every scope with no repository or branch limit. Anyone else
37	// gets the same invalid_argument as for an unknown topic, so the topic is
38	// not revealed. It carries the merge request and issue events of every
39	// repository (merge_request_opened, merge_request_merged,
40	// merge_request_closed, comment_added, and the issue events), repo_updated
41	// and repo_deleted, plus issue_submitted, which is delivered nowhere else.
42	Topics []string `protobuf:"bytes,1,rep,name=topics,proto3" json:"topics,omitempty"`
43	// ResumeAfter is the Event.id of the last event the client has seen. Empty
44	// to receive only new events.
45	ResumeAfter   string `protobuf:"bytes,2,opt,name=resume_after,json=resumeAfter,proto3" json:"resume_after,omitempty"`
46	unknownFields protoimpl.UnknownFields
47	sizeCache     protoimpl.SizeCache
48}
49
50func (x *WatchRequest) Reset() {
51	*x = WatchRequest{}
52	mi := &file_ermite_event_proto_msgTypes[0]
53	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
54	ms.StoreMessageInfo(mi)
55}
56
57func (x *WatchRequest) String() string {
58	return protoimpl.X.MessageStringOf(x)
59}
60
61func (*WatchRequest) ProtoMessage() {}
62
63func (x *WatchRequest) ProtoReflect() protoreflect.Message {
64	mi := &file_ermite_event_proto_msgTypes[0]
65	if x != nil {
66		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
67		if ms.LoadMessageInfo() == nil {
68			ms.StoreMessageInfo(mi)
69		}
70		return ms
71	}
72	return mi.MessageOf(x)
73}
74
75// Deprecated: Use WatchRequest.ProtoReflect.Descriptor instead.
76func (*WatchRequest) Descriptor() ([]byte, []int) {
77	return file_ermite_event_proto_rawDescGZIP(), []int{0}
78}
79
80func (x *WatchRequest) GetTopics() []string {
81	if x != nil {
82		return x.Topics
83	}
84	return nil
85}
86
87func (x *WatchRequest) GetResumeAfter() string {
88	if x != nil {
89		return x.ResumeAfter
90	}
91	return ""
92}
93
94// WatchResponse carries one event of the stream.
95type WatchResponse struct {
96	state protoimpl.MessageState `protogen:"open.v1"`
97	// Event is the event.
98	Event         *Event `protobuf:"bytes,1,opt,name=event,proto3" json:"event,omitempty"`
99	unknownFields protoimpl.UnknownFields
100	sizeCache     protoimpl.SizeCache
101}
102
103func (x *WatchResponse) Reset() {
104	*x = WatchResponse{}
105	mi := &file_ermite_event_proto_msgTypes[1]
106	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
107	ms.StoreMessageInfo(mi)
108}
109
110func (x *WatchResponse) String() string {
111	return protoimpl.X.MessageStringOf(x)
112}
113
114func (*WatchResponse) ProtoMessage() {}
115
116func (x *WatchResponse) ProtoReflect() protoreflect.Message {
117	mi := &file_ermite_event_proto_msgTypes[1]
118	if x != nil {
119		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
120		if ms.LoadMessageInfo() == nil {
121			ms.StoreMessageInfo(mi)
122		}
123		return ms
124	}
125	return mi.MessageOf(x)
126}
127
128// Deprecated: Use WatchResponse.ProtoReflect.Descriptor instead.
129func (*WatchResponse) Descriptor() ([]byte, []int) {
130	return file_ermite_event_proto_rawDescGZIP(), []int{1}
131}
132
133func (x *WatchResponse) GetEvent() *Event {
134	if x != nil {
135		return x.Event
136	}
137	return nil
138}
139
140// Event is something that happened on the forge.
141type Event struct {
142	state protoimpl.MessageState `protogen:"open.v1"`
143	// Id identifies the event and is passed as resume_after to resume a stream.
144	// It is opaque and only comparable for equality; clients must not parse it.
145	// Empty on a Gap event.
146	Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
147	// Time is when the event happened.
148	Time *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=time,proto3" json:"time,omitempty"`
149	// Kind is the type and payload of the event. New kinds may be added; clients
150	// must ignore kinds they do not know.
151	//
152	// Types that are valid to be assigned to Kind:
153	//
154	//	*Event_RepoCreated
155	//	*Event_RepoUpdated
156	//	*Event_RepoDeleted
157	//	*Event_Pushed
158	//	*Event_Gap
159	//	*Event_MergeRequestOpened
160	//	*Event_MergeRequestMerged
161	//	*Event_MergeRequestClosed
162	//	*Event_CommentAdded
163	//	*Event_RunUpdated
164	//	*Event_JobUpdated
165	//	*Event_CommentEdited
166	//	*Event_CommentDeleted
167	//	*Event_CommentResolved
168	//	*Event_IssueOpened
169	//	*Event_IssueClosed
170	//	*Event_IssueReopened
171	//	*Event_IssueCommented
172	//	*Event_IssueSubmitted
173	//	*Event_MergeRequestMergeability
174	//	*Event_MirrorFailed
175	//	*Event_MirrorRecovered
176	//	*Event_MergeRequestAutoMergeEnabled
177	//	*Event_MergeRequestAutoMergeCancelled
178	//	*Event_ReleasePublished
179	//	*Event_ReleaseUpdated
180	//	*Event_ReleaseDeleted
181	//	*Event_ReleaseUnpublished
182	Kind          isEvent_Kind `protobuf_oneof:"kind"`
183	unknownFields protoimpl.UnknownFields
184	sizeCache     protoimpl.SizeCache
185}
186
187func (x *Event) Reset() {
188	*x = Event{}
189	mi := &file_ermite_event_proto_msgTypes[2]
190	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
191	ms.StoreMessageInfo(mi)
192}
193
194func (x *Event) String() string {
195	return protoimpl.X.MessageStringOf(x)
196}
197
198func (*Event) ProtoMessage() {}
199
200func (x *Event) ProtoReflect() protoreflect.Message {
201	mi := &file_ermite_event_proto_msgTypes[2]
202	if x != nil {
203		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
204		if ms.LoadMessageInfo() == nil {
205			ms.StoreMessageInfo(mi)
206		}
207		return ms
208	}
209	return mi.MessageOf(x)
210}
211
212// Deprecated: Use Event.ProtoReflect.Descriptor instead.
213func (*Event) Descriptor() ([]byte, []int) {
214	return file_ermite_event_proto_rawDescGZIP(), []int{2}
215}
216
217func (x *Event) GetId() string {
218	if x != nil {
219		return x.Id
220	}
221	return ""
222}
223
224func (x *Event) GetTime() *timestamppb.Timestamp {
225	if x != nil {
226		return x.Time
227	}
228	return nil
229}
230
231func (x *Event) GetKind() isEvent_Kind {
232	if x != nil {
233		return x.Kind
234	}
235	return nil
236}
237
238func (x *Event) GetRepoCreated() *RepoCreated {
239	if x != nil {
240		if x, ok := x.Kind.(*Event_RepoCreated); ok {
241			return x.RepoCreated
242		}
243	}
244	return nil
245}
246
247func (x *Event) GetRepoUpdated() *RepoUpdated {
248	if x != nil {
249		if x, ok := x.Kind.(*Event_RepoUpdated); ok {
250			return x.RepoUpdated
251		}
252	}
253	return nil
254}
255
256func (x *Event) GetRepoDeleted() *RepoDeleted {
257	if x != nil {
258		if x, ok := x.Kind.(*Event_RepoDeleted); ok {
259			return x.RepoDeleted
260		}
261	}
262	return nil
263}
264
265func (x *Event) GetPushed() *Pushed {
266	if x != nil {
267		if x, ok := x.Kind.(*Event_Pushed); ok {
268			return x.Pushed
269		}
270	}
271	return nil
272}
273
274func (x *Event) GetGap() *Gap {
275	if x != nil {
276		if x, ok := x.Kind.(*Event_Gap); ok {
277			return x.Gap
278		}
279	}
280	return nil
281}
282
283func (x *Event) GetMergeRequestOpened() *MergeRequestOpened {
284	if x != nil {
285		if x, ok := x.Kind.(*Event_MergeRequestOpened); ok {
286			return x.MergeRequestOpened
287		}
288	}
289	return nil
290}
291
292func (x *Event) GetMergeRequestMerged() *MergeRequestMerged {
293	if x != nil {
294		if x, ok := x.Kind.(*Event_MergeRequestMerged); ok {
295			return x.MergeRequestMerged
296		}
297	}
298	return nil
299}
300
301func (x *Event) GetMergeRequestClosed() *MergeRequestClosed {
302	if x != nil {
303		if x, ok := x.Kind.(*Event_MergeRequestClosed); ok {
304			return x.MergeRequestClosed
305		}
306	}
307	return nil
308}
309
310func (x *Event) GetCommentAdded() *CommentAdded {
311	if x != nil {
312		if x, ok := x.Kind.(*Event_CommentAdded); ok {
313			return x.CommentAdded
314		}
315	}
316	return nil
317}
318
319func (x *Event) GetRunUpdated() *RunUpdated {
320	if x != nil {
321		if x, ok := x.Kind.(*Event_RunUpdated); ok {
322			return x.RunUpdated
323		}
324	}
325	return nil
326}
327
328func (x *Event) GetJobUpdated() *JobUpdated {
329	if x != nil {
330		if x, ok := x.Kind.(*Event_JobUpdated); ok {
331			return x.JobUpdated
332		}
333	}
334	return nil
335}
336
337func (x *Event) GetCommentEdited() *CommentEdited {
338	if x != nil {
339		if x, ok := x.Kind.(*Event_CommentEdited); ok {
340			return x.CommentEdited
341		}
342	}
343	return nil
344}
345
346func (x *Event) GetCommentDeleted() *CommentDeleted {
347	if x != nil {
348		if x, ok := x.Kind.(*Event_CommentDeleted); ok {
349			return x.CommentDeleted
350		}
351	}
352	return nil
353}
354
355func (x *Event) GetCommentResolved() *CommentResolved {
356	if x != nil {
357		if x, ok := x.Kind.(*Event_CommentResolved); ok {
358			return x.CommentResolved
359		}
360	}
361	return nil
362}
363
364func (x *Event) GetIssueOpened() *IssueOpened {
365	if x != nil {
366		if x, ok := x.Kind.(*Event_IssueOpened); ok {
367			return x.IssueOpened
368		}
369	}
370	return nil
371}
372
373func (x *Event) GetIssueClosed() *IssueClosed {
374	if x != nil {
375		if x, ok := x.Kind.(*Event_IssueClosed); ok {
376			return x.IssueClosed
377		}
378	}
379	return nil
380}
381
382func (x *Event) GetIssueReopened() *IssueReopened {
383	if x != nil {
384		if x, ok := x.Kind.(*Event_IssueReopened); ok {
385			return x.IssueReopened
386		}
387	}
388	return nil
389}
390
391func (x *Event) GetIssueCommented() *IssueCommented {
392	if x != nil {
393		if x, ok := x.Kind.(*Event_IssueCommented); ok {
394			return x.IssueCommented
395		}
396	}
397	return nil
398}
399
400func (x *Event) GetIssueSubmitted() *IssueSubmitted {
401	if x != nil {
402		if x, ok := x.Kind.(*Event_IssueSubmitted); ok {
403			return x.IssueSubmitted
404		}
405	}
406	return nil
407}
408
409func (x *Event) GetMergeRequestMergeability() *MergeRequestMergeability {
410	if x != nil {
411		if x, ok := x.Kind.(*Event_MergeRequestMergeability); ok {
412			return x.MergeRequestMergeability
413		}
414	}
415	return nil
416}
417
418func (x *Event) GetMirrorFailed() *MirrorFailed {
419	if x != nil {
420		if x, ok := x.Kind.(*Event_MirrorFailed); ok {
421			return x.MirrorFailed
422		}
423	}
424	return nil
425}
426
427func (x *Event) GetMirrorRecovered() *MirrorRecovered {
428	if x != nil {
429		if x, ok := x.Kind.(*Event_MirrorRecovered); ok {
430			return x.MirrorRecovered
431		}
432	}
433	return nil
434}
435
436func (x *Event) GetMergeRequestAutoMergeEnabled() *MergeRequestAutoMergeEnabled {
437	if x != nil {
438		if x, ok := x.Kind.(*Event_MergeRequestAutoMergeEnabled); ok {
439			return x.MergeRequestAutoMergeEnabled
440		}
441	}
442	return nil
443}
444
445func (x *Event) GetMergeRequestAutoMergeCancelled() *MergeRequestAutoMergeCancelled {
446	if x != nil {
447		if x, ok := x.Kind.(*Event_MergeRequestAutoMergeCancelled); ok {
448			return x.MergeRequestAutoMergeCancelled
449		}
450	}
451	return nil
452}
453
454func (x *Event) GetReleasePublished() *ReleasePublished {
455	if x != nil {
456		if x, ok := x.Kind.(*Event_ReleasePublished); ok {
457			return x.ReleasePublished
458		}
459	}
460	return nil
461}
462
463func (x *Event) GetReleaseUpdated() *ReleaseUpdated {
464	if x != nil {
465		if x, ok := x.Kind.(*Event_ReleaseUpdated); ok {
466			return x.ReleaseUpdated
467		}
468	}
469	return nil
470}
471
472func (x *Event) GetReleaseDeleted() *ReleaseDeleted {
473	if x != nil {
474		if x, ok := x.Kind.(*Event_ReleaseDeleted); ok {
475			return x.ReleaseDeleted
476		}
477	}
478	return nil
479}
480
481func (x *Event) GetReleaseUnpublished() *ReleaseUnpublished {
482	if x != nil {
483		if x, ok := x.Kind.(*Event_ReleaseUnpublished); ok {
484			return x.ReleaseUnpublished
485		}
486	}
487	return nil
488}
489
490type isEvent_Kind interface {
491	isEvent_Kind()
492}
493
494type Event_RepoCreated struct {
495	// RepoCreated: a repository was created.
496	RepoCreated *RepoCreated `protobuf:"bytes,3,opt,name=repo_created,json=repoCreated,proto3,oneof"`
497}
498
499type Event_RepoUpdated struct {
500	// RepoUpdated: repository metadata changed.
501	RepoUpdated *RepoUpdated `protobuf:"bytes,4,opt,name=repo_updated,json=repoUpdated,proto3,oneof"`
502}
503
504type Event_RepoDeleted struct {
505	// RepoDeleted: a repository was deleted.
506	RepoDeleted *RepoDeleted `protobuf:"bytes,5,opt,name=repo_deleted,json=repoDeleted,proto3,oneof"`
507}
508
509type Event_Pushed struct {
510	// Pushed: refs of a repository were updated by a push.
511	Pushed *Pushed `protobuf:"bytes,6,opt,name=pushed,proto3,oneof"`
512}
513
514type Event_Gap struct {
515	// Gap: events were lost, reload state.
516	Gap *Gap `protobuf:"bytes,7,opt,name=gap,proto3,oneof"`
517}
518
519type Event_MergeRequestOpened struct {
520	// MergeRequestOpened: a merge request was opened.
521	MergeRequestOpened *MergeRequestOpened `protobuf:"bytes,8,opt,name=merge_request_opened,json=mergeRequestOpened,proto3,oneof"`
522}
523
524type Event_MergeRequestMerged struct {
525	// MergeRequestMerged: a merge request was merged.
526	MergeRequestMerged *MergeRequestMerged `protobuf:"bytes,9,opt,name=merge_request_merged,json=mergeRequestMerged,proto3,oneof"`
527}
528
529type Event_MergeRequestClosed struct {
530	// MergeRequestClosed: a merge request was closed without merging.
531	MergeRequestClosed *MergeRequestClosed `protobuf:"bytes,10,opt,name=merge_request_closed,json=mergeRequestClosed,proto3,oneof"`
532}
533
534type Event_CommentAdded struct {
535	// CommentAdded: a comment was added to a merge request.
536	CommentAdded *CommentAdded `protobuf:"bytes,11,opt,name=comment_added,json=commentAdded,proto3,oneof"`
537}
538
539type Event_RunUpdated struct {
540	// RunUpdated: a CI run was created or changed.
541	RunUpdated *RunUpdated `protobuf:"bytes,12,opt,name=run_updated,json=runUpdated,proto3,oneof"`
542}
543
544type Event_JobUpdated struct {
545	// JobUpdated: a CI job was created or changed.
546	JobUpdated *JobUpdated `protobuf:"bytes,13,opt,name=job_updated,json=jobUpdated,proto3,oneof"`
547}
548
549type Event_CommentEdited struct {
550	// CommentEdited: the text of a merge request comment was changed.
551	CommentEdited *CommentEdited `protobuf:"bytes,14,opt,name=comment_edited,json=commentEdited,proto3,oneof"`
552}
553
554type Event_CommentDeleted struct {
555	// CommentDeleted: a merge request comment was deleted.
556	CommentDeleted *CommentDeleted `protobuf:"bytes,15,opt,name=comment_deleted,json=commentDeleted,proto3,oneof"`
557}
558
559type Event_CommentResolved struct {
560	// CommentResolved: a merge request comment was resolved or unresolved.
561	CommentResolved *CommentResolved `protobuf:"bytes,16,opt,name=comment_resolved,json=commentResolved,proto3,oneof"`
562}
563
564type Event_IssueOpened struct {
565	// IssueOpened: an issue was opened.
566	IssueOpened *IssueOpened `protobuf:"bytes,17,opt,name=issue_opened,json=issueOpened,proto3,oneof"`
567}
568
569type Event_IssueClosed struct {
570	// IssueClosed: an issue was closed.
571	IssueClosed *IssueClosed `protobuf:"bytes,18,opt,name=issue_closed,json=issueClosed,proto3,oneof"`
572}
573
574type Event_IssueReopened struct {
575	// IssueReopened: an issue was reopened.
576	IssueReopened *IssueReopened `protobuf:"bytes,19,opt,name=issue_reopened,json=issueReopened,proto3,oneof"`
577}
578
579type Event_IssueCommented struct {
580	// IssueCommented: a comment was added to an issue.
581	IssueCommented *IssueCommented `protobuf:"bytes,20,opt,name=issue_commented,json=issueCommented,proto3,oneof"`
582}
583
584type Event_IssueSubmitted struct {
585	// IssueSubmitted: an issue is awaiting moderation. Delivered only on the
586	// "owner" topic, never on "home" or "repo:<name>", and carries no content.
587	IssueSubmitted *IssueSubmitted `protobuf:"bytes,21,opt,name=issue_submitted,json=issueSubmitted,proto3,oneof"`
588}
589
590type Event_MergeRequestMergeability struct {
591	// MergeRequestMergeability: the mergeability of an open merge request
592	// changed.
593	MergeRequestMergeability *MergeRequestMergeability `protobuf:"bytes,22,opt,name=merge_request_mergeability,json=mergeRequestMergeability,proto3,oneof"`
594}
595
596type Event_MirrorFailed struct {
597	// MirrorFailed: a mirror entered failing or paused.
598	MirrorFailed *MirrorFailed `protobuf:"bytes,23,opt,name=mirror_failed,json=mirrorFailed,proto3,oneof"`
599}
600
601type Event_MirrorRecovered struct {
602	// MirrorRecovered: a failing or paused mirror succeeded again.
603	MirrorRecovered *MirrorRecovered `protobuf:"bytes,24,opt,name=mirror_recovered,json=mirrorRecovered,proto3,oneof"`
604}
605
606type Event_MergeRequestAutoMergeEnabled struct {
607	// MergeRequestAutoMergeEnabled: auto-merge was enabled on a merge request.
608	MergeRequestAutoMergeEnabled *MergeRequestAutoMergeEnabled `protobuf:"bytes,25,opt,name=merge_request_auto_merge_enabled,json=mergeRequestAutoMergeEnabled,proto3,oneof"`
609}
610
611type Event_MergeRequestAutoMergeCancelled struct {
612	// MergeRequestAutoMergeCancelled: the auto-merge of a merge request was
613	// cancelled.
614	MergeRequestAutoMergeCancelled *MergeRequestAutoMergeCancelled `protobuf:"bytes,26,opt,name=merge_request_auto_merge_cancelled,json=mergeRequestAutoMergeCancelled,proto3,oneof"`
615}
616
617type Event_ReleasePublished struct {
618	// ReleasePublished reports a release published.
619	ReleasePublished *ReleasePublished `protobuf:"bytes,27,opt,name=release_published,json=releasePublished,proto3,oneof"`
620}
621
622type Event_ReleaseUpdated struct {
623	// ReleaseUpdated reports a release updated.
624	ReleaseUpdated *ReleaseUpdated `protobuf:"bytes,28,opt,name=release_updated,json=releaseUpdated,proto3,oneof"`
625}
626
627type Event_ReleaseDeleted struct {
628	// ReleaseDeleted reports a release deleted.
629	ReleaseDeleted *ReleaseDeleted `protobuf:"bytes,29,opt,name=release_deleted,json=releaseDeleted,proto3,oneof"`
630}
631
632type Event_ReleaseUnpublished struct {
633	// ReleaseUnpublished reports a release turned into a draft after tag deletion.
634	ReleaseUnpublished *ReleaseUnpublished `protobuf:"bytes,30,opt,name=release_unpublished,json=releaseUnpublished,proto3,oneof"`
635}
636
637func (*Event_RepoCreated) isEvent_Kind() {}
638
639func (*Event_RepoUpdated) isEvent_Kind() {}
640
641func (*Event_RepoDeleted) isEvent_Kind() {}
642
643func (*Event_Pushed) isEvent_Kind() {}
644
645func (*Event_Gap) isEvent_Kind() {}
646
647func (*Event_MergeRequestOpened) isEvent_Kind() {}
648
649func (*Event_MergeRequestMerged) isEvent_Kind() {}
650
651func (*Event_MergeRequestClosed) isEvent_Kind() {}
652
653func (*Event_CommentAdded) isEvent_Kind() {}
654
655func (*Event_RunUpdated) isEvent_Kind() {}
656
657func (*Event_JobUpdated) isEvent_Kind() {}
658
659func (*Event_CommentEdited) isEvent_Kind() {}
660
661func (*Event_CommentDeleted) isEvent_Kind() {}
662
663func (*Event_CommentResolved) isEvent_Kind() {}
664
665func (*Event_IssueOpened) isEvent_Kind() {}
666
667func (*Event_IssueClosed) isEvent_Kind() {}
668
669func (*Event_IssueReopened) isEvent_Kind() {}
670
671func (*Event_IssueCommented) isEvent_Kind() {}
672
673func (*Event_IssueSubmitted) isEvent_Kind() {}
674
675func (*Event_MergeRequestMergeability) isEvent_Kind() {}
676
677func (*Event_MirrorFailed) isEvent_Kind() {}
678
679func (*Event_MirrorRecovered) isEvent_Kind() {}
680
681func (*Event_MergeRequestAutoMergeEnabled) isEvent_Kind() {}
682
683func (*Event_MergeRequestAutoMergeCancelled) isEvent_Kind() {}
684
685func (*Event_ReleasePublished) isEvent_Kind() {}
686
687func (*Event_ReleaseUpdated) isEvent_Kind() {}
688
689func (*Event_ReleaseDeleted) isEvent_Kind() {}
690
691func (*Event_ReleaseUnpublished) isEvent_Kind() {}
692
693// RepoCreated reports a new repository.
694type RepoCreated struct {
695	state protoimpl.MessageState `protogen:"open.v1"`
696	// Repo is the new repository.
697	Repo          *Repo `protobuf:"bytes,1,opt,name=repo,proto3" json:"repo,omitempty"`
698	unknownFields protoimpl.UnknownFields
699	sizeCache     protoimpl.SizeCache
700}
701
702func (x *RepoCreated) Reset() {
703	*x = RepoCreated{}
704	mi := &file_ermite_event_proto_msgTypes[3]
705	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
706	ms.StoreMessageInfo(mi)
707}
708
709func (x *RepoCreated) String() string {
710	return protoimpl.X.MessageStringOf(x)
711}
712
713func (*RepoCreated) ProtoMessage() {}
714
715func (x *RepoCreated) ProtoReflect() protoreflect.Message {
716	mi := &file_ermite_event_proto_msgTypes[3]
717	if x != nil {
718		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
719		if ms.LoadMessageInfo() == nil {
720			ms.StoreMessageInfo(mi)
721		}
722		return ms
723	}
724	return mi.MessageOf(x)
725}
726
727// Deprecated: Use RepoCreated.ProtoReflect.Descriptor instead.
728func (*RepoCreated) Descriptor() ([]byte, []int) {
729	return file_ermite_event_proto_rawDescGZIP(), []int{3}
730}
731
732func (x *RepoCreated) GetRepo() *Repo {
733	if x != nil {
734		return x.Repo
735	}
736	return nil
737}
738
739// RepoUpdated reports a metadata change.
740type RepoUpdated struct {
741	state protoimpl.MessageState `protogen:"open.v1"`
742	// Repo is the repository after the change.
743	Repo          *Repo `protobuf:"bytes,1,opt,name=repo,proto3" json:"repo,omitempty"`
744	unknownFields protoimpl.UnknownFields
745	sizeCache     protoimpl.SizeCache
746}
747
748func (x *RepoUpdated) Reset() {
749	*x = RepoUpdated{}
750	mi := &file_ermite_event_proto_msgTypes[4]
751	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
752	ms.StoreMessageInfo(mi)
753}
754
755func (x *RepoUpdated) String() string {
756	return protoimpl.X.MessageStringOf(x)
757}
758
759func (*RepoUpdated) ProtoMessage() {}
760
761func (x *RepoUpdated) ProtoReflect() protoreflect.Message {
762	mi := &file_ermite_event_proto_msgTypes[4]
763	if x != nil {
764		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
765		if ms.LoadMessageInfo() == nil {
766			ms.StoreMessageInfo(mi)
767		}
768		return ms
769	}
770	return mi.MessageOf(x)
771}
772
773// Deprecated: Use RepoUpdated.ProtoReflect.Descriptor instead.
774func (*RepoUpdated) Descriptor() ([]byte, []int) {
775	return file_ermite_event_proto_rawDescGZIP(), []int{4}
776}
777
778func (x *RepoUpdated) GetRepo() *Repo {
779	if x != nil {
780		return x.Repo
781	}
782	return nil
783}
784
785// RepoDeleted reports a deleted repository.
786type RepoDeleted struct {
787	state protoimpl.MessageState `protogen:"open.v1"`
788	// Repo is the name of the deleted repository.
789	Repo          string `protobuf:"bytes,1,opt,name=repo,proto3" json:"repo,omitempty"`
790	unknownFields protoimpl.UnknownFields
791	sizeCache     protoimpl.SizeCache
792}
793
794func (x *RepoDeleted) Reset() {
795	*x = RepoDeleted{}
796	mi := &file_ermite_event_proto_msgTypes[5]
797	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
798	ms.StoreMessageInfo(mi)
799}
800
801func (x *RepoDeleted) String() string {
802	return protoimpl.X.MessageStringOf(x)
803}
804
805func (*RepoDeleted) ProtoMessage() {}
806
807func (x *RepoDeleted) ProtoReflect() protoreflect.Message {
808	mi := &file_ermite_event_proto_msgTypes[5]
809	if x != nil {
810		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
811		if ms.LoadMessageInfo() == nil {
812			ms.StoreMessageInfo(mi)
813		}
814		return ms
815	}
816	return mi.MessageOf(x)
817}
818
819// Deprecated: Use RepoDeleted.ProtoReflect.Descriptor instead.
820func (*RepoDeleted) Descriptor() ([]byte, []int) {
821	return file_ermite_event_proto_rawDescGZIP(), []int{5}
822}
823
824func (x *RepoDeleted) GetRepo() string {
825	if x != nil {
826		return x.Repo
827	}
828	return ""
829}
830
831// Pushed reports the ref updates of one push.
832type Pushed struct {
833	state protoimpl.MessageState `protogen:"open.v1"`
834	// Repo is the name of the repository.
835	Repo string `protobuf:"bytes,1,opt,name=repo,proto3" json:"repo,omitempty"`
836	// RefUpdates are the refs changed by the push.
837	RefUpdates    []*RefUpdate `protobuf:"bytes,2,rep,name=ref_updates,json=refUpdates,proto3" json:"ref_updates,omitempty"`
838	unknownFields protoimpl.UnknownFields
839	sizeCache     protoimpl.SizeCache
840}
841
842func (x *Pushed) Reset() {
843	*x = Pushed{}
844	mi := &file_ermite_event_proto_msgTypes[6]
845	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
846	ms.StoreMessageInfo(mi)
847}
848
849func (x *Pushed) String() string {
850	return protoimpl.X.MessageStringOf(x)
851}
852
853func (*Pushed) ProtoMessage() {}
854
855func (x *Pushed) ProtoReflect() protoreflect.Message {
856	mi := &file_ermite_event_proto_msgTypes[6]
857	if x != nil {
858		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
859		if ms.LoadMessageInfo() == nil {
860			ms.StoreMessageInfo(mi)
861		}
862		return ms
863	}
864	return mi.MessageOf(x)
865}
866
867// Deprecated: Use Pushed.ProtoReflect.Descriptor instead.
868func (*Pushed) Descriptor() ([]byte, []int) {
869	return file_ermite_event_proto_rawDescGZIP(), []int{6}
870}
871
872func (x *Pushed) GetRepo() string {
873	if x != nil {
874		return x.Repo
875	}
876	return ""
877}
878
879func (x *Pushed) GetRefUpdates() []*RefUpdate {
880	if x != nil {
881		return x.RefUpdates
882	}
883	return nil
884}
885
886// RefUpdate is the change of one ref.
887type RefUpdate struct {
888	state protoimpl.MessageState `protogen:"open.v1"`
889	// Ref is the full ref name, for example "refs/heads/main".
890	Ref string `protobuf:"bytes,1,opt,name=ref,proto3" json:"ref,omitempty"`
891	// OldId is the object id before the update. Empty when the ref was created.
892	OldId string `protobuf:"bytes,2,opt,name=old_id,json=oldId,proto3" json:"old_id,omitempty"`
893	// NewId is the object id after the update. Empty when the ref was deleted.
894	NewId         string `protobuf:"bytes,3,opt,name=new_id,json=newId,proto3" json:"new_id,omitempty"`
895	unknownFields protoimpl.UnknownFields
896	sizeCache     protoimpl.SizeCache
897}
898
899func (x *RefUpdate) Reset() {
900	*x = RefUpdate{}
901	mi := &file_ermite_event_proto_msgTypes[7]
902	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
903	ms.StoreMessageInfo(mi)
904}
905
906func (x *RefUpdate) String() string {
907	return protoimpl.X.MessageStringOf(x)
908}
909
910func (*RefUpdate) ProtoMessage() {}
911
912func (x *RefUpdate) ProtoReflect() protoreflect.Message {
913	mi := &file_ermite_event_proto_msgTypes[7]
914	if x != nil {
915		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
916		if ms.LoadMessageInfo() == nil {
917			ms.StoreMessageInfo(mi)
918		}
919		return ms
920	}
921	return mi.MessageOf(x)
922}
923
924// Deprecated: Use RefUpdate.ProtoReflect.Descriptor instead.
925func (*RefUpdate) Descriptor() ([]byte, []int) {
926	return file_ermite_event_proto_rawDescGZIP(), []int{7}
927}
928
929func (x *RefUpdate) GetRef() string {
930	if x != nil {
931		return x.Ref
932	}
933	return ""
934}
935
936func (x *RefUpdate) GetOldId() string {
937	if x != nil {
938		return x.OldId
939	}
940	return ""
941}
942
943func (x *RefUpdate) GetNewId() string {
944	if x != nil {
945		return x.NewId
946	}
947	return ""
948}
949
950// MergeRequestOpened reports a new merge request.
951type MergeRequestOpened struct {
952	state protoimpl.MessageState `protogen:"open.v1"`
953	// MergeRequest is the new merge request.
954	MergeRequest  *MergeRequest `protobuf:"bytes,1,opt,name=merge_request,json=mergeRequest,proto3" json:"merge_request,omitempty"`
955	unknownFields protoimpl.UnknownFields
956	sizeCache     protoimpl.SizeCache
957}
958
959func (x *MergeRequestOpened) Reset() {
960	*x = MergeRequestOpened{}
961	mi := &file_ermite_event_proto_msgTypes[8]
962	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
963	ms.StoreMessageInfo(mi)
964}
965
966func (x *MergeRequestOpened) String() string {
967	return protoimpl.X.MessageStringOf(x)
968}
969
970func (*MergeRequestOpened) ProtoMessage() {}
971
972func (x *MergeRequestOpened) ProtoReflect() protoreflect.Message {
973	mi := &file_ermite_event_proto_msgTypes[8]
974	if x != nil {
975		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
976		if ms.LoadMessageInfo() == nil {
977			ms.StoreMessageInfo(mi)
978		}
979		return ms
980	}
981	return mi.MessageOf(x)
982}
983
984// Deprecated: Use MergeRequestOpened.ProtoReflect.Descriptor instead.
985func (*MergeRequestOpened) Descriptor() ([]byte, []int) {
986	return file_ermite_event_proto_rawDescGZIP(), []int{8}
987}
988
989func (x *MergeRequestOpened) GetMergeRequest() *MergeRequest {
990	if x != nil {
991		return x.MergeRequest
992	}
993	return nil
994}
995
996// MergeRequestMerged reports a merged merge request. It is published before
997// the Pushed event of the target branch.
998type MergeRequestMerged struct {
999	state protoimpl.MessageState `protogen:"open.v1"`
1000	// MergeRequest is the merge request after the merge.
1001	MergeRequest *MergeRequest `protobuf:"bytes,1,opt,name=merge_request,json=mergeRequest,proto3" json:"merge_request,omitempty"`
1002	// Auto is true when the server merged it by auto-merge.
1003	Auto          bool `protobuf:"varint,2,opt,name=auto,proto3" json:"auto,omitempty"`
1004	unknownFields protoimpl.UnknownFields
1005	sizeCache     protoimpl.SizeCache
1006}
1007
1008func (x *MergeRequestMerged) Reset() {
1009	*x = MergeRequestMerged{}
1010	mi := &file_ermite_event_proto_msgTypes[9]
1011	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1012	ms.StoreMessageInfo(mi)
1013}
1014
1015func (x *MergeRequestMerged) String() string {
1016	return protoimpl.X.MessageStringOf(x)
1017}
1018
1019func (*MergeRequestMerged) ProtoMessage() {}
1020
1021func (x *MergeRequestMerged) ProtoReflect() protoreflect.Message {
1022	mi := &file_ermite_event_proto_msgTypes[9]
1023	if x != nil {
1024		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1025		if ms.LoadMessageInfo() == nil {
1026			ms.StoreMessageInfo(mi)
1027		}
1028		return ms
1029	}
1030	return mi.MessageOf(x)
1031}
1032
1033// Deprecated: Use MergeRequestMerged.ProtoReflect.Descriptor instead.
1034func (*MergeRequestMerged) Descriptor() ([]byte, []int) {
1035	return file_ermite_event_proto_rawDescGZIP(), []int{9}
1036}
1037
1038func (x *MergeRequestMerged) GetMergeRequest() *MergeRequest {
1039	if x != nil {
1040		return x.MergeRequest
1041	}
1042	return nil
1043}
1044
1045func (x *MergeRequestMerged) GetAuto() bool {
1046	if x != nil {
1047		return x.Auto
1048	}
1049	return false
1050}
1051
1052// MergeRequestAutoMergeEnabled reports auto-merge enabled on an open merge
1053// request. It is published again when auto-merge is enabled again.
1054type MergeRequestAutoMergeEnabled struct {
1055	state protoimpl.MessageState `protogen:"open.v1"`
1056	// MergeRequest is the merge request, with auto_merge set.
1057	MergeRequest  *MergeRequest `protobuf:"bytes,1,opt,name=merge_request,json=mergeRequest,proto3" json:"merge_request,omitempty"`
1058	unknownFields protoimpl.UnknownFields
1059	sizeCache     protoimpl.SizeCache
1060}
1061
1062func (x *MergeRequestAutoMergeEnabled) Reset() {
1063	*x = MergeRequestAutoMergeEnabled{}
1064	mi := &file_ermite_event_proto_msgTypes[10]
1065	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1066	ms.StoreMessageInfo(mi)
1067}
1068
1069func (x *MergeRequestAutoMergeEnabled) String() string {
1070	return protoimpl.X.MessageStringOf(x)
1071}
1072
1073func (*MergeRequestAutoMergeEnabled) ProtoMessage() {}
1074
1075func (x *MergeRequestAutoMergeEnabled) ProtoReflect() protoreflect.Message {
1076	mi := &file_ermite_event_proto_msgTypes[10]
1077	if x != nil {
1078		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1079		if ms.LoadMessageInfo() == nil {
1080			ms.StoreMessageInfo(mi)
1081		}
1082		return ms
1083	}
1084	return mi.MessageOf(x)
1085}
1086
1087// Deprecated: Use MergeRequestAutoMergeEnabled.ProtoReflect.Descriptor instead.
1088func (*MergeRequestAutoMergeEnabled) Descriptor() ([]byte, []int) {
1089	return file_ermite_event_proto_rawDescGZIP(), []int{10}
1090}
1091
1092func (x *MergeRequestAutoMergeEnabled) GetMergeRequest() *MergeRequest {
1093	if x != nil {
1094		return x.MergeRequest
1095	}
1096	return nil
1097}
1098
1099// MergeRequestAutoMergeCancelled reports the auto-merge of a merge request
1100// cancelled, by a caller or by the server.
1101type MergeRequestAutoMergeCancelled struct {
1102	state protoimpl.MessageState `protogen:"open.v1"`
1103	// MergeRequest is the merge request, with auto_merge unset.
1104	MergeRequest *MergeRequest `protobuf:"bytes,1,opt,name=merge_request,json=mergeRequest,proto3" json:"merge_request,omitempty"`
1105	// Reason says in one line why it was cancelled. For display only.
1106	Reason        string `protobuf:"bytes,2,opt,name=reason,proto3" json:"reason,omitempty"`
1107	unknownFields protoimpl.UnknownFields
1108	sizeCache     protoimpl.SizeCache
1109}
1110
1111func (x *MergeRequestAutoMergeCancelled) Reset() {
1112	*x = MergeRequestAutoMergeCancelled{}
1113	mi := &file_ermite_event_proto_msgTypes[11]
1114	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1115	ms.StoreMessageInfo(mi)
1116}
1117
1118func (x *MergeRequestAutoMergeCancelled) String() string {
1119	return protoimpl.X.MessageStringOf(x)
1120}
1121
1122func (*MergeRequestAutoMergeCancelled) ProtoMessage() {}
1123
1124func (x *MergeRequestAutoMergeCancelled) ProtoReflect() protoreflect.Message {
1125	mi := &file_ermite_event_proto_msgTypes[11]
1126	if x != nil {
1127		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1128		if ms.LoadMessageInfo() == nil {
1129			ms.StoreMessageInfo(mi)
1130		}
1131		return ms
1132	}
1133	return mi.MessageOf(x)
1134}
1135
1136// Deprecated: Use MergeRequestAutoMergeCancelled.ProtoReflect.Descriptor instead.
1137func (*MergeRequestAutoMergeCancelled) Descriptor() ([]byte, []int) {
1138	return file_ermite_event_proto_rawDescGZIP(), []int{11}
1139}
1140
1141func (x *MergeRequestAutoMergeCancelled) GetMergeRequest() *MergeRequest {
1142	if x != nil {
1143		return x.MergeRequest
1144	}
1145	return nil
1146}
1147
1148func (x *MergeRequestAutoMergeCancelled) GetReason() string {
1149	if x != nil {
1150		return x.Reason
1151	}
1152	return ""
1153}
1154
1155// MergeRequestMergeability reports the mergeability of an open merge request.
1156// It is published each time the server settles a result for new tips of the
1157// source or target branch, so the state may be the same as the previous
1158// event's. A push that moves neither branch publishes nothing.
1159type MergeRequestMergeability struct {
1160	state protoimpl.MessageState `protogen:"open.v1"`
1161	// Repo is the name of the repository.
1162	Repo string `protobuf:"bytes,1,opt,name=repo,proto3" json:"repo,omitempty"`
1163	// Number is the number of the merge request.
1164	Number int64 `protobuf:"varint,2,opt,name=number,proto3" json:"number,omitempty"`
1165	// Mergeability is the new result.
1166	Mergeability  *Mergeability `protobuf:"bytes,3,opt,name=mergeability,proto3" json:"mergeability,omitempty"`
1167	unknownFields protoimpl.UnknownFields
1168	sizeCache     protoimpl.SizeCache
1169}
1170
1171func (x *MergeRequestMergeability) Reset() {
1172	*x = MergeRequestMergeability{}
1173	mi := &file_ermite_event_proto_msgTypes[12]
1174	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1175	ms.StoreMessageInfo(mi)
1176}
1177
1178func (x *MergeRequestMergeability) String() string {
1179	return protoimpl.X.MessageStringOf(x)
1180}
1181
1182func (*MergeRequestMergeability) ProtoMessage() {}
1183
1184func (x *MergeRequestMergeability) ProtoReflect() protoreflect.Message {
1185	mi := &file_ermite_event_proto_msgTypes[12]
1186	if x != nil {
1187		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1188		if ms.LoadMessageInfo() == nil {
1189			ms.StoreMessageInfo(mi)
1190		}
1191		return ms
1192	}
1193	return mi.MessageOf(x)
1194}
1195
1196// Deprecated: Use MergeRequestMergeability.ProtoReflect.Descriptor instead.
1197func (*MergeRequestMergeability) Descriptor() ([]byte, []int) {
1198	return file_ermite_event_proto_rawDescGZIP(), []int{12}
1199}
1200
1201func (x *MergeRequestMergeability) GetRepo() string {
1202	if x != nil {
1203		return x.Repo
1204	}
1205	return ""
1206}
1207
1208func (x *MergeRequestMergeability) GetNumber() int64 {
1209	if x != nil {
1210		return x.Number
1211	}
1212	return 0
1213}
1214
1215func (x *MergeRequestMergeability) GetMergeability() *Mergeability {
1216	if x != nil {
1217		return x.Mergeability
1218	}
1219	return nil
1220}
1221
1222// MergeRequestClosed reports a merge request closed without merging.
1223type MergeRequestClosed struct {
1224	state protoimpl.MessageState `protogen:"open.v1"`
1225	// MergeRequest is the merge request after closing.
1226	MergeRequest  *MergeRequest `protobuf:"bytes,1,opt,name=merge_request,json=mergeRequest,proto3" json:"merge_request,omitempty"`
1227	unknownFields protoimpl.UnknownFields
1228	sizeCache     protoimpl.SizeCache
1229}
1230
1231func (x *MergeRequestClosed) Reset() {
1232	*x = MergeRequestClosed{}
1233	mi := &file_ermite_event_proto_msgTypes[13]
1234	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1235	ms.StoreMessageInfo(mi)
1236}
1237
1238func (x *MergeRequestClosed) String() string {
1239	return protoimpl.X.MessageStringOf(x)
1240}
1241
1242func (*MergeRequestClosed) ProtoMessage() {}
1243
1244func (x *MergeRequestClosed) ProtoReflect() protoreflect.Message {
1245	mi := &file_ermite_event_proto_msgTypes[13]
1246	if x != nil {
1247		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1248		if ms.LoadMessageInfo() == nil {
1249			ms.StoreMessageInfo(mi)
1250		}
1251		return ms
1252	}
1253	return mi.MessageOf(x)
1254}
1255
1256// Deprecated: Use MergeRequestClosed.ProtoReflect.Descriptor instead.
1257func (*MergeRequestClosed) Descriptor() ([]byte, []int) {
1258	return file_ermite_event_proto_rawDescGZIP(), []int{13}
1259}
1260
1261func (x *MergeRequestClosed) GetMergeRequest() *MergeRequest {
1262	if x != nil {
1263		return x.MergeRequest
1264	}
1265	return nil
1266}
1267
1268// CommentAdded reports a new comment on a merge request.
1269type CommentAdded struct {
1270	state protoimpl.MessageState `protogen:"open.v1"`
1271	// Repo is the name of the repository.
1272	Repo string `protobuf:"bytes,1,opt,name=repo,proto3" json:"repo,omitempty"`
1273	// Number is the number of the merge request.
1274	Number int64 `protobuf:"varint,2,opt,name=number,proto3" json:"number,omitempty"`
1275	// Comment is the new comment.
1276	Comment       *Comment `protobuf:"bytes,3,opt,name=comment,proto3" json:"comment,omitempty"`
1277	unknownFields protoimpl.UnknownFields
1278	sizeCache     protoimpl.SizeCache
1279}
1280
1281func (x *CommentAdded) Reset() {
1282	*x = CommentAdded{}
1283	mi := &file_ermite_event_proto_msgTypes[14]
1284	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1285	ms.StoreMessageInfo(mi)
1286}
1287
1288func (x *CommentAdded) String() string {
1289	return protoimpl.X.MessageStringOf(x)
1290}
1291
1292func (*CommentAdded) ProtoMessage() {}
1293
1294func (x *CommentAdded) ProtoReflect() protoreflect.Message {
1295	mi := &file_ermite_event_proto_msgTypes[14]
1296	if x != nil {
1297		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1298		if ms.LoadMessageInfo() == nil {
1299			ms.StoreMessageInfo(mi)
1300		}
1301		return ms
1302	}
1303	return mi.MessageOf(x)
1304}
1305
1306// Deprecated: Use CommentAdded.ProtoReflect.Descriptor instead.
1307func (*CommentAdded) Descriptor() ([]byte, []int) {
1308	return file_ermite_event_proto_rawDescGZIP(), []int{14}
1309}
1310
1311func (x *CommentAdded) GetRepo() string {
1312	if x != nil {
1313		return x.Repo
1314	}
1315	return ""
1316}
1317
1318func (x *CommentAdded) GetNumber() int64 {
1319	if x != nil {
1320		return x.Number
1321	}
1322	return 0
1323}
1324
1325func (x *CommentAdded) GetComment() *Comment {
1326	if x != nil {
1327		return x.Comment
1328	}
1329	return nil
1330}
1331
1332// CommentEdited reports a comment of a merge request whose text was changed.
1333type CommentEdited struct {
1334	state protoimpl.MessageState `protogen:"open.v1"`
1335	// Repo is the name of the repository.
1336	Repo string `protobuf:"bytes,1,opt,name=repo,proto3" json:"repo,omitempty"`
1337	// Number is the number of the merge request.
1338	Number int64 `protobuf:"varint,2,opt,name=number,proto3" json:"number,omitempty"`
1339	// Comment is the comment after the edit.
1340	Comment       *Comment `protobuf:"bytes,3,opt,name=comment,proto3" json:"comment,omitempty"`
1341	unknownFields protoimpl.UnknownFields
1342	sizeCache     protoimpl.SizeCache
1343}
1344
1345func (x *CommentEdited) Reset() {
1346	*x = CommentEdited{}
1347	mi := &file_ermite_event_proto_msgTypes[15]
1348	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1349	ms.StoreMessageInfo(mi)
1350}
1351
1352func (x *CommentEdited) String() string {
1353	return protoimpl.X.MessageStringOf(x)
1354}
1355
1356func (*CommentEdited) ProtoMessage() {}
1357
1358func (x *CommentEdited) ProtoReflect() protoreflect.Message {
1359	mi := &file_ermite_event_proto_msgTypes[15]
1360	if x != nil {
1361		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1362		if ms.LoadMessageInfo() == nil {
1363			ms.StoreMessageInfo(mi)
1364		}
1365		return ms
1366	}
1367	return mi.MessageOf(x)
1368}
1369
1370// Deprecated: Use CommentEdited.ProtoReflect.Descriptor instead.
1371func (*CommentEdited) Descriptor() ([]byte, []int) {
1372	return file_ermite_event_proto_rawDescGZIP(), []int{15}
1373}
1374
1375func (x *CommentEdited) GetRepo() string {
1376	if x != nil {
1377		return x.Repo
1378	}
1379	return ""
1380}
1381
1382func (x *CommentEdited) GetNumber() int64 {
1383	if x != nil {
1384		return x.Number
1385	}
1386	return 0
1387}
1388
1389func (x *CommentEdited) GetComment() *Comment {
1390	if x != nil {
1391		return x.Comment
1392	}
1393	return nil
1394}
1395
1396// CommentDeleted reports a comment of a merge request that was deleted. The
1397// comment stays in the thread with deleted set and an empty text.
1398type CommentDeleted struct {
1399	state protoimpl.MessageState `protogen:"open.v1"`
1400	// Repo is the name of the repository.
1401	Repo string `protobuf:"bytes,1,opt,name=repo,proto3" json:"repo,omitempty"`
1402	// Number is the number of the merge request.
1403	Number int64 `protobuf:"varint,2,opt,name=number,proto3" json:"number,omitempty"`
1404	// Comment is the comment after the deletion.
1405	Comment       *Comment `protobuf:"bytes,3,opt,name=comment,proto3" json:"comment,omitempty"`
1406	unknownFields protoimpl.UnknownFields
1407	sizeCache     protoimpl.SizeCache
1408}
1409
1410func (x *CommentDeleted) Reset() {
1411	*x = CommentDeleted{}
1412	mi := &file_ermite_event_proto_msgTypes[16]
1413	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1414	ms.StoreMessageInfo(mi)
1415}
1416
1417func (x *CommentDeleted) String() string {
1418	return protoimpl.X.MessageStringOf(x)
1419}
1420
1421func (*CommentDeleted) ProtoMessage() {}
1422
1423func (x *CommentDeleted) ProtoReflect() protoreflect.Message {
1424	mi := &file_ermite_event_proto_msgTypes[16]
1425	if x != nil {
1426		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1427		if ms.LoadMessageInfo() == nil {
1428			ms.StoreMessageInfo(mi)
1429		}
1430		return ms
1431	}
1432	return mi.MessageOf(x)
1433}
1434
1435// Deprecated: Use CommentDeleted.ProtoReflect.Descriptor instead.
1436func (*CommentDeleted) Descriptor() ([]byte, []int) {
1437	return file_ermite_event_proto_rawDescGZIP(), []int{16}
1438}
1439
1440func (x *CommentDeleted) GetRepo() string {
1441	if x != nil {
1442		return x.Repo
1443	}
1444	return ""
1445}
1446
1447func (x *CommentDeleted) GetNumber() int64 {
1448	if x != nil {
1449		return x.Number
1450	}
1451	return 0
1452}
1453
1454func (x *CommentDeleted) GetComment() *Comment {
1455	if x != nil {
1456		return x.Comment
1457	}
1458	return nil
1459}
1460
1461// CommentResolved reports a comment of a merge request whose resolved state
1462// changed.
1463type CommentResolved struct {
1464	state protoimpl.MessageState `protogen:"open.v1"`
1465	// Repo is the name of the repository.
1466	Repo string `protobuf:"bytes,1,opt,name=repo,proto3" json:"repo,omitempty"`
1467	// Number is the number of the merge request.
1468	Number int64 `protobuf:"varint,2,opt,name=number,proto3" json:"number,omitempty"`
1469	// Comment is the comment after the change.
1470	Comment       *Comment `protobuf:"bytes,3,opt,name=comment,proto3" json:"comment,omitempty"`
1471	unknownFields protoimpl.UnknownFields
1472	sizeCache     protoimpl.SizeCache
1473}
1474
1475func (x *CommentResolved) Reset() {
1476	*x = CommentResolved{}
1477	mi := &file_ermite_event_proto_msgTypes[17]
1478	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1479	ms.StoreMessageInfo(mi)
1480}
1481
1482func (x *CommentResolved) String() string {
1483	return protoimpl.X.MessageStringOf(x)
1484}
1485
1486func (*CommentResolved) ProtoMessage() {}
1487
1488func (x *CommentResolved) ProtoReflect() protoreflect.Message {
1489	mi := &file_ermite_event_proto_msgTypes[17]
1490	if x != nil {
1491		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1492		if ms.LoadMessageInfo() == nil {
1493			ms.StoreMessageInfo(mi)
1494		}
1495		return ms
1496	}
1497	return mi.MessageOf(x)
1498}
1499
1500// Deprecated: Use CommentResolved.ProtoReflect.Descriptor instead.
1501func (*CommentResolved) Descriptor() ([]byte, []int) {
1502	return file_ermite_event_proto_rawDescGZIP(), []int{17}
1503}
1504
1505func (x *CommentResolved) GetRepo() string {
1506	if x != nil {
1507		return x.Repo
1508	}
1509	return ""
1510}
1511
1512func (x *CommentResolved) GetNumber() int64 {
1513	if x != nil {
1514		return x.Number
1515	}
1516	return 0
1517}
1518
1519func (x *CommentResolved) GetComment() *Comment {
1520	if x != nil {
1521		return x.Comment
1522	}
1523	return nil
1524}
1525
1526// IssueOpened reports a new issue.
1527type IssueOpened struct {
1528	state protoimpl.MessageState `protogen:"open.v1"`
1529	// Issue is the new issue, including its repository and number.
1530	Issue         *Issue `protobuf:"bytes,1,opt,name=issue,proto3" json:"issue,omitempty"`
1531	unknownFields protoimpl.UnknownFields
1532	sizeCache     protoimpl.SizeCache
1533}
1534
1535func (x *IssueOpened) Reset() {
1536	*x = IssueOpened{}
1537	mi := &file_ermite_event_proto_msgTypes[18]
1538	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1539	ms.StoreMessageInfo(mi)
1540}
1541
1542func (x *IssueOpened) String() string {
1543	return protoimpl.X.MessageStringOf(x)
1544}
1545
1546func (*IssueOpened) ProtoMessage() {}
1547
1548func (x *IssueOpened) ProtoReflect() protoreflect.Message {
1549	mi := &file_ermite_event_proto_msgTypes[18]
1550	if x != nil {
1551		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1552		if ms.LoadMessageInfo() == nil {
1553			ms.StoreMessageInfo(mi)
1554		}
1555		return ms
1556	}
1557	return mi.MessageOf(x)
1558}
1559
1560// Deprecated: Use IssueOpened.ProtoReflect.Descriptor instead.
1561func (*IssueOpened) Descriptor() ([]byte, []int) {
1562	return file_ermite_event_proto_rawDescGZIP(), []int{18}
1563}
1564
1565func (x *IssueOpened) GetIssue() *Issue {
1566	if x != nil {
1567		return x.Issue
1568	}
1569	return nil
1570}
1571
1572// IssueClosed reports a closed issue.
1573type IssueClosed struct {
1574	state protoimpl.MessageState `protogen:"open.v1"`
1575	// Issue is the issue after closing, including its repository and number.
1576	Issue         *Issue `protobuf:"bytes,1,opt,name=issue,proto3" json:"issue,omitempty"`
1577	unknownFields protoimpl.UnknownFields
1578	sizeCache     protoimpl.SizeCache
1579}
1580
1581func (x *IssueClosed) Reset() {
1582	*x = IssueClosed{}
1583	mi := &file_ermite_event_proto_msgTypes[19]
1584	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1585	ms.StoreMessageInfo(mi)
1586}
1587
1588func (x *IssueClosed) String() string {
1589	return protoimpl.X.MessageStringOf(x)
1590}
1591
1592func (*IssueClosed) ProtoMessage() {}
1593
1594func (x *IssueClosed) ProtoReflect() protoreflect.Message {
1595	mi := &file_ermite_event_proto_msgTypes[19]
1596	if x != nil {
1597		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1598		if ms.LoadMessageInfo() == nil {
1599			ms.StoreMessageInfo(mi)
1600		}
1601		return ms
1602	}
1603	return mi.MessageOf(x)
1604}
1605
1606// Deprecated: Use IssueClosed.ProtoReflect.Descriptor instead.
1607func (*IssueClosed) Descriptor() ([]byte, []int) {
1608	return file_ermite_event_proto_rawDescGZIP(), []int{19}
1609}
1610
1611func (x *IssueClosed) GetIssue() *Issue {
1612	if x != nil {
1613		return x.Issue
1614	}
1615	return nil
1616}
1617
1618// IssueReopened reports a reopened issue.
1619type IssueReopened struct {
1620	state protoimpl.MessageState `protogen:"open.v1"`
1621	// Issue is the issue after reopening, including its repository and number.
1622	Issue         *Issue `protobuf:"bytes,1,opt,name=issue,proto3" json:"issue,omitempty"`
1623	unknownFields protoimpl.UnknownFields
1624	sizeCache     protoimpl.SizeCache
1625}
1626
1627func (x *IssueReopened) Reset() {
1628	*x = IssueReopened{}
1629	mi := &file_ermite_event_proto_msgTypes[20]
1630	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1631	ms.StoreMessageInfo(mi)
1632}
1633
1634func (x *IssueReopened) String() string {
1635	return protoimpl.X.MessageStringOf(x)
1636}
1637
1638func (*IssueReopened) ProtoMessage() {}
1639
1640func (x *IssueReopened) ProtoReflect() protoreflect.Message {
1641	mi := &file_ermite_event_proto_msgTypes[20]
1642	if x != nil {
1643		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1644		if ms.LoadMessageInfo() == nil {
1645			ms.StoreMessageInfo(mi)
1646		}
1647		return ms
1648	}
1649	return mi.MessageOf(x)
1650}
1651
1652// Deprecated: Use IssueReopened.ProtoReflect.Descriptor instead.
1653func (*IssueReopened) Descriptor() ([]byte, []int) {
1654	return file_ermite_event_proto_rawDescGZIP(), []int{20}
1655}
1656
1657func (x *IssueReopened) GetIssue() *Issue {
1658	if x != nil {
1659		return x.Issue
1660	}
1661	return nil
1662}
1663
1664// IssueCommented reports a new comment on an issue.
1665type IssueCommented struct {
1666	state protoimpl.MessageState `protogen:"open.v1"`
1667	// Repo is the name of the repository.
1668	Repo string `protobuf:"bytes,1,opt,name=repo,proto3" json:"repo,omitempty"`
1669	// Number is the number of the issue.
1670	Number int64 `protobuf:"varint,2,opt,name=number,proto3" json:"number,omitempty"`
1671	// Comment is the new comment.
1672	Comment       *IssueComment `protobuf:"bytes,3,opt,name=comment,proto3" json:"comment,omitempty"`
1673	unknownFields protoimpl.UnknownFields
1674	sizeCache     protoimpl.SizeCache
1675}
1676
1677func (x *IssueCommented) Reset() {
1678	*x = IssueCommented{}
1679	mi := &file_ermite_event_proto_msgTypes[21]
1680	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1681	ms.StoreMessageInfo(mi)
1682}
1683
1684func (x *IssueCommented) String() string {
1685	return protoimpl.X.MessageStringOf(x)
1686}
1687
1688func (*IssueCommented) ProtoMessage() {}
1689
1690func (x *IssueCommented) ProtoReflect() protoreflect.Message {
1691	mi := &file_ermite_event_proto_msgTypes[21]
1692	if x != nil {
1693		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1694		if ms.LoadMessageInfo() == nil {
1695			ms.StoreMessageInfo(mi)
1696		}
1697		return ms
1698	}
1699	return mi.MessageOf(x)
1700}
1701
1702// Deprecated: Use IssueCommented.ProtoReflect.Descriptor instead.
1703func (*IssueCommented) Descriptor() ([]byte, []int) {
1704	return file_ermite_event_proto_rawDescGZIP(), []int{21}
1705}
1706
1707func (x *IssueCommented) GetRepo() string {
1708	if x != nil {
1709		return x.Repo
1710	}
1711	return ""
1712}
1713
1714func (x *IssueCommented) GetNumber() int64 {
1715	if x != nil {
1716		return x.Number
1717	}
1718	return 0
1719}
1720
1721func (x *IssueCommented) GetComment() *IssueComment {
1722	if x != nil {
1723		return x.Comment
1724	}
1725	return nil
1726}
1727
1728// IssueSubmitted reports an issue awaiting moderation. It is delivered only
1729// on the "owner" topic, never on "home" or "repo:<name>". It carries no title or body: content never travels in
1730// events, read it with IssueService.ListPendingIssues.
1731type IssueSubmitted struct {
1732	state protoimpl.MessageState `protogen:"open.v1"`
1733	// Repo is the name of the repository.
1734	Repo string `protobuf:"bytes,1,opt,name=repo,proto3" json:"repo,omitempty"`
1735	// Id is the PendingIssue.id.
1736	Id            string `protobuf:"bytes,2,opt,name=id,proto3" json:"id,omitempty"`
1737	unknownFields protoimpl.UnknownFields
1738	sizeCache     protoimpl.SizeCache
1739}
1740
1741func (x *IssueSubmitted) Reset() {
1742	*x = IssueSubmitted{}
1743	mi := &file_ermite_event_proto_msgTypes[22]
1744	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1745	ms.StoreMessageInfo(mi)
1746}
1747
1748func (x *IssueSubmitted) String() string {
1749	return protoimpl.X.MessageStringOf(x)
1750}
1751
1752func (*IssueSubmitted) ProtoMessage() {}
1753
1754func (x *IssueSubmitted) ProtoReflect() protoreflect.Message {
1755	mi := &file_ermite_event_proto_msgTypes[22]
1756	if x != nil {
1757		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1758		if ms.LoadMessageInfo() == nil {
1759			ms.StoreMessageInfo(mi)
1760		}
1761		return ms
1762	}
1763	return mi.MessageOf(x)
1764}
1765
1766// Deprecated: Use IssueSubmitted.ProtoReflect.Descriptor instead.
1767func (*IssueSubmitted) Descriptor() ([]byte, []int) {
1768	return file_ermite_event_proto_rawDescGZIP(), []int{22}
1769}
1770
1771func (x *IssueSubmitted) GetRepo() string {
1772	if x != nil {
1773		return x.Repo
1774	}
1775	return ""
1776}
1777
1778func (x *IssueSubmitted) GetId() string {
1779	if x != nil {
1780		return x.Id
1781	}
1782	return ""
1783}
1784
1785// Gap tells the client that events were lost: the requested resume point is
1786// older than the server's buffer. It has no fields. The client should reload
1787// the state it displays (repositories, refs, merge requests and their
1788// comments, issues and their comments, CI runs and their jobs) and carry on
1789// with the next events.
1790type Gap struct {
1791	state         protoimpl.MessageState `protogen:"open.v1"`
1792	unknownFields protoimpl.UnknownFields
1793	sizeCache     protoimpl.SizeCache
1794}
1795
1796func (x *Gap) Reset() {
1797	*x = Gap{}
1798	mi := &file_ermite_event_proto_msgTypes[23]
1799	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1800	ms.StoreMessageInfo(mi)
1801}
1802
1803func (x *Gap) String() string {
1804	return protoimpl.X.MessageStringOf(x)
1805}
1806
1807func (*Gap) ProtoMessage() {}
1808
1809func (x *Gap) ProtoReflect() protoreflect.Message {
1810	mi := &file_ermite_event_proto_msgTypes[23]
1811	if x != nil {
1812		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1813		if ms.LoadMessageInfo() == nil {
1814			ms.StoreMessageInfo(mi)
1815		}
1816		return ms
1817	}
1818	return mi.MessageOf(x)
1819}
1820
1821// Deprecated: Use Gap.ProtoReflect.Descriptor instead.
1822func (*Gap) Descriptor() ([]byte, []int) {
1823	return file_ermite_event_proto_rawDescGZIP(), []int{23}
1824}
1825
1826// RunUpdated reports a CI run that was created or whose status, conclusion or
1827// timestamps changed. It is delivered on the "repo:<name>" topic only.
1828type RunUpdated struct {
1829	state protoimpl.MessageState `protogen:"open.v1"`
1830	// Run is the run after the change, as of its latest attempt, without jobs.
1831	Run           *Run `protobuf:"bytes,1,opt,name=run,proto3" json:"run,omitempty"`
1832	unknownFields protoimpl.UnknownFields
1833	sizeCache     protoimpl.SizeCache
1834}
1835
1836func (x *RunUpdated) Reset() {
1837	*x = RunUpdated{}
1838	mi := &file_ermite_event_proto_msgTypes[24]
1839	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1840	ms.StoreMessageInfo(mi)
1841}
1842
1843func (x *RunUpdated) String() string {
1844	return protoimpl.X.MessageStringOf(x)
1845}
1846
1847func (*RunUpdated) ProtoMessage() {}
1848
1849func (x *RunUpdated) ProtoReflect() protoreflect.Message {
1850	mi := &file_ermite_event_proto_msgTypes[24]
1851	if x != nil {
1852		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1853		if ms.LoadMessageInfo() == nil {
1854			ms.StoreMessageInfo(mi)
1855		}
1856		return ms
1857	}
1858	return mi.MessageOf(x)
1859}
1860
1861// Deprecated: Use RunUpdated.ProtoReflect.Descriptor instead.
1862func (*RunUpdated) Descriptor() ([]byte, []int) {
1863	return file_ermite_event_proto_rawDescGZIP(), []int{24}
1864}
1865
1866func (x *RunUpdated) GetRun() *Run {
1867	if x != nil {
1868		return x.Run
1869	}
1870	return nil
1871}
1872
1873// JobUpdated reports a CI job that was created or whose status, conclusion,
1874// runner or steps changed. It is delivered on the "repo:<name>" topic only.
1875type JobUpdated struct {
1876	state protoimpl.MessageState `protogen:"open.v1"`
1877	// Job is the job after the change, with its steps.
1878	Job           *RunJob `protobuf:"bytes,1,opt,name=job,proto3" json:"job,omitempty"`
1879	unknownFields protoimpl.UnknownFields
1880	sizeCache     protoimpl.SizeCache
1881}
1882
1883func (x *JobUpdated) Reset() {
1884	*x = JobUpdated{}
1885	mi := &file_ermite_event_proto_msgTypes[25]
1886	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1887	ms.StoreMessageInfo(mi)
1888}
1889
1890func (x *JobUpdated) String() string {
1891	return protoimpl.X.MessageStringOf(x)
1892}
1893
1894func (*JobUpdated) ProtoMessage() {}
1895
1896func (x *JobUpdated) ProtoReflect() protoreflect.Message {
1897	mi := &file_ermite_event_proto_msgTypes[25]
1898	if x != nil {
1899		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1900		if ms.LoadMessageInfo() == nil {
1901			ms.StoreMessageInfo(mi)
1902		}
1903		return ms
1904	}
1905	return mi.MessageOf(x)
1906}
1907
1908// Deprecated: Use JobUpdated.ProtoReflect.Descriptor instead.
1909func (*JobUpdated) Descriptor() ([]byte, []int) {
1910	return file_ermite_event_proto_rawDescGZIP(), []int{25}
1911}
1912
1913func (x *JobUpdated) GetJob() *RunJob {
1914	if x != nil {
1915		return x.Job
1916	}
1917	return nil
1918}
1919
1920// MirrorFailed reports the start of a failure incident: a transition from ok
1921// or disabled into failing or paused. It is sent once per incident, not for
1922// each failed attempt nor for failing to paused. Servers with feature "mirror"
1923// deliver it on "repo:<name>" and "home", subject to repository visibility. It
1924// carries no URL, reason or error detail; read the status for those.
1925type MirrorFailed struct {
1926	state protoimpl.MessageState `protogen:"open.v1"`
1927	// Repo is the repository name.
1928	Repo string `protobuf:"bytes,1,opt,name=repo,proto3" json:"repo,omitempty"`
1929	// State is the new mirror state.
1930	State MirrorState `protobuf:"varint,2,opt,name=state,proto3,enum=ermite.MirrorState" json:"state,omitempty"`
1931	// FailureClass is the failure category.
1932	FailureClass  string `protobuf:"bytes,3,opt,name=failure_class,json=failureClass,proto3" json:"failure_class,omitempty"`
1933	unknownFields protoimpl.UnknownFields
1934	sizeCache     protoimpl.SizeCache
1935}
1936
1937func (x *MirrorFailed) Reset() {
1938	*x = MirrorFailed{}
1939	mi := &file_ermite_event_proto_msgTypes[26]
1940	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1941	ms.StoreMessageInfo(mi)
1942}
1943
1944func (x *MirrorFailed) String() string {
1945	return protoimpl.X.MessageStringOf(x)
1946}
1947
1948func (*MirrorFailed) ProtoMessage() {}
1949
1950func (x *MirrorFailed) ProtoReflect() protoreflect.Message {
1951	mi := &file_ermite_event_proto_msgTypes[26]
1952	if x != nil {
1953		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1954		if ms.LoadMessageInfo() == nil {
1955			ms.StoreMessageInfo(mi)
1956		}
1957		return ms
1958	}
1959	return mi.MessageOf(x)
1960}
1961
1962// Deprecated: Use MirrorFailed.ProtoReflect.Descriptor instead.
1963func (*MirrorFailed) Descriptor() ([]byte, []int) {
1964	return file_ermite_event_proto_rawDescGZIP(), []int{26}
1965}
1966
1967func (x *MirrorFailed) GetRepo() string {
1968	if x != nil {
1969		return x.Repo
1970	}
1971	return ""
1972}
1973
1974func (x *MirrorFailed) GetState() MirrorState {
1975	if x != nil {
1976		return x.State
1977	}
1978	return MirrorState_MIRROR_STATE_UNSPECIFIED
1979}
1980
1981func (x *MirrorFailed) GetFailureClass() string {
1982	if x != nil {
1983		return x.FailureClass
1984	}
1985	return ""
1986}
1987
1988// MirrorRecovered reports a successful sync after failing or paused. Delivery
1989// follows MirrorFailed. It carries no URL or error detail.
1990type MirrorRecovered struct {
1991	state protoimpl.MessageState `protogen:"open.v1"`
1992	// Repo is the repository name.
1993	Repo          string `protobuf:"bytes,1,opt,name=repo,proto3" json:"repo,omitempty"`
1994	unknownFields protoimpl.UnknownFields
1995	sizeCache     protoimpl.SizeCache
1996}
1997
1998func (x *MirrorRecovered) Reset() {
1999	*x = MirrorRecovered{}
2000	mi := &file_ermite_event_proto_msgTypes[27]
2001	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2002	ms.StoreMessageInfo(mi)
2003}
2004
2005func (x *MirrorRecovered) String() string {
2006	return protoimpl.X.MessageStringOf(x)
2007}
2008
2009func (*MirrorRecovered) ProtoMessage() {}
2010
2011func (x *MirrorRecovered) ProtoReflect() protoreflect.Message {
2012	mi := &file_ermite_event_proto_msgTypes[27]
2013	if x != nil {
2014		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2015		if ms.LoadMessageInfo() == nil {
2016			ms.StoreMessageInfo(mi)
2017		}
2018		return ms
2019	}
2020	return mi.MessageOf(x)
2021}
2022
2023// Deprecated: Use MirrorRecovered.ProtoReflect.Descriptor instead.
2024func (*MirrorRecovered) Descriptor() ([]byte, []int) {
2025	return file_ermite_event_proto_rawDescGZIP(), []int{27}
2026}
2027
2028func (x *MirrorRecovered) GetRepo() string {
2029	if x != nil {
2030		return x.Repo
2031	}
2032	return ""
2033}
2034
2035// ReleasePublished reports a release change on repo:<name> and home topics.
2036type ReleasePublished struct {
2037	state         protoimpl.MessageState `protogen:"open.v1"`
2038	Repo          string                 `protobuf:"bytes,1,opt,name=repo,proto3" json:"repo,omitempty"`
2039	Id            int64                  `protobuf:"varint,2,opt,name=id,proto3" json:"id,omitempty"`
2040	Tag           string                 `protobuf:"bytes,3,opt,name=tag,proto3" json:"tag,omitempty"`
2041	Draft         bool                   `protobuf:"varint,4,opt,name=draft,proto3" json:"draft,omitempty"`
2042	Prerelease    bool                   `protobuf:"varint,5,opt,name=prerelease,proto3" json:"prerelease,omitempty"`
2043	unknownFields protoimpl.UnknownFields
2044	sizeCache     protoimpl.SizeCache
2045}
2046
2047func (x *ReleasePublished) Reset() {
2048	*x = ReleasePublished{}
2049	mi := &file_ermite_event_proto_msgTypes[28]
2050	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2051	ms.StoreMessageInfo(mi)
2052}
2053
2054func (x *ReleasePublished) String() string {
2055	return protoimpl.X.MessageStringOf(x)
2056}
2057
2058func (*ReleasePublished) ProtoMessage() {}
2059
2060func (x *ReleasePublished) ProtoReflect() protoreflect.Message {
2061	mi := &file_ermite_event_proto_msgTypes[28]
2062	if x != nil {
2063		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2064		if ms.LoadMessageInfo() == nil {
2065			ms.StoreMessageInfo(mi)
2066		}
2067		return ms
2068	}
2069	return mi.MessageOf(x)
2070}
2071
2072// Deprecated: Use ReleasePublished.ProtoReflect.Descriptor instead.
2073func (*ReleasePublished) Descriptor() ([]byte, []int) {
2074	return file_ermite_event_proto_rawDescGZIP(), []int{28}
2075}
2076
2077func (x *ReleasePublished) GetRepo() string {
2078	if x != nil {
2079		return x.Repo
2080	}
2081	return ""
2082}
2083
2084func (x *ReleasePublished) GetId() int64 {
2085	if x != nil {
2086		return x.Id
2087	}
2088	return 0
2089}
2090
2091func (x *ReleasePublished) GetTag() string {
2092	if x != nil {
2093		return x.Tag
2094	}
2095	return ""
2096}
2097
2098func (x *ReleasePublished) GetDraft() bool {
2099	if x != nil {
2100		return x.Draft
2101	}
2102	return false
2103}
2104
2105func (x *ReleasePublished) GetPrerelease() bool {
2106	if x != nil {
2107		return x.Prerelease
2108	}
2109	return false
2110}
2111
2112// ReleaseUpdated reports a release change on repo:<name> and home topics.
2113type ReleaseUpdated struct {
2114	state         protoimpl.MessageState `protogen:"open.v1"`
2115	Repo          string                 `protobuf:"bytes,1,opt,name=repo,proto3" json:"repo,omitempty"`
2116	Id            int64                  `protobuf:"varint,2,opt,name=id,proto3" json:"id,omitempty"`
2117	Tag           string                 `protobuf:"bytes,3,opt,name=tag,proto3" json:"tag,omitempty"`
2118	Draft         bool                   `protobuf:"varint,4,opt,name=draft,proto3" json:"draft,omitempty"`
2119	Prerelease    bool                   `protobuf:"varint,5,opt,name=prerelease,proto3" json:"prerelease,omitempty"`
2120	unknownFields protoimpl.UnknownFields
2121	sizeCache     protoimpl.SizeCache
2122}
2123
2124func (x *ReleaseUpdated) Reset() {
2125	*x = ReleaseUpdated{}
2126	mi := &file_ermite_event_proto_msgTypes[29]
2127	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2128	ms.StoreMessageInfo(mi)
2129}
2130
2131func (x *ReleaseUpdated) String() string {
2132	return protoimpl.X.MessageStringOf(x)
2133}
2134
2135func (*ReleaseUpdated) ProtoMessage() {}
2136
2137func (x *ReleaseUpdated) ProtoReflect() protoreflect.Message {
2138	mi := &file_ermite_event_proto_msgTypes[29]
2139	if x != nil {
2140		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2141		if ms.LoadMessageInfo() == nil {
2142			ms.StoreMessageInfo(mi)
2143		}
2144		return ms
2145	}
2146	return mi.MessageOf(x)
2147}
2148
2149// Deprecated: Use ReleaseUpdated.ProtoReflect.Descriptor instead.
2150func (*ReleaseUpdated) Descriptor() ([]byte, []int) {
2151	return file_ermite_event_proto_rawDescGZIP(), []int{29}
2152}
2153
2154func (x *ReleaseUpdated) GetRepo() string {
2155	if x != nil {
2156		return x.Repo
2157	}
2158	return ""
2159}
2160
2161func (x *ReleaseUpdated) GetId() int64 {
2162	if x != nil {
2163		return x.Id
2164	}
2165	return 0
2166}
2167
2168func (x *ReleaseUpdated) GetTag() string {
2169	if x != nil {
2170		return x.Tag
2171	}
2172	return ""
2173}
2174
2175func (x *ReleaseUpdated) GetDraft() bool {
2176	if x != nil {
2177		return x.Draft
2178	}
2179	return false
2180}
2181
2182func (x *ReleaseUpdated) GetPrerelease() bool {
2183	if x != nil {
2184		return x.Prerelease
2185	}
2186	return false
2187}
2188
2189// ReleaseDeleted reports a release change on repo:<name> and home topics.
2190type ReleaseDeleted struct {
2191	state         protoimpl.MessageState `protogen:"open.v1"`
2192	Repo          string                 `protobuf:"bytes,1,opt,name=repo,proto3" json:"repo,omitempty"`
2193	Id            int64                  `protobuf:"varint,2,opt,name=id,proto3" json:"id,omitempty"`
2194	Tag           string                 `protobuf:"bytes,3,opt,name=tag,proto3" json:"tag,omitempty"`
2195	unknownFields protoimpl.UnknownFields
2196	sizeCache     protoimpl.SizeCache
2197}
2198
2199func (x *ReleaseDeleted) Reset() {
2200	*x = ReleaseDeleted{}
2201	mi := &file_ermite_event_proto_msgTypes[30]
2202	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2203	ms.StoreMessageInfo(mi)
2204}
2205
2206func (x *ReleaseDeleted) String() string {
2207	return protoimpl.X.MessageStringOf(x)
2208}
2209
2210func (*ReleaseDeleted) ProtoMessage() {}
2211
2212func (x *ReleaseDeleted) ProtoReflect() protoreflect.Message {
2213	mi := &file_ermite_event_proto_msgTypes[30]
2214	if x != nil {
2215		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2216		if ms.LoadMessageInfo() == nil {
2217			ms.StoreMessageInfo(mi)
2218		}
2219		return ms
2220	}
2221	return mi.MessageOf(x)
2222}
2223
2224// Deprecated: Use ReleaseDeleted.ProtoReflect.Descriptor instead.
2225func (*ReleaseDeleted) Descriptor() ([]byte, []int) {
2226	return file_ermite_event_proto_rawDescGZIP(), []int{30}
2227}
2228
2229func (x *ReleaseDeleted) GetRepo() string {
2230	if x != nil {
2231		return x.Repo
2232	}
2233	return ""
2234}
2235
2236func (x *ReleaseDeleted) GetId() int64 {
2237	if x != nil {
2238		return x.Id
2239	}
2240	return 0
2241}
2242
2243func (x *ReleaseDeleted) GetTag() string {
2244	if x != nil {
2245		return x.Tag
2246	}
2247	return ""
2248}
2249
2250// ReleaseUnpublished reports a release change on repo:<name> and home topics.
2251type ReleaseUnpublished struct {
2252	state         protoimpl.MessageState `protogen:"open.v1"`
2253	Repo          string                 `protobuf:"bytes,1,opt,name=repo,proto3" json:"repo,omitempty"`
2254	Id            int64                  `protobuf:"varint,2,opt,name=id,proto3" json:"id,omitempty"`
2255	Tag           string                 `protobuf:"bytes,3,opt,name=tag,proto3" json:"tag,omitempty"`
2256	Draft         bool                   `protobuf:"varint,4,opt,name=draft,proto3" json:"draft,omitempty"`
2257	Prerelease    bool                   `protobuf:"varint,5,opt,name=prerelease,proto3" json:"prerelease,omitempty"`
2258	unknownFields protoimpl.UnknownFields
2259	sizeCache     protoimpl.SizeCache
2260}
2261
2262func (x *ReleaseUnpublished) Reset() {
2263	*x = ReleaseUnpublished{}
2264	mi := &file_ermite_event_proto_msgTypes[31]
2265	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2266	ms.StoreMessageInfo(mi)
2267}
2268
2269func (x *ReleaseUnpublished) String() string {
2270	return protoimpl.X.MessageStringOf(x)
2271}
2272
2273func (*ReleaseUnpublished) ProtoMessage() {}
2274
2275func (x *ReleaseUnpublished) ProtoReflect() protoreflect.Message {
2276	mi := &file_ermite_event_proto_msgTypes[31]
2277	if x != nil {
2278		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2279		if ms.LoadMessageInfo() == nil {
2280			ms.StoreMessageInfo(mi)
2281		}
2282		return ms
2283	}
2284	return mi.MessageOf(x)
2285}
2286
2287// Deprecated: Use ReleaseUnpublished.ProtoReflect.Descriptor instead.
2288func (*ReleaseUnpublished) Descriptor() ([]byte, []int) {
2289	return file_ermite_event_proto_rawDescGZIP(), []int{31}
2290}
2291
2292func (x *ReleaseUnpublished) GetRepo() string {
2293	if x != nil {
2294		return x.Repo
2295	}
2296	return ""
2297}
2298
2299func (x *ReleaseUnpublished) GetId() int64 {
2300	if x != nil {
2301		return x.Id
2302	}
2303	return 0
2304}
2305
2306func (x *ReleaseUnpublished) GetTag() string {
2307	if x != nil {
2308		return x.Tag
2309	}
2310	return ""
2311}
2312
2313func (x *ReleaseUnpublished) GetDraft() bool {
2314	if x != nil {
2315		return x.Draft
2316	}
2317	return false
2318}
2319
2320func (x *ReleaseUnpublished) GetPrerelease() bool {
2321	if x != nil {
2322		return x.Prerelease
2323	}
2324	return false
2325}
2326
2327var File_ermite_event_proto protoreflect.FileDescriptor
2328
2329const file_ermite_event_proto_rawDesc = "" +
2330	"\n" +
2331	"\x12ermite/event.proto\x12\x06ermite\x1a\x12ermite/issue.proto\x1a\x1aermite/merge_request.proto\x1a\x13ermite/mirror.proto\x1a\x11ermite/repo.proto\x1a\x10ermite/run.proto\x1a\x1fgoogle/protobuf/timestamp.proto\"I\n" +
2332	"\fWatchRequest\x12\x16\n" +
2333	"\x06topics\x18\x01 \x03(\tR\x06topics\x12!\n" +
2334	"\fresume_after\x18\x02 \x01(\tR\vresumeAfter\"4\n" +
2335	"\rWatchResponse\x12#\n" +
2336	"\x05event\x18\x01 \x01(\v2\r.ermite.EventR\x05event\"\xcf\x0f\n" +
2337	"\x05Event\x12\x0e\n" +
2338	"\x02id\x18\x01 \x01(\tR\x02id\x12.\n" +
2339	"\x04time\x18\x02 \x01(\v2\x1a.google.protobuf.TimestampR\x04time\x128\n" +
2340	"\frepo_created\x18\x03 \x01(\v2\x13.ermite.RepoCreatedH\x00R\vrepoCreated\x128\n" +
2341	"\frepo_updated\x18\x04 \x01(\v2\x13.ermite.RepoUpdatedH\x00R\vrepoUpdated\x128\n" +
2342	"\frepo_deleted\x18\x05 \x01(\v2\x13.ermite.RepoDeletedH\x00R\vrepoDeleted\x12(\n" +
2343	"\x06pushed\x18\x06 \x01(\v2\x0e.ermite.PushedH\x00R\x06pushed\x12\x1f\n" +
2344	"\x03gap\x18\a \x01(\v2\v.ermite.GapH\x00R\x03gap\x12N\n" +
2345	"\x14merge_request_opened\x18\b \x01(\v2\x1a.ermite.MergeRequestOpenedH\x00R\x12mergeRequestOpened\x12N\n" +
2346	"\x14merge_request_merged\x18\t \x01(\v2\x1a.ermite.MergeRequestMergedH\x00R\x12mergeRequestMerged\x12N\n" +
2347	"\x14merge_request_closed\x18\n" +
2348	" \x01(\v2\x1a.ermite.MergeRequestClosedH\x00R\x12mergeRequestClosed\x12;\n" +
2349	"\rcomment_added\x18\v \x01(\v2\x14.ermite.CommentAddedH\x00R\fcommentAdded\x125\n" +
2350	"\vrun_updated\x18\f \x01(\v2\x12.ermite.RunUpdatedH\x00R\n" +
2351	"runUpdated\x125\n" +
2352	"\vjob_updated\x18\r \x01(\v2\x12.ermite.JobUpdatedH\x00R\n" +
2353	"jobUpdated\x12>\n" +
2354	"\x0ecomment_edited\x18\x0e \x01(\v2\x15.ermite.CommentEditedH\x00R\rcommentEdited\x12A\n" +
2355	"\x0fcomment_deleted\x18\x0f \x01(\v2\x16.ermite.CommentDeletedH\x00R\x0ecommentDeleted\x12D\n" +
2356	"\x10comment_resolved\x18\x10 \x01(\v2\x17.ermite.CommentResolvedH\x00R\x0fcommentResolved\x128\n" +
2357	"\fissue_opened\x18\x11 \x01(\v2\x13.ermite.IssueOpenedH\x00R\vissueOpened\x128\n" +
2358	"\fissue_closed\x18\x12 \x01(\v2\x13.ermite.IssueClosedH\x00R\vissueClosed\x12>\n" +
2359	"\x0eissue_reopened\x18\x13 \x01(\v2\x15.ermite.IssueReopenedH\x00R\rissueReopened\x12A\n" +
2360	"\x0fissue_commented\x18\x14 \x01(\v2\x16.ermite.IssueCommentedH\x00R\x0eissueCommented\x12A\n" +
2361	"\x0fissue_submitted\x18\x15 \x01(\v2\x16.ermite.IssueSubmittedH\x00R\x0eissueSubmitted\x12`\n" +
2362	"\x1amerge_request_mergeability\x18\x16 \x01(\v2 .ermite.MergeRequestMergeabilityH\x00R\x18mergeRequestMergeability\x12;\n" +
2363	"\rmirror_failed\x18\x17 \x01(\v2\x14.ermite.MirrorFailedH\x00R\fmirrorFailed\x12D\n" +
2364	"\x10mirror_recovered\x18\x18 \x01(\v2\x17.ermite.MirrorRecoveredH\x00R\x0fmirrorRecovered\x12n\n" +
2365	" merge_request_auto_merge_enabled\x18\x19 \x01(\v2$.ermite.MergeRequestAutoMergeEnabledH\x00R\x1cmergeRequestAutoMergeEnabled\x12t\n" +
2366	"\"merge_request_auto_merge_cancelled\x18\x1a \x01(\v2&.ermite.MergeRequestAutoMergeCancelledH\x00R\x1emergeRequestAutoMergeCancelled\x12G\n" +
2367	"\x11release_published\x18\x1b \x01(\v2\x18.ermite.ReleasePublishedH\x00R\x10releasePublished\x12A\n" +
2368	"\x0frelease_updated\x18\x1c \x01(\v2\x16.ermite.ReleaseUpdatedH\x00R\x0ereleaseUpdated\x12A\n" +
2369	"\x0frelease_deleted\x18\x1d \x01(\v2\x16.ermite.ReleaseDeletedH\x00R\x0ereleaseDeleted\x12M\n" +
2370	"\x13release_unpublished\x18\x1e \x01(\v2\x1a.ermite.ReleaseUnpublishedH\x00R\x12releaseUnpublishedB\x06\n" +
2371	"\x04kind\"/\n" +
2372	"\vRepoCreated\x12 \n" +
2373	"\x04repo\x18\x01 \x01(\v2\f.ermite.RepoR\x04repo\"/\n" +
2374	"\vRepoUpdated\x12 \n" +
2375	"\x04repo\x18\x01 \x01(\v2\f.ermite.RepoR\x04repo\"!\n" +
2376	"\vRepoDeleted\x12\x12\n" +
2377	"\x04repo\x18\x01 \x01(\tR\x04repo\"P\n" +
2378	"\x06Pushed\x12\x12\n" +
2379	"\x04repo\x18\x01 \x01(\tR\x04repo\x122\n" +
2380	"\vref_updates\x18\x02 \x03(\v2\x11.ermite.RefUpdateR\n" +
2381	"refUpdates\"K\n" +
2382	"\tRefUpdate\x12\x10\n" +
2383	"\x03ref\x18\x01 \x01(\tR\x03ref\x12\x15\n" +
2384	"\x06old_id\x18\x02 \x01(\tR\x05oldId\x12\x15\n" +
2385	"\x06new_id\x18\x03 \x01(\tR\x05newId\"O\n" +
2386	"\x12MergeRequestOpened\x129\n" +
2387	"\rmerge_request\x18\x01 \x01(\v2\x14.ermite.MergeRequestR\fmergeRequest\"c\n" +
2388	"\x12MergeRequestMerged\x129\n" +
2389	"\rmerge_request\x18\x01 \x01(\v2\x14.ermite.MergeRequestR\fmergeRequest\x12\x12\n" +
2390	"\x04auto\x18\x02 \x01(\bR\x04auto\"Y\n" +
2391	"\x1cMergeRequestAutoMergeEnabled\x129\n" +
2392	"\rmerge_request\x18\x01 \x01(\v2\x14.ermite.MergeRequestR\fmergeRequest\"s\n" +
2393	"\x1eMergeRequestAutoMergeCancelled\x129\n" +
2394	"\rmerge_request\x18\x01 \x01(\v2\x14.ermite.MergeRequestR\fmergeRequest\x12\x16\n" +
2395	"\x06reason\x18\x02 \x01(\tR\x06reason\"\x80\x01\n" +
2396	"\x18MergeRequestMergeability\x12\x12\n" +
2397	"\x04repo\x18\x01 \x01(\tR\x04repo\x12\x16\n" +
2398	"\x06number\x18\x02 \x01(\x03R\x06number\x128\n" +
2399	"\fmergeability\x18\x03 \x01(\v2\x14.ermite.MergeabilityR\fmergeability\"O\n" +
2400	"\x12MergeRequestClosed\x129\n" +
2401	"\rmerge_request\x18\x01 \x01(\v2\x14.ermite.MergeRequestR\fmergeRequest\"e\n" +
2402	"\fCommentAdded\x12\x12\n" +
2403	"\x04repo\x18\x01 \x01(\tR\x04repo\x12\x16\n" +
2404	"\x06number\x18\x02 \x01(\x03R\x06number\x12)\n" +
2405	"\acomment\x18\x03 \x01(\v2\x0f.ermite.CommentR\acomment\"f\n" +
2406	"\rCommentEdited\x12\x12\n" +
2407	"\x04repo\x18\x01 \x01(\tR\x04repo\x12\x16\n" +
2408	"\x06number\x18\x02 \x01(\x03R\x06number\x12)\n" +
2409	"\acomment\x18\x03 \x01(\v2\x0f.ermite.CommentR\acomment\"g\n" +
2410	"\x0eCommentDeleted\x12\x12\n" +
2411	"\x04repo\x18\x01 \x01(\tR\x04repo\x12\x16\n" +
2412	"\x06number\x18\x02 \x01(\x03R\x06number\x12)\n" +
2413	"\acomment\x18\x03 \x01(\v2\x0f.ermite.CommentR\acomment\"h\n" +
2414	"\x0fCommentResolved\x12\x12\n" +
2415	"\x04repo\x18\x01 \x01(\tR\x04repo\x12\x16\n" +
2416	"\x06number\x18\x02 \x01(\x03R\x06number\x12)\n" +
2417	"\acomment\x18\x03 \x01(\v2\x0f.ermite.CommentR\acomment\"2\n" +
2418	"\vIssueOpened\x12#\n" +
2419	"\x05issue\x18\x01 \x01(\v2\r.ermite.IssueR\x05issue\"2\n" +
2420	"\vIssueClosed\x12#\n" +
2421	"\x05issue\x18\x01 \x01(\v2\r.ermite.IssueR\x05issue\"4\n" +
2422	"\rIssueReopened\x12#\n" +
2423	"\x05issue\x18\x01 \x01(\v2\r.ermite.IssueR\x05issue\"l\n" +
2424	"\x0eIssueCommented\x12\x12\n" +
2425	"\x04repo\x18\x01 \x01(\tR\x04repo\x12\x16\n" +
2426	"\x06number\x18\x02 \x01(\x03R\x06number\x12.\n" +
2427	"\acomment\x18\x03 \x01(\v2\x14.ermite.IssueCommentR\acomment\"4\n" +
2428	"\x0eIssueSubmitted\x12\x12\n" +
2429	"\x04repo\x18\x01 \x01(\tR\x04repo\x12\x0e\n" +
2430	"\x02id\x18\x02 \x01(\tR\x02id\"\x05\n" +
2431	"\x03Gap\"+\n" +
2432	"\n" +
2433	"RunUpdated\x12\x1d\n" +
2434	"\x03run\x18\x01 \x01(\v2\v.ermite.RunR\x03run\".\n" +
2435	"\n" +
2436	"JobUpdated\x12 \n" +
2437	"\x03job\x18\x01 \x01(\v2\x0e.ermite.RunJobR\x03job\"\x80\x01\n" +
2438	"\fMirrorFailed\x12\x12\n" +
2439	"\x04repo\x18\x01 \x01(\tR\x04repo\x12)\n" +
2440	"\x05state\x18\x02 \x01(\x0e2\x13.ermite.MirrorStateR\x05state\x12#\n" +
2441	"\rfailure_class\x18\x03 \x01(\tR\ffailureClassJ\x04\b\x04\x10\x05R\x06reason\"%\n" +
2442	"\x0fMirrorRecovered\x12\x12\n" +
2443	"\x04repo\x18\x01 \x01(\tR\x04repo\"~\n" +
2444	"\x10ReleasePublished\x12\x12\n" +
2445	"\x04repo\x18\x01 \x01(\tR\x04repo\x12\x0e\n" +
2446	"\x02id\x18\x02 \x01(\x03R\x02id\x12\x10\n" +
2447	"\x03tag\x18\x03 \x01(\tR\x03tag\x12\x14\n" +
2448	"\x05draft\x18\x04 \x01(\bR\x05draft\x12\x1e\n" +
2449	"\n" +
2450	"prerelease\x18\x05 \x01(\bR\n" +
2451	"prerelease\"|\n" +
2452	"\x0eReleaseUpdated\x12\x12\n" +
2453	"\x04repo\x18\x01 \x01(\tR\x04repo\x12\x0e\n" +
2454	"\x02id\x18\x02 \x01(\x03R\x02id\x12\x10\n" +
2455	"\x03tag\x18\x03 \x01(\tR\x03tag\x12\x14\n" +
2456	"\x05draft\x18\x04 \x01(\bR\x05draft\x12\x1e\n" +
2457	"\n" +
2458	"prerelease\x18\x05 \x01(\bR\n" +
2459	"prerelease\"F\n" +
2460	"\x0eReleaseDeleted\x12\x12\n" +
2461	"\x04repo\x18\x01 \x01(\tR\x04repo\x12\x0e\n" +
2462	"\x02id\x18\x02 \x01(\x03R\x02id\x12\x10\n" +
2463	"\x03tag\x18\x03 \x01(\tR\x03tag\"\x80\x01\n" +
2464	"\x12ReleaseUnpublished\x12\x12\n" +
2465	"\x04repo\x18\x01 \x01(\tR\x04repo\x12\x0e\n" +
2466	"\x02id\x18\x02 \x01(\x03R\x02id\x12\x10\n" +
2467	"\x03tag\x18\x03 \x01(\tR\x03tag\x12\x14\n" +
2468	"\x05draft\x18\x04 \x01(\bR\x05draft\x12\x1e\n" +
2469	"\n" +
2470	"prerelease\x18\x05 \x01(\bR\n" +
2471	"prerelease2F\n" +
2472	"\fEventService\x126\n" +
2473	"\x05Watch\x12\x14.ermite.WatchRequest\x1a\x15.ermite.WatchResponse0\x01Bq\n" +
2474	"\n" +
2475	"com.ermiteB\n" +
2476	"EventProtoP\x01Z\x1fbnema.dev/ermite-api/gen/ermite\xa2\x02\x03EXX\xaa\x02\x06Ermite\xca\x02\x06Ermite\xe2\x02\x12Ermite\\GPBMetadata\xea\x02\x06Ermiteb\x06proto3"
2477
2478var (
2479	file_ermite_event_proto_rawDescOnce sync.Once
2480	file_ermite_event_proto_rawDescData []byte
2481)
2482
2483func file_ermite_event_proto_rawDescGZIP() []byte {
2484	file_ermite_event_proto_rawDescOnce.Do(func() {
2485		file_ermite_event_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_ermite_event_proto_rawDesc), len(file_ermite_event_proto_rawDesc)))
2486	})
2487	return file_ermite_event_proto_rawDescData
2488}
2489
2490var file_ermite_event_proto_msgTypes = make([]protoimpl.MessageInfo, 32)
2491var file_ermite_event_proto_goTypes = []any{
2492	(*WatchRequest)(nil),                   // 0: ermite.WatchRequest
2493	(*WatchResponse)(nil),                  // 1: ermite.WatchResponse
2494	(*Event)(nil),                          // 2: ermite.Event
2495	(*RepoCreated)(nil),                    // 3: ermite.RepoCreated
2496	(*RepoUpdated)(nil),                    // 4: ermite.RepoUpdated
2497	(*RepoDeleted)(nil),                    // 5: ermite.RepoDeleted
2498	(*Pushed)(nil),                         // 6: ermite.Pushed
2499	(*RefUpdate)(nil),                      // 7: ermite.RefUpdate
2500	(*MergeRequestOpened)(nil),             // 8: ermite.MergeRequestOpened
2501	(*MergeRequestMerged)(nil),             // 9: ermite.MergeRequestMerged
2502	(*MergeRequestAutoMergeEnabled)(nil),   // 10: ermite.MergeRequestAutoMergeEnabled
2503	(*MergeRequestAutoMergeCancelled)(nil), // 11: ermite.MergeRequestAutoMergeCancelled
2504	(*MergeRequestMergeability)(nil),       // 12: ermite.MergeRequestMergeability
2505	(*MergeRequestClosed)(nil),             // 13: ermite.MergeRequestClosed
2506	(*CommentAdded)(nil),                   // 14: ermite.CommentAdded
2507	(*CommentEdited)(nil),                  // 15: ermite.CommentEdited
2508	(*CommentDeleted)(nil),                 // 16: ermite.CommentDeleted
2509	(*CommentResolved)(nil),                // 17: ermite.CommentResolved
2510	(*IssueOpened)(nil),                    // 18: ermite.IssueOpened
2511	(*IssueClosed)(nil),                    // 19: ermite.IssueClosed
2512	(*IssueReopened)(nil),                  // 20: ermite.IssueReopened
2513	(*IssueCommented)(nil),                 // 21: ermite.IssueCommented
2514	(*IssueSubmitted)(nil),                 // 22: ermite.IssueSubmitted
2515	(*Gap)(nil),                            // 23: ermite.Gap
2516	(*RunUpdated)(nil),                     // 24: ermite.RunUpdated
2517	(*JobUpdated)(nil),                     // 25: ermite.JobUpdated
2518	(*MirrorFailed)(nil),                   // 26: ermite.MirrorFailed
2519	(*MirrorRecovered)(nil),                // 27: ermite.MirrorRecovered
2520	(*ReleasePublished)(nil),               // 28: ermite.ReleasePublished
2521	(*ReleaseUpdated)(nil),                 // 29: ermite.ReleaseUpdated
2522	(*ReleaseDeleted)(nil),                 // 30: ermite.ReleaseDeleted
2523	(*ReleaseUnpublished)(nil),             // 31: ermite.ReleaseUnpublished
2524	(*timestamppb.Timestamp)(nil),          // 32: google.protobuf.Timestamp
2525	(*Repo)(nil),                           // 33: ermite.Repo
2526	(*MergeRequest)(nil),                   // 34: ermite.MergeRequest
2527	(*Mergeability)(nil),                   // 35: ermite.Mergeability
2528	(*Comment)(nil),                        // 36: ermite.Comment
2529	(*Issue)(nil),                          // 37: ermite.Issue
2530	(*IssueComment)(nil),                   // 38: ermite.IssueComment
2531	(*Run)(nil),                            // 39: ermite.Run
2532	(*RunJob)(nil),                         // 40: ermite.RunJob
2533	(MirrorState)(0),                       // 41: ermite.MirrorState
2534}
2535var file_ermite_event_proto_depIdxs = []int32{
2536	2,  // 0: ermite.WatchResponse.event:type_name -> ermite.Event
2537	32, // 1: ermite.Event.time:type_name -> google.protobuf.Timestamp
2538	3,  // 2: ermite.Event.repo_created:type_name -> ermite.RepoCreated
2539	4,  // 3: ermite.Event.repo_updated:type_name -> ermite.RepoUpdated
2540	5,  // 4: ermite.Event.repo_deleted:type_name -> ermite.RepoDeleted
2541	6,  // 5: ermite.Event.pushed:type_name -> ermite.Pushed
2542	23, // 6: ermite.Event.gap:type_name -> ermite.Gap
2543	8,  // 7: ermite.Event.merge_request_opened:type_name -> ermite.MergeRequestOpened
2544	9,  // 8: ermite.Event.merge_request_merged:type_name -> ermite.MergeRequestMerged
2545	13, // 9: ermite.Event.merge_request_closed:type_name -> ermite.MergeRequestClosed
2546	14, // 10: ermite.Event.comment_added:type_name -> ermite.CommentAdded
2547	24, // 11: ermite.Event.run_updated:type_name -> ermite.RunUpdated
2548	25, // 12: ermite.Event.job_updated:type_name -> ermite.JobUpdated
2549	15, // 13: ermite.Event.comment_edited:type_name -> ermite.CommentEdited
2550	16, // 14: ermite.Event.comment_deleted:type_name -> ermite.CommentDeleted
2551	17, // 15: ermite.Event.comment_resolved:type_name -> ermite.CommentResolved
2552	18, // 16: ermite.Event.issue_opened:type_name -> ermite.IssueOpened
2553	19, // 17: ermite.Event.issue_closed:type_name -> ermite.IssueClosed
2554	20, // 18: ermite.Event.issue_reopened:type_name -> ermite.IssueReopened
2555	21, // 19: ermite.Event.issue_commented:type_name -> ermite.IssueCommented
2556	22, // 20: ermite.Event.issue_submitted:type_name -> ermite.IssueSubmitted
2557	12, // 21: ermite.Event.merge_request_mergeability:type_name -> ermite.MergeRequestMergeability
2558	26, // 22: ermite.Event.mirror_failed:type_name -> ermite.MirrorFailed
2559	27, // 23: ermite.Event.mirror_recovered:type_name -> ermite.MirrorRecovered
2560	10, // 24: ermite.Event.merge_request_auto_merge_enabled:type_name -> ermite.MergeRequestAutoMergeEnabled
2561	11, // 25: ermite.Event.merge_request_auto_merge_cancelled:type_name -> ermite.MergeRequestAutoMergeCancelled
2562	28, // 26: ermite.Event.release_published:type_name -> ermite.ReleasePublished
2563	29, // 27: ermite.Event.release_updated:type_name -> ermite.ReleaseUpdated
2564	30, // 28: ermite.Event.release_deleted:type_name -> ermite.ReleaseDeleted
2565	31, // 29: ermite.Event.release_unpublished:type_name -> ermite.ReleaseUnpublished
2566	33, // 30: ermite.RepoCreated.repo:type_name -> ermite.Repo
2567	33, // 31: ermite.RepoUpdated.repo:type_name -> ermite.Repo
2568	7,  // 32: ermite.Pushed.ref_updates:type_name -> ermite.RefUpdate
2569	34, // 33: ermite.MergeRequestOpened.merge_request:type_name -> ermite.MergeRequest
2570	34, // 34: ermite.MergeRequestMerged.merge_request:type_name -> ermite.MergeRequest
2571	34, // 35: ermite.MergeRequestAutoMergeEnabled.merge_request:type_name -> ermite.MergeRequest
2572	34, // 36: ermite.MergeRequestAutoMergeCancelled.merge_request:type_name -> ermite.MergeRequest
2573	35, // 37: ermite.MergeRequestMergeability.mergeability:type_name -> ermite.Mergeability
2574	34, // 38: ermite.MergeRequestClosed.merge_request:type_name -> ermite.MergeRequest
2575	36, // 39: ermite.CommentAdded.comment:type_name -> ermite.Comment
2576	36, // 40: ermite.CommentEdited.comment:type_name -> ermite.Comment
2577	36, // 41: ermite.CommentDeleted.comment:type_name -> ermite.Comment
2578	36, // 42: ermite.CommentResolved.comment:type_name -> ermite.Comment
2579	37, // 43: ermite.IssueOpened.issue:type_name -> ermite.Issue
2580	37, // 44: ermite.IssueClosed.issue:type_name -> ermite.Issue
2581	37, // 45: ermite.IssueReopened.issue:type_name -> ermite.Issue
2582	38, // 46: ermite.IssueCommented.comment:type_name -> ermite.IssueComment
2583	39, // 47: ermite.RunUpdated.run:type_name -> ermite.Run
2584	40, // 48: ermite.JobUpdated.job:type_name -> ermite.RunJob
2585	41, // 49: ermite.MirrorFailed.state:type_name -> ermite.MirrorState
2586	0,  // 50: ermite.EventService.Watch:input_type -> ermite.WatchRequest
2587	1,  // 51: ermite.EventService.Watch:output_type -> ermite.WatchResponse
2588	51, // [51:52] is the sub-list for method output_type
2589	50, // [50:51] is the sub-list for method input_type
2590	50, // [50:50] is the sub-list for extension type_name
2591	50, // [50:50] is the sub-list for extension extendee
2592	0,  // [0:50] is the sub-list for field type_name
2593}
2594
2595func init() { file_ermite_event_proto_init() }
2596func file_ermite_event_proto_init() {
2597	if File_ermite_event_proto != nil {
2598		return
2599	}
2600	file_ermite_issue_proto_init()
2601	file_ermite_merge_request_proto_init()
2602	file_ermite_mirror_proto_init()
2603	file_ermite_repo_proto_init()
2604	file_ermite_run_proto_init()
2605	file_ermite_event_proto_msgTypes[2].OneofWrappers = []any{
2606		(*Event_RepoCreated)(nil),
2607		(*Event_RepoUpdated)(nil),
2608		(*Event_RepoDeleted)(nil),
2609		(*Event_Pushed)(nil),
2610		(*Event_Gap)(nil),
2611		(*Event_MergeRequestOpened)(nil),
2612		(*Event_MergeRequestMerged)(nil),
2613		(*Event_MergeRequestClosed)(nil),
2614		(*Event_CommentAdded)(nil),
2615		(*Event_RunUpdated)(nil),
2616		(*Event_JobUpdated)(nil),
2617		(*Event_CommentEdited)(nil),
2618		(*Event_CommentDeleted)(nil),
2619		(*Event_CommentResolved)(nil),
2620		(*Event_IssueOpened)(nil),
2621		(*Event_IssueClosed)(nil),
2622		(*Event_IssueReopened)(nil),
2623		(*Event_IssueCommented)(nil),
2624		(*Event_IssueSubmitted)(nil),
2625		(*Event_MergeRequestMergeability)(nil),
2626		(*Event_MirrorFailed)(nil),
2627		(*Event_MirrorRecovered)(nil),
2628		(*Event_MergeRequestAutoMergeEnabled)(nil),
2629		(*Event_MergeRequestAutoMergeCancelled)(nil),
2630		(*Event_ReleasePublished)(nil),
2631		(*Event_ReleaseUpdated)(nil),
2632		(*Event_ReleaseDeleted)(nil),
2633		(*Event_ReleaseUnpublished)(nil),
2634	}
2635	type x struct{}
2636	out := protoimpl.TypeBuilder{
2637		File: protoimpl.DescBuilder{
2638			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
2639			RawDescriptor: unsafe.Slice(unsafe.StringData(file_ermite_event_proto_rawDesc), len(file_ermite_event_proto_rawDesc)),
2640			NumEnums:      0,
2641			NumMessages:   32,
2642			NumExtensions: 0,
2643			NumServices:   1,
2644		},
2645		GoTypes:           file_ermite_event_proto_goTypes,
2646		DependencyIndexes: file_ermite_event_proto_depIdxs,
2647		MessageInfos:      file_ermite_event_proto_msgTypes,
2648	}.Build()
2649	File_ermite_event_proto = out.File
2650	file_ermite_event_proto_goTypes = nil
2651	file_ermite_event_proto_depIdxs = nil
2652}

Keyboard shortcuts

Single-key shortcuts are on. ctrl k and esc work whatever this says.

ctrl k :
go to a section, branch, tag, file or repository
?
this list
j k
move the row cursor down / up
enter
open the row under the cursor; on Files, a directory opens or closes in place
↑ ↓ ← → home end
in the file tree (focus on a row): previous / next row, close / open a directory or go to its parent / first entry, first / last row. They never open a file
l h
on Files: open a directory or a file / close a directory or go up to its parent, then to the parent page. Elsewhere: into the side panel (on a merge request, its files) / back to the content; there j k move between its controls
g g G
first / last row
/
filter the list; on Files, find a file anywhere in the repository (esc clears, enter opens the best match)
b
switch branch or tag
g s g f g c g b g m g i g r g a
tabs: summary, files, commits, branches & tags, merge requests, issues, releases, actions (when available)
g h
home
w
wide mode: use the whole width of the screen, or not (remembered)
y
copy a permalink pinned to the commit
d u x
diff: split / unified / collapse or expand all
e E
diff: the whole file in view / every file, with the lines the hunks hide
n
merge request: next note in the diff
esc
close a dialog, leave a field

Branches 2

Tags 18

↑↓ moveenter openesc close