main 81ede3b

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

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