v0.12.0 acbb5c2

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	Kind          isEvent_Kind `protobuf_oneof:"kind"`
177	unknownFields protoimpl.UnknownFields
178	sizeCache     protoimpl.SizeCache
179}
180
181func (x *Event) Reset() {
182	*x = Event{}
183	mi := &file_ermite_event_proto_msgTypes[2]
184	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
185	ms.StoreMessageInfo(mi)
186}
187
188func (x *Event) String() string {
189	return protoimpl.X.MessageStringOf(x)
190}
191
192func (*Event) ProtoMessage() {}
193
194func (x *Event) ProtoReflect() protoreflect.Message {
195	mi := &file_ermite_event_proto_msgTypes[2]
196	if x != nil {
197		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
198		if ms.LoadMessageInfo() == nil {
199			ms.StoreMessageInfo(mi)
200		}
201		return ms
202	}
203	return mi.MessageOf(x)
204}
205
206// Deprecated: Use Event.ProtoReflect.Descriptor instead.
207func (*Event) Descriptor() ([]byte, []int) {
208	return file_ermite_event_proto_rawDescGZIP(), []int{2}
209}
210
211func (x *Event) GetId() string {
212	if x != nil {
213		return x.Id
214	}
215	return ""
216}
217
218func (x *Event) GetTime() *timestamppb.Timestamp {
219	if x != nil {
220		return x.Time
221	}
222	return nil
223}
224
225func (x *Event) GetKind() isEvent_Kind {
226	if x != nil {
227		return x.Kind
228	}
229	return nil
230}
231
232func (x *Event) GetRepoCreated() *RepoCreated {
233	if x != nil {
234		if x, ok := x.Kind.(*Event_RepoCreated); ok {
235			return x.RepoCreated
236		}
237	}
238	return nil
239}
240
241func (x *Event) GetRepoUpdated() *RepoUpdated {
242	if x != nil {
243		if x, ok := x.Kind.(*Event_RepoUpdated); ok {
244			return x.RepoUpdated
245		}
246	}
247	return nil
248}
249
250func (x *Event) GetRepoDeleted() *RepoDeleted {
251	if x != nil {
252		if x, ok := x.Kind.(*Event_RepoDeleted); ok {
253			return x.RepoDeleted
254		}
255	}
256	return nil
257}
258
259func (x *Event) GetPushed() *Pushed {
260	if x != nil {
261		if x, ok := x.Kind.(*Event_Pushed); ok {
262			return x.Pushed
263		}
264	}
265	return nil
266}
267
268func (x *Event) GetGap() *Gap {
269	if x != nil {
270		if x, ok := x.Kind.(*Event_Gap); ok {
271			return x.Gap
272		}
273	}
274	return nil
275}
276
277func (x *Event) GetMergeRequestOpened() *MergeRequestOpened {
278	if x != nil {
279		if x, ok := x.Kind.(*Event_MergeRequestOpened); ok {
280			return x.MergeRequestOpened
281		}
282	}
283	return nil
284}
285
286func (x *Event) GetMergeRequestMerged() *MergeRequestMerged {
287	if x != nil {
288		if x, ok := x.Kind.(*Event_MergeRequestMerged); ok {
289			return x.MergeRequestMerged
290		}
291	}
292	return nil
293}
294
295func (x *Event) GetMergeRequestClosed() *MergeRequestClosed {
296	if x != nil {
297		if x, ok := x.Kind.(*Event_MergeRequestClosed); ok {
298			return x.MergeRequestClosed
299		}
300	}
301	return nil
302}
303
304func (x *Event) GetCommentAdded() *CommentAdded {
305	if x != nil {
306		if x, ok := x.Kind.(*Event_CommentAdded); ok {
307			return x.CommentAdded
308		}
309	}
310	return nil
311}
312
313func (x *Event) GetRunUpdated() *RunUpdated {
314	if x != nil {
315		if x, ok := x.Kind.(*Event_RunUpdated); ok {
316			return x.RunUpdated
317		}
318	}
319	return nil
320}
321
322func (x *Event) GetJobUpdated() *JobUpdated {
323	if x != nil {
324		if x, ok := x.Kind.(*Event_JobUpdated); ok {
325			return x.JobUpdated
326		}
327	}
328	return nil
329}
330
331func (x *Event) GetCommentEdited() *CommentEdited {
332	if x != nil {
333		if x, ok := x.Kind.(*Event_CommentEdited); ok {
334			return x.CommentEdited
335		}
336	}
337	return nil
338}
339
340func (x *Event) GetCommentDeleted() *CommentDeleted {
341	if x != nil {
342		if x, ok := x.Kind.(*Event_CommentDeleted); ok {
343			return x.CommentDeleted
344		}
345	}
346	return nil
347}
348
349func (x *Event) GetCommentResolved() *CommentResolved {
350	if x != nil {
351		if x, ok := x.Kind.(*Event_CommentResolved); ok {
352			return x.CommentResolved
353		}
354	}
355	return nil
356}
357
358func (x *Event) GetIssueOpened() *IssueOpened {
359	if x != nil {
360		if x, ok := x.Kind.(*Event_IssueOpened); ok {
361			return x.IssueOpened
362		}
363	}
364	return nil
365}
366
367func (x *Event) GetIssueClosed() *IssueClosed {
368	if x != nil {
369		if x, ok := x.Kind.(*Event_IssueClosed); ok {
370			return x.IssueClosed
371		}
372	}
373	return nil
374}
375
376func (x *Event) GetIssueReopened() *IssueReopened {
377	if x != nil {
378		if x, ok := x.Kind.(*Event_IssueReopened); ok {
379			return x.IssueReopened
380		}
381	}
382	return nil
383}
384
385func (x *Event) GetIssueCommented() *IssueCommented {
386	if x != nil {
387		if x, ok := x.Kind.(*Event_IssueCommented); ok {
388			return x.IssueCommented
389		}
390	}
391	return nil
392}
393
394func (x *Event) GetIssueSubmitted() *IssueSubmitted {
395	if x != nil {
396		if x, ok := x.Kind.(*Event_IssueSubmitted); ok {
397			return x.IssueSubmitted
398		}
399	}
400	return nil
401}
402
403func (x *Event) GetMergeRequestMergeability() *MergeRequestMergeability {
404	if x != nil {
405		if x, ok := x.Kind.(*Event_MergeRequestMergeability); ok {
406			return x.MergeRequestMergeability
407		}
408	}
409	return nil
410}
411
412func (x *Event) GetMirrorFailed() *MirrorFailed {
413	if x != nil {
414		if x, ok := x.Kind.(*Event_MirrorFailed); ok {
415			return x.MirrorFailed
416		}
417	}
418	return nil
419}
420
421func (x *Event) GetMirrorRecovered() *MirrorRecovered {
422	if x != nil {
423		if x, ok := x.Kind.(*Event_MirrorRecovered); ok {
424			return x.MirrorRecovered
425		}
426	}
427	return nil
428}
429
430type isEvent_Kind interface {
431	isEvent_Kind()
432}
433
434type Event_RepoCreated struct {
435	// RepoCreated: a repository was created.
436	RepoCreated *RepoCreated `protobuf:"bytes,3,opt,name=repo_created,json=repoCreated,proto3,oneof"`
437}
438
439type Event_RepoUpdated struct {
440	// RepoUpdated: repository metadata changed.
441	RepoUpdated *RepoUpdated `protobuf:"bytes,4,opt,name=repo_updated,json=repoUpdated,proto3,oneof"`
442}
443
444type Event_RepoDeleted struct {
445	// RepoDeleted: a repository was deleted.
446	RepoDeleted *RepoDeleted `protobuf:"bytes,5,opt,name=repo_deleted,json=repoDeleted,proto3,oneof"`
447}
448
449type Event_Pushed struct {
450	// Pushed: refs of a repository were updated by a push.
451	Pushed *Pushed `protobuf:"bytes,6,opt,name=pushed,proto3,oneof"`
452}
453
454type Event_Gap struct {
455	// Gap: events were lost, reload state.
456	Gap *Gap `protobuf:"bytes,7,opt,name=gap,proto3,oneof"`
457}
458
459type Event_MergeRequestOpened struct {
460	// MergeRequestOpened: a merge request was opened.
461	MergeRequestOpened *MergeRequestOpened `protobuf:"bytes,8,opt,name=merge_request_opened,json=mergeRequestOpened,proto3,oneof"`
462}
463
464type Event_MergeRequestMerged struct {
465	// MergeRequestMerged: a merge request was merged.
466	MergeRequestMerged *MergeRequestMerged `protobuf:"bytes,9,opt,name=merge_request_merged,json=mergeRequestMerged,proto3,oneof"`
467}
468
469type Event_MergeRequestClosed struct {
470	// MergeRequestClosed: a merge request was closed without merging.
471	MergeRequestClosed *MergeRequestClosed `protobuf:"bytes,10,opt,name=merge_request_closed,json=mergeRequestClosed,proto3,oneof"`
472}
473
474type Event_CommentAdded struct {
475	// CommentAdded: a comment was added to a merge request.
476	CommentAdded *CommentAdded `protobuf:"bytes,11,opt,name=comment_added,json=commentAdded,proto3,oneof"`
477}
478
479type Event_RunUpdated struct {
480	// RunUpdated: a CI run was created or changed.
481	RunUpdated *RunUpdated `protobuf:"bytes,12,opt,name=run_updated,json=runUpdated,proto3,oneof"`
482}
483
484type Event_JobUpdated struct {
485	// JobUpdated: a CI job was created or changed.
486	JobUpdated *JobUpdated `protobuf:"bytes,13,opt,name=job_updated,json=jobUpdated,proto3,oneof"`
487}
488
489type Event_CommentEdited struct {
490	// CommentEdited: the text of a merge request comment was changed.
491	CommentEdited *CommentEdited `protobuf:"bytes,14,opt,name=comment_edited,json=commentEdited,proto3,oneof"`
492}
493
494type Event_CommentDeleted struct {
495	// CommentDeleted: a merge request comment was deleted.
496	CommentDeleted *CommentDeleted `protobuf:"bytes,15,opt,name=comment_deleted,json=commentDeleted,proto3,oneof"`
497}
498
499type Event_CommentResolved struct {
500	// CommentResolved: a merge request comment was resolved or unresolved.
501	CommentResolved *CommentResolved `protobuf:"bytes,16,opt,name=comment_resolved,json=commentResolved,proto3,oneof"`
502}
503
504type Event_IssueOpened struct {
505	// IssueOpened: an issue was opened.
506	IssueOpened *IssueOpened `protobuf:"bytes,17,opt,name=issue_opened,json=issueOpened,proto3,oneof"`
507}
508
509type Event_IssueClosed struct {
510	// IssueClosed: an issue was closed.
511	IssueClosed *IssueClosed `protobuf:"bytes,18,opt,name=issue_closed,json=issueClosed,proto3,oneof"`
512}
513
514type Event_IssueReopened struct {
515	// IssueReopened: an issue was reopened.
516	IssueReopened *IssueReopened `protobuf:"bytes,19,opt,name=issue_reopened,json=issueReopened,proto3,oneof"`
517}
518
519type Event_IssueCommented struct {
520	// IssueCommented: a comment was added to an issue.
521	IssueCommented *IssueCommented `protobuf:"bytes,20,opt,name=issue_commented,json=issueCommented,proto3,oneof"`
522}
523
524type Event_IssueSubmitted struct {
525	// IssueSubmitted: an issue is awaiting moderation. Delivered only on the
526	// "owner" topic, never on "home" or "repo:<name>", and carries no content.
527	IssueSubmitted *IssueSubmitted `protobuf:"bytes,21,opt,name=issue_submitted,json=issueSubmitted,proto3,oneof"`
528}
529
530type Event_MergeRequestMergeability struct {
531	// MergeRequestMergeability: the mergeability of an open merge request
532	// changed.
533	MergeRequestMergeability *MergeRequestMergeability `protobuf:"bytes,22,opt,name=merge_request_mergeability,json=mergeRequestMergeability,proto3,oneof"`
534}
535
536type Event_MirrorFailed struct {
537	// MirrorFailed: a mirror entered failing or paused.
538	MirrorFailed *MirrorFailed `protobuf:"bytes,23,opt,name=mirror_failed,json=mirrorFailed,proto3,oneof"`
539}
540
541type Event_MirrorRecovered struct {
542	// MirrorRecovered: a failing or paused mirror succeeded again.
543	MirrorRecovered *MirrorRecovered `protobuf:"bytes,24,opt,name=mirror_recovered,json=mirrorRecovered,proto3,oneof"`
544}
545
546func (*Event_RepoCreated) isEvent_Kind() {}
547
548func (*Event_RepoUpdated) isEvent_Kind() {}
549
550func (*Event_RepoDeleted) isEvent_Kind() {}
551
552func (*Event_Pushed) isEvent_Kind() {}
553
554func (*Event_Gap) isEvent_Kind() {}
555
556func (*Event_MergeRequestOpened) isEvent_Kind() {}
557
558func (*Event_MergeRequestMerged) isEvent_Kind() {}
559
560func (*Event_MergeRequestClosed) isEvent_Kind() {}
561
562func (*Event_CommentAdded) isEvent_Kind() {}
563
564func (*Event_RunUpdated) isEvent_Kind() {}
565
566func (*Event_JobUpdated) isEvent_Kind() {}
567
568func (*Event_CommentEdited) isEvent_Kind() {}
569
570func (*Event_CommentDeleted) isEvent_Kind() {}
571
572func (*Event_CommentResolved) isEvent_Kind() {}
573
574func (*Event_IssueOpened) isEvent_Kind() {}
575
576func (*Event_IssueClosed) isEvent_Kind() {}
577
578func (*Event_IssueReopened) isEvent_Kind() {}
579
580func (*Event_IssueCommented) isEvent_Kind() {}
581
582func (*Event_IssueSubmitted) isEvent_Kind() {}
583
584func (*Event_MergeRequestMergeability) isEvent_Kind() {}
585
586func (*Event_MirrorFailed) isEvent_Kind() {}
587
588func (*Event_MirrorRecovered) isEvent_Kind() {}
589
590// RepoCreated reports a new repository.
591type RepoCreated struct {
592	state protoimpl.MessageState `protogen:"open.v1"`
593	// Repo is the new repository.
594	Repo          *Repo `protobuf:"bytes,1,opt,name=repo,proto3" json:"repo,omitempty"`
595	unknownFields protoimpl.UnknownFields
596	sizeCache     protoimpl.SizeCache
597}
598
599func (x *RepoCreated) Reset() {
600	*x = RepoCreated{}
601	mi := &file_ermite_event_proto_msgTypes[3]
602	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
603	ms.StoreMessageInfo(mi)
604}
605
606func (x *RepoCreated) String() string {
607	return protoimpl.X.MessageStringOf(x)
608}
609
610func (*RepoCreated) ProtoMessage() {}
611
612func (x *RepoCreated) ProtoReflect() protoreflect.Message {
613	mi := &file_ermite_event_proto_msgTypes[3]
614	if x != nil {
615		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
616		if ms.LoadMessageInfo() == nil {
617			ms.StoreMessageInfo(mi)
618		}
619		return ms
620	}
621	return mi.MessageOf(x)
622}
623
624// Deprecated: Use RepoCreated.ProtoReflect.Descriptor instead.
625func (*RepoCreated) Descriptor() ([]byte, []int) {
626	return file_ermite_event_proto_rawDescGZIP(), []int{3}
627}
628
629func (x *RepoCreated) GetRepo() *Repo {
630	if x != nil {
631		return x.Repo
632	}
633	return nil
634}
635
636// RepoUpdated reports a metadata change.
637type RepoUpdated struct {
638	state protoimpl.MessageState `protogen:"open.v1"`
639	// Repo is the repository after the change.
640	Repo          *Repo `protobuf:"bytes,1,opt,name=repo,proto3" json:"repo,omitempty"`
641	unknownFields protoimpl.UnknownFields
642	sizeCache     protoimpl.SizeCache
643}
644
645func (x *RepoUpdated) Reset() {
646	*x = RepoUpdated{}
647	mi := &file_ermite_event_proto_msgTypes[4]
648	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
649	ms.StoreMessageInfo(mi)
650}
651
652func (x *RepoUpdated) String() string {
653	return protoimpl.X.MessageStringOf(x)
654}
655
656func (*RepoUpdated) ProtoMessage() {}
657
658func (x *RepoUpdated) ProtoReflect() protoreflect.Message {
659	mi := &file_ermite_event_proto_msgTypes[4]
660	if x != nil {
661		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
662		if ms.LoadMessageInfo() == nil {
663			ms.StoreMessageInfo(mi)
664		}
665		return ms
666	}
667	return mi.MessageOf(x)
668}
669
670// Deprecated: Use RepoUpdated.ProtoReflect.Descriptor instead.
671func (*RepoUpdated) Descriptor() ([]byte, []int) {
672	return file_ermite_event_proto_rawDescGZIP(), []int{4}
673}
674
675func (x *RepoUpdated) GetRepo() *Repo {
676	if x != nil {
677		return x.Repo
678	}
679	return nil
680}
681
682// RepoDeleted reports a deleted repository.
683type RepoDeleted struct {
684	state protoimpl.MessageState `protogen:"open.v1"`
685	// Repo is the name of the deleted repository.
686	Repo          string `protobuf:"bytes,1,opt,name=repo,proto3" json:"repo,omitempty"`
687	unknownFields protoimpl.UnknownFields
688	sizeCache     protoimpl.SizeCache
689}
690
691func (x *RepoDeleted) Reset() {
692	*x = RepoDeleted{}
693	mi := &file_ermite_event_proto_msgTypes[5]
694	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
695	ms.StoreMessageInfo(mi)
696}
697
698func (x *RepoDeleted) String() string {
699	return protoimpl.X.MessageStringOf(x)
700}
701
702func (*RepoDeleted) ProtoMessage() {}
703
704func (x *RepoDeleted) ProtoReflect() protoreflect.Message {
705	mi := &file_ermite_event_proto_msgTypes[5]
706	if x != nil {
707		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
708		if ms.LoadMessageInfo() == nil {
709			ms.StoreMessageInfo(mi)
710		}
711		return ms
712	}
713	return mi.MessageOf(x)
714}
715
716// Deprecated: Use RepoDeleted.ProtoReflect.Descriptor instead.
717func (*RepoDeleted) Descriptor() ([]byte, []int) {
718	return file_ermite_event_proto_rawDescGZIP(), []int{5}
719}
720
721func (x *RepoDeleted) GetRepo() string {
722	if x != nil {
723		return x.Repo
724	}
725	return ""
726}
727
728// Pushed reports the ref updates of one push.
729type Pushed struct {
730	state protoimpl.MessageState `protogen:"open.v1"`
731	// Repo is the name of the repository.
732	Repo string `protobuf:"bytes,1,opt,name=repo,proto3" json:"repo,omitempty"`
733	// RefUpdates are the refs changed by the push.
734	RefUpdates    []*RefUpdate `protobuf:"bytes,2,rep,name=ref_updates,json=refUpdates,proto3" json:"ref_updates,omitempty"`
735	unknownFields protoimpl.UnknownFields
736	sizeCache     protoimpl.SizeCache
737}
738
739func (x *Pushed) Reset() {
740	*x = Pushed{}
741	mi := &file_ermite_event_proto_msgTypes[6]
742	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
743	ms.StoreMessageInfo(mi)
744}
745
746func (x *Pushed) String() string {
747	return protoimpl.X.MessageStringOf(x)
748}
749
750func (*Pushed) ProtoMessage() {}
751
752func (x *Pushed) ProtoReflect() protoreflect.Message {
753	mi := &file_ermite_event_proto_msgTypes[6]
754	if x != nil {
755		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
756		if ms.LoadMessageInfo() == nil {
757			ms.StoreMessageInfo(mi)
758		}
759		return ms
760	}
761	return mi.MessageOf(x)
762}
763
764// Deprecated: Use Pushed.ProtoReflect.Descriptor instead.
765func (*Pushed) Descriptor() ([]byte, []int) {
766	return file_ermite_event_proto_rawDescGZIP(), []int{6}
767}
768
769func (x *Pushed) GetRepo() string {
770	if x != nil {
771		return x.Repo
772	}
773	return ""
774}
775
776func (x *Pushed) GetRefUpdates() []*RefUpdate {
777	if x != nil {
778		return x.RefUpdates
779	}
780	return nil
781}
782
783// RefUpdate is the change of one ref.
784type RefUpdate struct {
785	state protoimpl.MessageState `protogen:"open.v1"`
786	// Ref is the full ref name, for example "refs/heads/main".
787	Ref string `protobuf:"bytes,1,opt,name=ref,proto3" json:"ref,omitempty"`
788	// OldId is the object id before the update. Empty when the ref was created.
789	OldId string `protobuf:"bytes,2,opt,name=old_id,json=oldId,proto3" json:"old_id,omitempty"`
790	// NewId is the object id after the update. Empty when the ref was deleted.
791	NewId         string `protobuf:"bytes,3,opt,name=new_id,json=newId,proto3" json:"new_id,omitempty"`
792	unknownFields protoimpl.UnknownFields
793	sizeCache     protoimpl.SizeCache
794}
795
796func (x *RefUpdate) Reset() {
797	*x = RefUpdate{}
798	mi := &file_ermite_event_proto_msgTypes[7]
799	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
800	ms.StoreMessageInfo(mi)
801}
802
803func (x *RefUpdate) String() string {
804	return protoimpl.X.MessageStringOf(x)
805}
806
807func (*RefUpdate) ProtoMessage() {}
808
809func (x *RefUpdate) ProtoReflect() protoreflect.Message {
810	mi := &file_ermite_event_proto_msgTypes[7]
811	if x != nil {
812		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
813		if ms.LoadMessageInfo() == nil {
814			ms.StoreMessageInfo(mi)
815		}
816		return ms
817	}
818	return mi.MessageOf(x)
819}
820
821// Deprecated: Use RefUpdate.ProtoReflect.Descriptor instead.
822func (*RefUpdate) Descriptor() ([]byte, []int) {
823	return file_ermite_event_proto_rawDescGZIP(), []int{7}
824}
825
826func (x *RefUpdate) GetRef() string {
827	if x != nil {
828		return x.Ref
829	}
830	return ""
831}
832
833func (x *RefUpdate) GetOldId() string {
834	if x != nil {
835		return x.OldId
836	}
837	return ""
838}
839
840func (x *RefUpdate) GetNewId() string {
841	if x != nil {
842		return x.NewId
843	}
844	return ""
845}
846
847// MergeRequestOpened reports a new merge request.
848type MergeRequestOpened struct {
849	state protoimpl.MessageState `protogen:"open.v1"`
850	// MergeRequest is the new merge request.
851	MergeRequest  *MergeRequest `protobuf:"bytes,1,opt,name=merge_request,json=mergeRequest,proto3" json:"merge_request,omitempty"`
852	unknownFields protoimpl.UnknownFields
853	sizeCache     protoimpl.SizeCache
854}
855
856func (x *MergeRequestOpened) Reset() {
857	*x = MergeRequestOpened{}
858	mi := &file_ermite_event_proto_msgTypes[8]
859	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
860	ms.StoreMessageInfo(mi)
861}
862
863func (x *MergeRequestOpened) String() string {
864	return protoimpl.X.MessageStringOf(x)
865}
866
867func (*MergeRequestOpened) ProtoMessage() {}
868
869func (x *MergeRequestOpened) ProtoReflect() protoreflect.Message {
870	mi := &file_ermite_event_proto_msgTypes[8]
871	if x != nil {
872		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
873		if ms.LoadMessageInfo() == nil {
874			ms.StoreMessageInfo(mi)
875		}
876		return ms
877	}
878	return mi.MessageOf(x)
879}
880
881// Deprecated: Use MergeRequestOpened.ProtoReflect.Descriptor instead.
882func (*MergeRequestOpened) Descriptor() ([]byte, []int) {
883	return file_ermite_event_proto_rawDescGZIP(), []int{8}
884}
885
886func (x *MergeRequestOpened) GetMergeRequest() *MergeRequest {
887	if x != nil {
888		return x.MergeRequest
889	}
890	return nil
891}
892
893// MergeRequestMerged reports a merged merge request. It is published before
894// the Pushed event of the target branch.
895type MergeRequestMerged struct {
896	state protoimpl.MessageState `protogen:"open.v1"`
897	// MergeRequest is the merge request after the merge.
898	MergeRequest  *MergeRequest `protobuf:"bytes,1,opt,name=merge_request,json=mergeRequest,proto3" json:"merge_request,omitempty"`
899	unknownFields protoimpl.UnknownFields
900	sizeCache     protoimpl.SizeCache
901}
902
903func (x *MergeRequestMerged) Reset() {
904	*x = MergeRequestMerged{}
905	mi := &file_ermite_event_proto_msgTypes[9]
906	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
907	ms.StoreMessageInfo(mi)
908}
909
910func (x *MergeRequestMerged) String() string {
911	return protoimpl.X.MessageStringOf(x)
912}
913
914func (*MergeRequestMerged) ProtoMessage() {}
915
916func (x *MergeRequestMerged) ProtoReflect() protoreflect.Message {
917	mi := &file_ermite_event_proto_msgTypes[9]
918	if x != nil {
919		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
920		if ms.LoadMessageInfo() == nil {
921			ms.StoreMessageInfo(mi)
922		}
923		return ms
924	}
925	return mi.MessageOf(x)
926}
927
928// Deprecated: Use MergeRequestMerged.ProtoReflect.Descriptor instead.
929func (*MergeRequestMerged) Descriptor() ([]byte, []int) {
930	return file_ermite_event_proto_rawDescGZIP(), []int{9}
931}
932
933func (x *MergeRequestMerged) GetMergeRequest() *MergeRequest {
934	if x != nil {
935		return x.MergeRequest
936	}
937	return nil
938}
939
940// MergeRequestMergeability reports the mergeability of an open merge request.
941// It is published each time the server settles a result for new tips of the
942// source or target branch, so the state may be the same as the previous
943// event's. A push that moves neither branch publishes nothing.
944type MergeRequestMergeability struct {
945	state protoimpl.MessageState `protogen:"open.v1"`
946	// Repo is the name of the repository.
947	Repo string `protobuf:"bytes,1,opt,name=repo,proto3" json:"repo,omitempty"`
948	// Number is the number of the merge request.
949	Number int64 `protobuf:"varint,2,opt,name=number,proto3" json:"number,omitempty"`
950	// Mergeability is the new result.
951	Mergeability  *Mergeability `protobuf:"bytes,3,opt,name=mergeability,proto3" json:"mergeability,omitempty"`
952	unknownFields protoimpl.UnknownFields
953	sizeCache     protoimpl.SizeCache
954}
955
956func (x *MergeRequestMergeability) Reset() {
957	*x = MergeRequestMergeability{}
958	mi := &file_ermite_event_proto_msgTypes[10]
959	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
960	ms.StoreMessageInfo(mi)
961}
962
963func (x *MergeRequestMergeability) String() string {
964	return protoimpl.X.MessageStringOf(x)
965}
966
967func (*MergeRequestMergeability) ProtoMessage() {}
968
969func (x *MergeRequestMergeability) ProtoReflect() protoreflect.Message {
970	mi := &file_ermite_event_proto_msgTypes[10]
971	if x != nil {
972		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
973		if ms.LoadMessageInfo() == nil {
974			ms.StoreMessageInfo(mi)
975		}
976		return ms
977	}
978	return mi.MessageOf(x)
979}
980
981// Deprecated: Use MergeRequestMergeability.ProtoReflect.Descriptor instead.
982func (*MergeRequestMergeability) Descriptor() ([]byte, []int) {
983	return file_ermite_event_proto_rawDescGZIP(), []int{10}
984}
985
986func (x *MergeRequestMergeability) GetRepo() string {
987	if x != nil {
988		return x.Repo
989	}
990	return ""
991}
992
993func (x *MergeRequestMergeability) GetNumber() int64 {
994	if x != nil {
995		return x.Number
996	}
997	return 0
998}
999
1000func (x *MergeRequestMergeability) GetMergeability() *Mergeability {
1001	if x != nil {
1002		return x.Mergeability
1003	}
1004	return nil
1005}
1006
1007// MergeRequestClosed reports a merge request closed without merging.
1008type MergeRequestClosed struct {
1009	state protoimpl.MessageState `protogen:"open.v1"`
1010	// MergeRequest is the merge request after closing.
1011	MergeRequest  *MergeRequest `protobuf:"bytes,1,opt,name=merge_request,json=mergeRequest,proto3" json:"merge_request,omitempty"`
1012	unknownFields protoimpl.UnknownFields
1013	sizeCache     protoimpl.SizeCache
1014}
1015
1016func (x *MergeRequestClosed) Reset() {
1017	*x = MergeRequestClosed{}
1018	mi := &file_ermite_event_proto_msgTypes[11]
1019	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1020	ms.StoreMessageInfo(mi)
1021}
1022
1023func (x *MergeRequestClosed) String() string {
1024	return protoimpl.X.MessageStringOf(x)
1025}
1026
1027func (*MergeRequestClosed) ProtoMessage() {}
1028
1029func (x *MergeRequestClosed) ProtoReflect() protoreflect.Message {
1030	mi := &file_ermite_event_proto_msgTypes[11]
1031	if x != nil {
1032		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1033		if ms.LoadMessageInfo() == nil {
1034			ms.StoreMessageInfo(mi)
1035		}
1036		return ms
1037	}
1038	return mi.MessageOf(x)
1039}
1040
1041// Deprecated: Use MergeRequestClosed.ProtoReflect.Descriptor instead.
1042func (*MergeRequestClosed) Descriptor() ([]byte, []int) {
1043	return file_ermite_event_proto_rawDescGZIP(), []int{11}
1044}
1045
1046func (x *MergeRequestClosed) GetMergeRequest() *MergeRequest {
1047	if x != nil {
1048		return x.MergeRequest
1049	}
1050	return nil
1051}
1052
1053// CommentAdded reports a new comment on a merge request.
1054type CommentAdded struct {
1055	state protoimpl.MessageState `protogen:"open.v1"`
1056	// Repo is the name of the repository.
1057	Repo string `protobuf:"bytes,1,opt,name=repo,proto3" json:"repo,omitempty"`
1058	// Number is the number of the merge request.
1059	Number int64 `protobuf:"varint,2,opt,name=number,proto3" json:"number,omitempty"`
1060	// Comment is the new comment.
1061	Comment       *Comment `protobuf:"bytes,3,opt,name=comment,proto3" json:"comment,omitempty"`
1062	unknownFields protoimpl.UnknownFields
1063	sizeCache     protoimpl.SizeCache
1064}
1065
1066func (x *CommentAdded) Reset() {
1067	*x = CommentAdded{}
1068	mi := &file_ermite_event_proto_msgTypes[12]
1069	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1070	ms.StoreMessageInfo(mi)
1071}
1072
1073func (x *CommentAdded) String() string {
1074	return protoimpl.X.MessageStringOf(x)
1075}
1076
1077func (*CommentAdded) ProtoMessage() {}
1078
1079func (x *CommentAdded) ProtoReflect() protoreflect.Message {
1080	mi := &file_ermite_event_proto_msgTypes[12]
1081	if x != nil {
1082		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1083		if ms.LoadMessageInfo() == nil {
1084			ms.StoreMessageInfo(mi)
1085		}
1086		return ms
1087	}
1088	return mi.MessageOf(x)
1089}
1090
1091// Deprecated: Use CommentAdded.ProtoReflect.Descriptor instead.
1092func (*CommentAdded) Descriptor() ([]byte, []int) {
1093	return file_ermite_event_proto_rawDescGZIP(), []int{12}
1094}
1095
1096func (x *CommentAdded) GetRepo() string {
1097	if x != nil {
1098		return x.Repo
1099	}
1100	return ""
1101}
1102
1103func (x *CommentAdded) GetNumber() int64 {
1104	if x != nil {
1105		return x.Number
1106	}
1107	return 0
1108}
1109
1110func (x *CommentAdded) GetComment() *Comment {
1111	if x != nil {
1112		return x.Comment
1113	}
1114	return nil
1115}
1116
1117// CommentEdited reports a comment of a merge request whose text was changed.
1118type CommentEdited struct {
1119	state protoimpl.MessageState `protogen:"open.v1"`
1120	// Repo is the name of the repository.
1121	Repo string `protobuf:"bytes,1,opt,name=repo,proto3" json:"repo,omitempty"`
1122	// Number is the number of the merge request.
1123	Number int64 `protobuf:"varint,2,opt,name=number,proto3" json:"number,omitempty"`
1124	// Comment is the comment after the edit.
1125	Comment       *Comment `protobuf:"bytes,3,opt,name=comment,proto3" json:"comment,omitempty"`
1126	unknownFields protoimpl.UnknownFields
1127	sizeCache     protoimpl.SizeCache
1128}
1129
1130func (x *CommentEdited) Reset() {
1131	*x = CommentEdited{}
1132	mi := &file_ermite_event_proto_msgTypes[13]
1133	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1134	ms.StoreMessageInfo(mi)
1135}
1136
1137func (x *CommentEdited) String() string {
1138	return protoimpl.X.MessageStringOf(x)
1139}
1140
1141func (*CommentEdited) ProtoMessage() {}
1142
1143func (x *CommentEdited) ProtoReflect() protoreflect.Message {
1144	mi := &file_ermite_event_proto_msgTypes[13]
1145	if x != nil {
1146		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1147		if ms.LoadMessageInfo() == nil {
1148			ms.StoreMessageInfo(mi)
1149		}
1150		return ms
1151	}
1152	return mi.MessageOf(x)
1153}
1154
1155// Deprecated: Use CommentEdited.ProtoReflect.Descriptor instead.
1156func (*CommentEdited) Descriptor() ([]byte, []int) {
1157	return file_ermite_event_proto_rawDescGZIP(), []int{13}
1158}
1159
1160func (x *CommentEdited) GetRepo() string {
1161	if x != nil {
1162		return x.Repo
1163	}
1164	return ""
1165}
1166
1167func (x *CommentEdited) GetNumber() int64 {
1168	if x != nil {
1169		return x.Number
1170	}
1171	return 0
1172}
1173
1174func (x *CommentEdited) GetComment() *Comment {
1175	if x != nil {
1176		return x.Comment
1177	}
1178	return nil
1179}
1180
1181// CommentDeleted reports a comment of a merge request that was deleted. The
1182// comment stays in the thread with deleted set and an empty text.
1183type CommentDeleted struct {
1184	state protoimpl.MessageState `protogen:"open.v1"`
1185	// Repo is the name of the repository.
1186	Repo string `protobuf:"bytes,1,opt,name=repo,proto3" json:"repo,omitempty"`
1187	// Number is the number of the merge request.
1188	Number int64 `protobuf:"varint,2,opt,name=number,proto3" json:"number,omitempty"`
1189	// Comment is the comment after the deletion.
1190	Comment       *Comment `protobuf:"bytes,3,opt,name=comment,proto3" json:"comment,omitempty"`
1191	unknownFields protoimpl.UnknownFields
1192	sizeCache     protoimpl.SizeCache
1193}
1194
1195func (x *CommentDeleted) Reset() {
1196	*x = CommentDeleted{}
1197	mi := &file_ermite_event_proto_msgTypes[14]
1198	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1199	ms.StoreMessageInfo(mi)
1200}
1201
1202func (x *CommentDeleted) String() string {
1203	return protoimpl.X.MessageStringOf(x)
1204}
1205
1206func (*CommentDeleted) ProtoMessage() {}
1207
1208func (x *CommentDeleted) ProtoReflect() protoreflect.Message {
1209	mi := &file_ermite_event_proto_msgTypes[14]
1210	if x != nil {
1211		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1212		if ms.LoadMessageInfo() == nil {
1213			ms.StoreMessageInfo(mi)
1214		}
1215		return ms
1216	}
1217	return mi.MessageOf(x)
1218}
1219
1220// Deprecated: Use CommentDeleted.ProtoReflect.Descriptor instead.
1221func (*CommentDeleted) Descriptor() ([]byte, []int) {
1222	return file_ermite_event_proto_rawDescGZIP(), []int{14}
1223}
1224
1225func (x *CommentDeleted) GetRepo() string {
1226	if x != nil {
1227		return x.Repo
1228	}
1229	return ""
1230}
1231
1232func (x *CommentDeleted) GetNumber() int64 {
1233	if x != nil {
1234		return x.Number
1235	}
1236	return 0
1237}
1238
1239func (x *CommentDeleted) GetComment() *Comment {
1240	if x != nil {
1241		return x.Comment
1242	}
1243	return nil
1244}
1245
1246// CommentResolved reports a comment of a merge request whose resolved state
1247// changed.
1248type CommentResolved struct {
1249	state protoimpl.MessageState `protogen:"open.v1"`
1250	// Repo is the name of the repository.
1251	Repo string `protobuf:"bytes,1,opt,name=repo,proto3" json:"repo,omitempty"`
1252	// Number is the number of the merge request.
1253	Number int64 `protobuf:"varint,2,opt,name=number,proto3" json:"number,omitempty"`
1254	// Comment is the comment after the change.
1255	Comment       *Comment `protobuf:"bytes,3,opt,name=comment,proto3" json:"comment,omitempty"`
1256	unknownFields protoimpl.UnknownFields
1257	sizeCache     protoimpl.SizeCache
1258}
1259
1260func (x *CommentResolved) Reset() {
1261	*x = CommentResolved{}
1262	mi := &file_ermite_event_proto_msgTypes[15]
1263	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1264	ms.StoreMessageInfo(mi)
1265}
1266
1267func (x *CommentResolved) String() string {
1268	return protoimpl.X.MessageStringOf(x)
1269}
1270
1271func (*CommentResolved) ProtoMessage() {}
1272
1273func (x *CommentResolved) ProtoReflect() protoreflect.Message {
1274	mi := &file_ermite_event_proto_msgTypes[15]
1275	if x != nil {
1276		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1277		if ms.LoadMessageInfo() == nil {
1278			ms.StoreMessageInfo(mi)
1279		}
1280		return ms
1281	}
1282	return mi.MessageOf(x)
1283}
1284
1285// Deprecated: Use CommentResolved.ProtoReflect.Descriptor instead.
1286func (*CommentResolved) Descriptor() ([]byte, []int) {
1287	return file_ermite_event_proto_rawDescGZIP(), []int{15}
1288}
1289
1290func (x *CommentResolved) GetRepo() string {
1291	if x != nil {
1292		return x.Repo
1293	}
1294	return ""
1295}
1296
1297func (x *CommentResolved) GetNumber() int64 {
1298	if x != nil {
1299		return x.Number
1300	}
1301	return 0
1302}
1303
1304func (x *CommentResolved) GetComment() *Comment {
1305	if x != nil {
1306		return x.Comment
1307	}
1308	return nil
1309}
1310
1311// IssueOpened reports a new issue.
1312type IssueOpened struct {
1313	state protoimpl.MessageState `protogen:"open.v1"`
1314	// Issue is the new issue, including its repository and number.
1315	Issue         *Issue `protobuf:"bytes,1,opt,name=issue,proto3" json:"issue,omitempty"`
1316	unknownFields protoimpl.UnknownFields
1317	sizeCache     protoimpl.SizeCache
1318}
1319
1320func (x *IssueOpened) Reset() {
1321	*x = IssueOpened{}
1322	mi := &file_ermite_event_proto_msgTypes[16]
1323	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1324	ms.StoreMessageInfo(mi)
1325}
1326
1327func (x *IssueOpened) String() string {
1328	return protoimpl.X.MessageStringOf(x)
1329}
1330
1331func (*IssueOpened) ProtoMessage() {}
1332
1333func (x *IssueOpened) ProtoReflect() protoreflect.Message {
1334	mi := &file_ermite_event_proto_msgTypes[16]
1335	if x != nil {
1336		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1337		if ms.LoadMessageInfo() == nil {
1338			ms.StoreMessageInfo(mi)
1339		}
1340		return ms
1341	}
1342	return mi.MessageOf(x)
1343}
1344
1345// Deprecated: Use IssueOpened.ProtoReflect.Descriptor instead.
1346func (*IssueOpened) Descriptor() ([]byte, []int) {
1347	return file_ermite_event_proto_rawDescGZIP(), []int{16}
1348}
1349
1350func (x *IssueOpened) GetIssue() *Issue {
1351	if x != nil {
1352		return x.Issue
1353	}
1354	return nil
1355}
1356
1357// IssueClosed reports a closed issue.
1358type IssueClosed struct {
1359	state protoimpl.MessageState `protogen:"open.v1"`
1360	// Issue is the issue after closing, including its repository and number.
1361	Issue         *Issue `protobuf:"bytes,1,opt,name=issue,proto3" json:"issue,omitempty"`
1362	unknownFields protoimpl.UnknownFields
1363	sizeCache     protoimpl.SizeCache
1364}
1365
1366func (x *IssueClosed) Reset() {
1367	*x = IssueClosed{}
1368	mi := &file_ermite_event_proto_msgTypes[17]
1369	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1370	ms.StoreMessageInfo(mi)
1371}
1372
1373func (x *IssueClosed) String() string {
1374	return protoimpl.X.MessageStringOf(x)
1375}
1376
1377func (*IssueClosed) ProtoMessage() {}
1378
1379func (x *IssueClosed) ProtoReflect() protoreflect.Message {
1380	mi := &file_ermite_event_proto_msgTypes[17]
1381	if x != nil {
1382		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1383		if ms.LoadMessageInfo() == nil {
1384			ms.StoreMessageInfo(mi)
1385		}
1386		return ms
1387	}
1388	return mi.MessageOf(x)
1389}
1390
1391// Deprecated: Use IssueClosed.ProtoReflect.Descriptor instead.
1392func (*IssueClosed) Descriptor() ([]byte, []int) {
1393	return file_ermite_event_proto_rawDescGZIP(), []int{17}
1394}
1395
1396func (x *IssueClosed) GetIssue() *Issue {
1397	if x != nil {
1398		return x.Issue
1399	}
1400	return nil
1401}
1402
1403// IssueReopened reports a reopened issue.
1404type IssueReopened struct {
1405	state protoimpl.MessageState `protogen:"open.v1"`
1406	// Issue is the issue after reopening, including its repository and number.
1407	Issue         *Issue `protobuf:"bytes,1,opt,name=issue,proto3" json:"issue,omitempty"`
1408	unknownFields protoimpl.UnknownFields
1409	sizeCache     protoimpl.SizeCache
1410}
1411
1412func (x *IssueReopened) Reset() {
1413	*x = IssueReopened{}
1414	mi := &file_ermite_event_proto_msgTypes[18]
1415	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1416	ms.StoreMessageInfo(mi)
1417}
1418
1419func (x *IssueReopened) String() string {
1420	return protoimpl.X.MessageStringOf(x)
1421}
1422
1423func (*IssueReopened) ProtoMessage() {}
1424
1425func (x *IssueReopened) ProtoReflect() protoreflect.Message {
1426	mi := &file_ermite_event_proto_msgTypes[18]
1427	if x != nil {
1428		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1429		if ms.LoadMessageInfo() == nil {
1430			ms.StoreMessageInfo(mi)
1431		}
1432		return ms
1433	}
1434	return mi.MessageOf(x)
1435}
1436
1437// Deprecated: Use IssueReopened.ProtoReflect.Descriptor instead.
1438func (*IssueReopened) Descriptor() ([]byte, []int) {
1439	return file_ermite_event_proto_rawDescGZIP(), []int{18}
1440}
1441
1442func (x *IssueReopened) GetIssue() *Issue {
1443	if x != nil {
1444		return x.Issue
1445	}
1446	return nil
1447}
1448
1449// IssueCommented reports a new comment on an issue.
1450type IssueCommented struct {
1451	state protoimpl.MessageState `protogen:"open.v1"`
1452	// Repo is the name of the repository.
1453	Repo string `protobuf:"bytes,1,opt,name=repo,proto3" json:"repo,omitempty"`
1454	// Number is the number of the issue.
1455	Number int64 `protobuf:"varint,2,opt,name=number,proto3" json:"number,omitempty"`
1456	// Comment is the new comment.
1457	Comment       *IssueComment `protobuf:"bytes,3,opt,name=comment,proto3" json:"comment,omitempty"`
1458	unknownFields protoimpl.UnknownFields
1459	sizeCache     protoimpl.SizeCache
1460}
1461
1462func (x *IssueCommented) Reset() {
1463	*x = IssueCommented{}
1464	mi := &file_ermite_event_proto_msgTypes[19]
1465	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1466	ms.StoreMessageInfo(mi)
1467}
1468
1469func (x *IssueCommented) String() string {
1470	return protoimpl.X.MessageStringOf(x)
1471}
1472
1473func (*IssueCommented) ProtoMessage() {}
1474
1475func (x *IssueCommented) ProtoReflect() protoreflect.Message {
1476	mi := &file_ermite_event_proto_msgTypes[19]
1477	if x != nil {
1478		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1479		if ms.LoadMessageInfo() == nil {
1480			ms.StoreMessageInfo(mi)
1481		}
1482		return ms
1483	}
1484	return mi.MessageOf(x)
1485}
1486
1487// Deprecated: Use IssueCommented.ProtoReflect.Descriptor instead.
1488func (*IssueCommented) Descriptor() ([]byte, []int) {
1489	return file_ermite_event_proto_rawDescGZIP(), []int{19}
1490}
1491
1492func (x *IssueCommented) GetRepo() string {
1493	if x != nil {
1494		return x.Repo
1495	}
1496	return ""
1497}
1498
1499func (x *IssueCommented) GetNumber() int64 {
1500	if x != nil {
1501		return x.Number
1502	}
1503	return 0
1504}
1505
1506func (x *IssueCommented) GetComment() *IssueComment {
1507	if x != nil {
1508		return x.Comment
1509	}
1510	return nil
1511}
1512
1513// IssueSubmitted reports an issue awaiting moderation. It is delivered only
1514// on the "owner" topic, never on "home" or "repo:<name>". It carries no title or body: content never travels in
1515// events, read it with IssueService.ListPendingIssues.
1516type IssueSubmitted struct {
1517	state protoimpl.MessageState `protogen:"open.v1"`
1518	// Repo is the name of the repository.
1519	Repo string `protobuf:"bytes,1,opt,name=repo,proto3" json:"repo,omitempty"`
1520	// Id is the PendingIssue.id.
1521	Id            string `protobuf:"bytes,2,opt,name=id,proto3" json:"id,omitempty"`
1522	unknownFields protoimpl.UnknownFields
1523	sizeCache     protoimpl.SizeCache
1524}
1525
1526func (x *IssueSubmitted) Reset() {
1527	*x = IssueSubmitted{}
1528	mi := &file_ermite_event_proto_msgTypes[20]
1529	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1530	ms.StoreMessageInfo(mi)
1531}
1532
1533func (x *IssueSubmitted) String() string {
1534	return protoimpl.X.MessageStringOf(x)
1535}
1536
1537func (*IssueSubmitted) ProtoMessage() {}
1538
1539func (x *IssueSubmitted) ProtoReflect() protoreflect.Message {
1540	mi := &file_ermite_event_proto_msgTypes[20]
1541	if x != nil {
1542		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1543		if ms.LoadMessageInfo() == nil {
1544			ms.StoreMessageInfo(mi)
1545		}
1546		return ms
1547	}
1548	return mi.MessageOf(x)
1549}
1550
1551// Deprecated: Use IssueSubmitted.ProtoReflect.Descriptor instead.
1552func (*IssueSubmitted) Descriptor() ([]byte, []int) {
1553	return file_ermite_event_proto_rawDescGZIP(), []int{20}
1554}
1555
1556func (x *IssueSubmitted) GetRepo() string {
1557	if x != nil {
1558		return x.Repo
1559	}
1560	return ""
1561}
1562
1563func (x *IssueSubmitted) GetId() string {
1564	if x != nil {
1565		return x.Id
1566	}
1567	return ""
1568}
1569
1570// Gap tells the client that events were lost: the requested resume point is
1571// older than the server's buffer. It has no fields. The client should reload
1572// the state it displays (repositories, refs, merge requests and their
1573// comments, issues and their comments, CI runs and their jobs) and carry on
1574// with the next events.
1575type Gap struct {
1576	state         protoimpl.MessageState `protogen:"open.v1"`
1577	unknownFields protoimpl.UnknownFields
1578	sizeCache     protoimpl.SizeCache
1579}
1580
1581func (x *Gap) Reset() {
1582	*x = Gap{}
1583	mi := &file_ermite_event_proto_msgTypes[21]
1584	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1585	ms.StoreMessageInfo(mi)
1586}
1587
1588func (x *Gap) String() string {
1589	return protoimpl.X.MessageStringOf(x)
1590}
1591
1592func (*Gap) ProtoMessage() {}
1593
1594func (x *Gap) ProtoReflect() protoreflect.Message {
1595	mi := &file_ermite_event_proto_msgTypes[21]
1596	if x != nil {
1597		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1598		if ms.LoadMessageInfo() == nil {
1599			ms.StoreMessageInfo(mi)
1600		}
1601		return ms
1602	}
1603	return mi.MessageOf(x)
1604}
1605
1606// Deprecated: Use Gap.ProtoReflect.Descriptor instead.
1607func (*Gap) Descriptor() ([]byte, []int) {
1608	return file_ermite_event_proto_rawDescGZIP(), []int{21}
1609}
1610
1611// RunUpdated reports a CI run that was created or whose status, conclusion or
1612// timestamps changed. It is delivered on the "repo:<name>" topic only.
1613type RunUpdated struct {
1614	state protoimpl.MessageState `protogen:"open.v1"`
1615	// Run is the run after the change, as of its latest attempt, without jobs.
1616	Run           *Run `protobuf:"bytes,1,opt,name=run,proto3" json:"run,omitempty"`
1617	unknownFields protoimpl.UnknownFields
1618	sizeCache     protoimpl.SizeCache
1619}
1620
1621func (x *RunUpdated) Reset() {
1622	*x = RunUpdated{}
1623	mi := &file_ermite_event_proto_msgTypes[22]
1624	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1625	ms.StoreMessageInfo(mi)
1626}
1627
1628func (x *RunUpdated) String() string {
1629	return protoimpl.X.MessageStringOf(x)
1630}
1631
1632func (*RunUpdated) ProtoMessage() {}
1633
1634func (x *RunUpdated) ProtoReflect() protoreflect.Message {
1635	mi := &file_ermite_event_proto_msgTypes[22]
1636	if x != nil {
1637		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1638		if ms.LoadMessageInfo() == nil {
1639			ms.StoreMessageInfo(mi)
1640		}
1641		return ms
1642	}
1643	return mi.MessageOf(x)
1644}
1645
1646// Deprecated: Use RunUpdated.ProtoReflect.Descriptor instead.
1647func (*RunUpdated) Descriptor() ([]byte, []int) {
1648	return file_ermite_event_proto_rawDescGZIP(), []int{22}
1649}
1650
1651func (x *RunUpdated) GetRun() *Run {
1652	if x != nil {
1653		return x.Run
1654	}
1655	return nil
1656}
1657
1658// JobUpdated reports a CI job that was created or whose status, conclusion,
1659// runner or steps changed. It is delivered on the "repo:<name>" topic only.
1660type JobUpdated struct {
1661	state protoimpl.MessageState `protogen:"open.v1"`
1662	// Job is the job after the change, with its steps.
1663	Job           *RunJob `protobuf:"bytes,1,opt,name=job,proto3" json:"job,omitempty"`
1664	unknownFields protoimpl.UnknownFields
1665	sizeCache     protoimpl.SizeCache
1666}
1667
1668func (x *JobUpdated) Reset() {
1669	*x = JobUpdated{}
1670	mi := &file_ermite_event_proto_msgTypes[23]
1671	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1672	ms.StoreMessageInfo(mi)
1673}
1674
1675func (x *JobUpdated) String() string {
1676	return protoimpl.X.MessageStringOf(x)
1677}
1678
1679func (*JobUpdated) ProtoMessage() {}
1680
1681func (x *JobUpdated) ProtoReflect() protoreflect.Message {
1682	mi := &file_ermite_event_proto_msgTypes[23]
1683	if x != nil {
1684		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1685		if ms.LoadMessageInfo() == nil {
1686			ms.StoreMessageInfo(mi)
1687		}
1688		return ms
1689	}
1690	return mi.MessageOf(x)
1691}
1692
1693// Deprecated: Use JobUpdated.ProtoReflect.Descriptor instead.
1694func (*JobUpdated) Descriptor() ([]byte, []int) {
1695	return file_ermite_event_proto_rawDescGZIP(), []int{23}
1696}
1697
1698func (x *JobUpdated) GetJob() *RunJob {
1699	if x != nil {
1700		return x.Job
1701	}
1702	return nil
1703}
1704
1705// MirrorFailed reports the start of a failure incident: a transition from ok
1706// or disabled into failing or paused. It is sent once per incident, not for
1707// each failed attempt nor for failing to paused. Servers with feature "mirror"
1708// deliver it on "repo:<name>" and "home", subject to repository visibility. It
1709// carries no URL, reason or error detail; read the status for those.
1710type MirrorFailed struct {
1711	state protoimpl.MessageState `protogen:"open.v1"`
1712	// Repo is the repository name.
1713	Repo string `protobuf:"bytes,1,opt,name=repo,proto3" json:"repo,omitempty"`
1714	// State is the new mirror state.
1715	State MirrorState `protobuf:"varint,2,opt,name=state,proto3,enum=ermite.MirrorState" json:"state,omitempty"`
1716	// FailureClass is the failure category.
1717	FailureClass  string `protobuf:"bytes,3,opt,name=failure_class,json=failureClass,proto3" json:"failure_class,omitempty"`
1718	unknownFields protoimpl.UnknownFields
1719	sizeCache     protoimpl.SizeCache
1720}
1721
1722func (x *MirrorFailed) Reset() {
1723	*x = MirrorFailed{}
1724	mi := &file_ermite_event_proto_msgTypes[24]
1725	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1726	ms.StoreMessageInfo(mi)
1727}
1728
1729func (x *MirrorFailed) String() string {
1730	return protoimpl.X.MessageStringOf(x)
1731}
1732
1733func (*MirrorFailed) ProtoMessage() {}
1734
1735func (x *MirrorFailed) ProtoReflect() protoreflect.Message {
1736	mi := &file_ermite_event_proto_msgTypes[24]
1737	if x != nil {
1738		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1739		if ms.LoadMessageInfo() == nil {
1740			ms.StoreMessageInfo(mi)
1741		}
1742		return ms
1743	}
1744	return mi.MessageOf(x)
1745}
1746
1747// Deprecated: Use MirrorFailed.ProtoReflect.Descriptor instead.
1748func (*MirrorFailed) Descriptor() ([]byte, []int) {
1749	return file_ermite_event_proto_rawDescGZIP(), []int{24}
1750}
1751
1752func (x *MirrorFailed) GetRepo() string {
1753	if x != nil {
1754		return x.Repo
1755	}
1756	return ""
1757}
1758
1759func (x *MirrorFailed) GetState() MirrorState {
1760	if x != nil {
1761		return x.State
1762	}
1763	return MirrorState_MIRROR_STATE_UNSPECIFIED
1764}
1765
1766func (x *MirrorFailed) GetFailureClass() string {
1767	if x != nil {
1768		return x.FailureClass
1769	}
1770	return ""
1771}
1772
1773// MirrorRecovered reports a successful sync after failing or paused. Delivery
1774// follows MirrorFailed. It carries no URL or error detail.
1775type MirrorRecovered struct {
1776	state protoimpl.MessageState `protogen:"open.v1"`
1777	// Repo is the repository name.
1778	Repo          string `protobuf:"bytes,1,opt,name=repo,proto3" json:"repo,omitempty"`
1779	unknownFields protoimpl.UnknownFields
1780	sizeCache     protoimpl.SizeCache
1781}
1782
1783func (x *MirrorRecovered) Reset() {
1784	*x = MirrorRecovered{}
1785	mi := &file_ermite_event_proto_msgTypes[25]
1786	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1787	ms.StoreMessageInfo(mi)
1788}
1789
1790func (x *MirrorRecovered) String() string {
1791	return protoimpl.X.MessageStringOf(x)
1792}
1793
1794func (*MirrorRecovered) ProtoMessage() {}
1795
1796func (x *MirrorRecovered) ProtoReflect() protoreflect.Message {
1797	mi := &file_ermite_event_proto_msgTypes[25]
1798	if x != nil {
1799		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1800		if ms.LoadMessageInfo() == nil {
1801			ms.StoreMessageInfo(mi)
1802		}
1803		return ms
1804	}
1805	return mi.MessageOf(x)
1806}
1807
1808// Deprecated: Use MirrorRecovered.ProtoReflect.Descriptor instead.
1809func (*MirrorRecovered) Descriptor() ([]byte, []int) {
1810	return file_ermite_event_proto_rawDescGZIP(), []int{25}
1811}
1812
1813func (x *MirrorRecovered) GetRepo() string {
1814	if x != nil {
1815		return x.Repo
1816	}
1817	return ""
1818}
1819
1820var File_ermite_event_proto protoreflect.FileDescriptor
1821
1822const file_ermite_event_proto_rawDesc = "" +
1823	"\n" +
1824	"\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" +
1825	"\fWatchRequest\x12\x16\n" +
1826	"\x06topics\x18\x01 \x03(\tR\x06topics\x12!\n" +
1827	"\fresume_after\x18\x02 \x01(\tR\vresumeAfter\"4\n" +
1828	"\rWatchResponse\x12#\n" +
1829	"\x05event\x18\x01 \x01(\v2\r.ermite.EventR\x05event\"\xcb\v\n" +
1830	"\x05Event\x12\x0e\n" +
1831	"\x02id\x18\x01 \x01(\tR\x02id\x12.\n" +
1832	"\x04time\x18\x02 \x01(\v2\x1a.google.protobuf.TimestampR\x04time\x128\n" +
1833	"\frepo_created\x18\x03 \x01(\v2\x13.ermite.RepoCreatedH\x00R\vrepoCreated\x128\n" +
1834	"\frepo_updated\x18\x04 \x01(\v2\x13.ermite.RepoUpdatedH\x00R\vrepoUpdated\x128\n" +
1835	"\frepo_deleted\x18\x05 \x01(\v2\x13.ermite.RepoDeletedH\x00R\vrepoDeleted\x12(\n" +
1836	"\x06pushed\x18\x06 \x01(\v2\x0e.ermite.PushedH\x00R\x06pushed\x12\x1f\n" +
1837	"\x03gap\x18\a \x01(\v2\v.ermite.GapH\x00R\x03gap\x12N\n" +
1838	"\x14merge_request_opened\x18\b \x01(\v2\x1a.ermite.MergeRequestOpenedH\x00R\x12mergeRequestOpened\x12N\n" +
1839	"\x14merge_request_merged\x18\t \x01(\v2\x1a.ermite.MergeRequestMergedH\x00R\x12mergeRequestMerged\x12N\n" +
1840	"\x14merge_request_closed\x18\n" +
1841	" \x01(\v2\x1a.ermite.MergeRequestClosedH\x00R\x12mergeRequestClosed\x12;\n" +
1842	"\rcomment_added\x18\v \x01(\v2\x14.ermite.CommentAddedH\x00R\fcommentAdded\x125\n" +
1843	"\vrun_updated\x18\f \x01(\v2\x12.ermite.RunUpdatedH\x00R\n" +
1844	"runUpdated\x125\n" +
1845	"\vjob_updated\x18\r \x01(\v2\x12.ermite.JobUpdatedH\x00R\n" +
1846	"jobUpdated\x12>\n" +
1847	"\x0ecomment_edited\x18\x0e \x01(\v2\x15.ermite.CommentEditedH\x00R\rcommentEdited\x12A\n" +
1848	"\x0fcomment_deleted\x18\x0f \x01(\v2\x16.ermite.CommentDeletedH\x00R\x0ecommentDeleted\x12D\n" +
1849	"\x10comment_resolved\x18\x10 \x01(\v2\x17.ermite.CommentResolvedH\x00R\x0fcommentResolved\x128\n" +
1850	"\fissue_opened\x18\x11 \x01(\v2\x13.ermite.IssueOpenedH\x00R\vissueOpened\x128\n" +
1851	"\fissue_closed\x18\x12 \x01(\v2\x13.ermite.IssueClosedH\x00R\vissueClosed\x12>\n" +
1852	"\x0eissue_reopened\x18\x13 \x01(\v2\x15.ermite.IssueReopenedH\x00R\rissueReopened\x12A\n" +
1853	"\x0fissue_commented\x18\x14 \x01(\v2\x16.ermite.IssueCommentedH\x00R\x0eissueCommented\x12A\n" +
1854	"\x0fissue_submitted\x18\x15 \x01(\v2\x16.ermite.IssueSubmittedH\x00R\x0eissueSubmitted\x12`\n" +
1855	"\x1amerge_request_mergeability\x18\x16 \x01(\v2 .ermite.MergeRequestMergeabilityH\x00R\x18mergeRequestMergeability\x12;\n" +
1856	"\rmirror_failed\x18\x17 \x01(\v2\x14.ermite.MirrorFailedH\x00R\fmirrorFailed\x12D\n" +
1857	"\x10mirror_recovered\x18\x18 \x01(\v2\x17.ermite.MirrorRecoveredH\x00R\x0fmirrorRecoveredB\x06\n" +
1858	"\x04kind\"/\n" +
1859	"\vRepoCreated\x12 \n" +
1860	"\x04repo\x18\x01 \x01(\v2\f.ermite.RepoR\x04repo\"/\n" +
1861	"\vRepoUpdated\x12 \n" +
1862	"\x04repo\x18\x01 \x01(\v2\f.ermite.RepoR\x04repo\"!\n" +
1863	"\vRepoDeleted\x12\x12\n" +
1864	"\x04repo\x18\x01 \x01(\tR\x04repo\"P\n" +
1865	"\x06Pushed\x12\x12\n" +
1866	"\x04repo\x18\x01 \x01(\tR\x04repo\x122\n" +
1867	"\vref_updates\x18\x02 \x03(\v2\x11.ermite.RefUpdateR\n" +
1868	"refUpdates\"K\n" +
1869	"\tRefUpdate\x12\x10\n" +
1870	"\x03ref\x18\x01 \x01(\tR\x03ref\x12\x15\n" +
1871	"\x06old_id\x18\x02 \x01(\tR\x05oldId\x12\x15\n" +
1872	"\x06new_id\x18\x03 \x01(\tR\x05newId\"O\n" +
1873	"\x12MergeRequestOpened\x129\n" +
1874	"\rmerge_request\x18\x01 \x01(\v2\x14.ermite.MergeRequestR\fmergeRequest\"O\n" +
1875	"\x12MergeRequestMerged\x129\n" +
1876	"\rmerge_request\x18\x01 \x01(\v2\x14.ermite.MergeRequestR\fmergeRequest\"\x80\x01\n" +
1877	"\x18MergeRequestMergeability\x12\x12\n" +
1878	"\x04repo\x18\x01 \x01(\tR\x04repo\x12\x16\n" +
1879	"\x06number\x18\x02 \x01(\x03R\x06number\x128\n" +
1880	"\fmergeability\x18\x03 \x01(\v2\x14.ermite.MergeabilityR\fmergeability\"O\n" +
1881	"\x12MergeRequestClosed\x129\n" +
1882	"\rmerge_request\x18\x01 \x01(\v2\x14.ermite.MergeRequestR\fmergeRequest\"e\n" +
1883	"\fCommentAdded\x12\x12\n" +
1884	"\x04repo\x18\x01 \x01(\tR\x04repo\x12\x16\n" +
1885	"\x06number\x18\x02 \x01(\x03R\x06number\x12)\n" +
1886	"\acomment\x18\x03 \x01(\v2\x0f.ermite.CommentR\acomment\"f\n" +
1887	"\rCommentEdited\x12\x12\n" +
1888	"\x04repo\x18\x01 \x01(\tR\x04repo\x12\x16\n" +
1889	"\x06number\x18\x02 \x01(\x03R\x06number\x12)\n" +
1890	"\acomment\x18\x03 \x01(\v2\x0f.ermite.CommentR\acomment\"g\n" +
1891	"\x0eCommentDeleted\x12\x12\n" +
1892	"\x04repo\x18\x01 \x01(\tR\x04repo\x12\x16\n" +
1893	"\x06number\x18\x02 \x01(\x03R\x06number\x12)\n" +
1894	"\acomment\x18\x03 \x01(\v2\x0f.ermite.CommentR\acomment\"h\n" +
1895	"\x0fCommentResolved\x12\x12\n" +
1896	"\x04repo\x18\x01 \x01(\tR\x04repo\x12\x16\n" +
1897	"\x06number\x18\x02 \x01(\x03R\x06number\x12)\n" +
1898	"\acomment\x18\x03 \x01(\v2\x0f.ermite.CommentR\acomment\"2\n" +
1899	"\vIssueOpened\x12#\n" +
1900	"\x05issue\x18\x01 \x01(\v2\r.ermite.IssueR\x05issue\"2\n" +
1901	"\vIssueClosed\x12#\n" +
1902	"\x05issue\x18\x01 \x01(\v2\r.ermite.IssueR\x05issue\"4\n" +
1903	"\rIssueReopened\x12#\n" +
1904	"\x05issue\x18\x01 \x01(\v2\r.ermite.IssueR\x05issue\"l\n" +
1905	"\x0eIssueCommented\x12\x12\n" +
1906	"\x04repo\x18\x01 \x01(\tR\x04repo\x12\x16\n" +
1907	"\x06number\x18\x02 \x01(\x03R\x06number\x12.\n" +
1908	"\acomment\x18\x03 \x01(\v2\x14.ermite.IssueCommentR\acomment\"4\n" +
1909	"\x0eIssueSubmitted\x12\x12\n" +
1910	"\x04repo\x18\x01 \x01(\tR\x04repo\x12\x0e\n" +
1911	"\x02id\x18\x02 \x01(\tR\x02id\"\x05\n" +
1912	"\x03Gap\"+\n" +
1913	"\n" +
1914	"RunUpdated\x12\x1d\n" +
1915	"\x03run\x18\x01 \x01(\v2\v.ermite.RunR\x03run\".\n" +
1916	"\n" +
1917	"JobUpdated\x12 \n" +
1918	"\x03job\x18\x01 \x01(\v2\x0e.ermite.RunJobR\x03job\"\x80\x01\n" +
1919	"\fMirrorFailed\x12\x12\n" +
1920	"\x04repo\x18\x01 \x01(\tR\x04repo\x12)\n" +
1921	"\x05state\x18\x02 \x01(\x0e2\x13.ermite.MirrorStateR\x05state\x12#\n" +
1922	"\rfailure_class\x18\x03 \x01(\tR\ffailureClassJ\x04\b\x04\x10\x05R\x06reason\"%\n" +
1923	"\x0fMirrorRecovered\x12\x12\n" +
1924	"\x04repo\x18\x01 \x01(\tR\x04repo2F\n" +
1925	"\fEventService\x126\n" +
1926	"\x05Watch\x12\x14.ermite.WatchRequest\x1a\x15.ermite.WatchResponse0\x01Bq\n" +
1927	"\n" +
1928	"com.ermiteB\n" +
1929	"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"
1930
1931var (
1932	file_ermite_event_proto_rawDescOnce sync.Once
1933	file_ermite_event_proto_rawDescData []byte
1934)
1935
1936func file_ermite_event_proto_rawDescGZIP() []byte {
1937	file_ermite_event_proto_rawDescOnce.Do(func() {
1938		file_ermite_event_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_ermite_event_proto_rawDesc), len(file_ermite_event_proto_rawDesc)))
1939	})
1940	return file_ermite_event_proto_rawDescData
1941}
1942
1943var file_ermite_event_proto_msgTypes = make([]protoimpl.MessageInfo, 26)
1944var file_ermite_event_proto_goTypes = []any{
1945	(*WatchRequest)(nil),             // 0: ermite.WatchRequest
1946	(*WatchResponse)(nil),            // 1: ermite.WatchResponse
1947	(*Event)(nil),                    // 2: ermite.Event
1948	(*RepoCreated)(nil),              // 3: ermite.RepoCreated
1949	(*RepoUpdated)(nil),              // 4: ermite.RepoUpdated
1950	(*RepoDeleted)(nil),              // 5: ermite.RepoDeleted
1951	(*Pushed)(nil),                   // 6: ermite.Pushed
1952	(*RefUpdate)(nil),                // 7: ermite.RefUpdate
1953	(*MergeRequestOpened)(nil),       // 8: ermite.MergeRequestOpened
1954	(*MergeRequestMerged)(nil),       // 9: ermite.MergeRequestMerged
1955	(*MergeRequestMergeability)(nil), // 10: ermite.MergeRequestMergeability
1956	(*MergeRequestClosed)(nil),       // 11: ermite.MergeRequestClosed
1957	(*CommentAdded)(nil),             // 12: ermite.CommentAdded
1958	(*CommentEdited)(nil),            // 13: ermite.CommentEdited
1959	(*CommentDeleted)(nil),           // 14: ermite.CommentDeleted
1960	(*CommentResolved)(nil),          // 15: ermite.CommentResolved
1961	(*IssueOpened)(nil),              // 16: ermite.IssueOpened
1962	(*IssueClosed)(nil),              // 17: ermite.IssueClosed
1963	(*IssueReopened)(nil),            // 18: ermite.IssueReopened
1964	(*IssueCommented)(nil),           // 19: ermite.IssueCommented
1965	(*IssueSubmitted)(nil),           // 20: ermite.IssueSubmitted
1966	(*Gap)(nil),                      // 21: ermite.Gap
1967	(*RunUpdated)(nil),               // 22: ermite.RunUpdated
1968	(*JobUpdated)(nil),               // 23: ermite.JobUpdated
1969	(*MirrorFailed)(nil),             // 24: ermite.MirrorFailed
1970	(*MirrorRecovered)(nil),          // 25: ermite.MirrorRecovered
1971	(*timestamppb.Timestamp)(nil),    // 26: google.protobuf.Timestamp
1972	(*Repo)(nil),                     // 27: ermite.Repo
1973	(*MergeRequest)(nil),             // 28: ermite.MergeRequest
1974	(*Mergeability)(nil),             // 29: ermite.Mergeability
1975	(*Comment)(nil),                  // 30: ermite.Comment
1976	(*Issue)(nil),                    // 31: ermite.Issue
1977	(*IssueComment)(nil),             // 32: ermite.IssueComment
1978	(*Run)(nil),                      // 33: ermite.Run
1979	(*RunJob)(nil),                   // 34: ermite.RunJob
1980	(MirrorState)(0),                 // 35: ermite.MirrorState
1981}
1982var file_ermite_event_proto_depIdxs = []int32{
1983	2,  // 0: ermite.WatchResponse.event:type_name -> ermite.Event
1984	26, // 1: ermite.Event.time:type_name -> google.protobuf.Timestamp
1985	3,  // 2: ermite.Event.repo_created:type_name -> ermite.RepoCreated
1986	4,  // 3: ermite.Event.repo_updated:type_name -> ermite.RepoUpdated
1987	5,  // 4: ermite.Event.repo_deleted:type_name -> ermite.RepoDeleted
1988	6,  // 5: ermite.Event.pushed:type_name -> ermite.Pushed
1989	21, // 6: ermite.Event.gap:type_name -> ermite.Gap
1990	8,  // 7: ermite.Event.merge_request_opened:type_name -> ermite.MergeRequestOpened
1991	9,  // 8: ermite.Event.merge_request_merged:type_name -> ermite.MergeRequestMerged
1992	11, // 9: ermite.Event.merge_request_closed:type_name -> ermite.MergeRequestClosed
1993	12, // 10: ermite.Event.comment_added:type_name -> ermite.CommentAdded
1994	22, // 11: ermite.Event.run_updated:type_name -> ermite.RunUpdated
1995	23, // 12: ermite.Event.job_updated:type_name -> ermite.JobUpdated
1996	13, // 13: ermite.Event.comment_edited:type_name -> ermite.CommentEdited
1997	14, // 14: ermite.Event.comment_deleted:type_name -> ermite.CommentDeleted
1998	15, // 15: ermite.Event.comment_resolved:type_name -> ermite.CommentResolved
1999	16, // 16: ermite.Event.issue_opened:type_name -> ermite.IssueOpened
2000	17, // 17: ermite.Event.issue_closed:type_name -> ermite.IssueClosed
2001	18, // 18: ermite.Event.issue_reopened:type_name -> ermite.IssueReopened
2002	19, // 19: ermite.Event.issue_commented:type_name -> ermite.IssueCommented
2003	20, // 20: ermite.Event.issue_submitted:type_name -> ermite.IssueSubmitted
2004	10, // 21: ermite.Event.merge_request_mergeability:type_name -> ermite.MergeRequestMergeability
2005	24, // 22: ermite.Event.mirror_failed:type_name -> ermite.MirrorFailed
2006	25, // 23: ermite.Event.mirror_recovered:type_name -> ermite.MirrorRecovered
2007	27, // 24: ermite.RepoCreated.repo:type_name -> ermite.Repo
2008	27, // 25: ermite.RepoUpdated.repo:type_name -> ermite.Repo
2009	7,  // 26: ermite.Pushed.ref_updates:type_name -> ermite.RefUpdate
2010	28, // 27: ermite.MergeRequestOpened.merge_request:type_name -> ermite.MergeRequest
2011	28, // 28: ermite.MergeRequestMerged.merge_request:type_name -> ermite.MergeRequest
2012	29, // 29: ermite.MergeRequestMergeability.mergeability:type_name -> ermite.Mergeability
2013	28, // 30: ermite.MergeRequestClosed.merge_request:type_name -> ermite.MergeRequest
2014	30, // 31: ermite.CommentAdded.comment:type_name -> ermite.Comment
2015	30, // 32: ermite.CommentEdited.comment:type_name -> ermite.Comment
2016	30, // 33: ermite.CommentDeleted.comment:type_name -> ermite.Comment
2017	30, // 34: ermite.CommentResolved.comment:type_name -> ermite.Comment
2018	31, // 35: ermite.IssueOpened.issue:type_name -> ermite.Issue
2019	31, // 36: ermite.IssueClosed.issue:type_name -> ermite.Issue
2020	31, // 37: ermite.IssueReopened.issue:type_name -> ermite.Issue
2021	32, // 38: ermite.IssueCommented.comment:type_name -> ermite.IssueComment
2022	33, // 39: ermite.RunUpdated.run:type_name -> ermite.Run
2023	34, // 40: ermite.JobUpdated.job:type_name -> ermite.RunJob
2024	35, // 41: ermite.MirrorFailed.state:type_name -> ermite.MirrorState
2025	0,  // 42: ermite.EventService.Watch:input_type -> ermite.WatchRequest
2026	1,  // 43: ermite.EventService.Watch:output_type -> ermite.WatchResponse
2027	43, // [43:44] is the sub-list for method output_type
2028	42, // [42:43] is the sub-list for method input_type
2029	42, // [42:42] is the sub-list for extension type_name
2030	42, // [42:42] is the sub-list for extension extendee
2031	0,  // [0:42] is the sub-list for field type_name
2032}
2033
2034func init() { file_ermite_event_proto_init() }
2035func file_ermite_event_proto_init() {
2036	if File_ermite_event_proto != nil {
2037		return
2038	}
2039	file_ermite_issue_proto_init()
2040	file_ermite_merge_request_proto_init()
2041	file_ermite_mirror_proto_init()
2042	file_ermite_repo_proto_init()
2043	file_ermite_run_proto_init()
2044	file_ermite_event_proto_msgTypes[2].OneofWrappers = []any{
2045		(*Event_RepoCreated)(nil),
2046		(*Event_RepoUpdated)(nil),
2047		(*Event_RepoDeleted)(nil),
2048		(*Event_Pushed)(nil),
2049		(*Event_Gap)(nil),
2050		(*Event_MergeRequestOpened)(nil),
2051		(*Event_MergeRequestMerged)(nil),
2052		(*Event_MergeRequestClosed)(nil),
2053		(*Event_CommentAdded)(nil),
2054		(*Event_RunUpdated)(nil),
2055		(*Event_JobUpdated)(nil),
2056		(*Event_CommentEdited)(nil),
2057		(*Event_CommentDeleted)(nil),
2058		(*Event_CommentResolved)(nil),
2059		(*Event_IssueOpened)(nil),
2060		(*Event_IssueClosed)(nil),
2061		(*Event_IssueReopened)(nil),
2062		(*Event_IssueCommented)(nil),
2063		(*Event_IssueSubmitted)(nil),
2064		(*Event_MergeRequestMergeability)(nil),
2065		(*Event_MirrorFailed)(nil),
2066		(*Event_MirrorRecovered)(nil),
2067	}
2068	type x struct{}
2069	out := protoimpl.TypeBuilder{
2070		File: protoimpl.DescBuilder{
2071			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
2072			RawDescriptor: unsafe.Slice(unsafe.StringData(file_ermite_event_proto_rawDesc), len(file_ermite_event_proto_rawDesc)),
2073			NumEnums:      0,
2074			NumMessages:   26,
2075			NumExtensions: 0,
2076			NumServices:   1,
2077		},
2078		GoTypes:           file_ermite_event_proto_goTypes,
2079		DependencyIndexes: file_ermite_event_proto_depIdxs,
2080		MessageInfos:      file_ermite_event_proto_msgTypes,
2081	}.Build()
2082	File_ermite_event_proto = out.File
2083	file_ermite_event_proto_goTypes = nil
2084	file_ermite_event_proto_depIdxs = nil
2085}

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