| // Copyright 2017 The LUCI Authors. All rights reserved. |
| // Use of this source code is governed under the Apache License, Version 2.0 |
| // that can be found in the LICENSE file. |
| |
| // Schema for project-level configuration in luci-notify. |
| |
| // luci-notify users can define custom email templates, |
| // see |
| // [email_templates.md](https://chromium.googlesource.com/infra/luci/luci-go/+/HEAD/luci_notify/doc/email_templates.md) |
| |
| // Code generated by protoc-gen-go. DO NOT EDIT. |
| // versions: |
| // protoc-gen-go v1.31.0 |
| // protoc v3.21.7 |
| // source: go.chromium.org/luci/luci_notify/api/config/notify.proto |
| |
| package config |
| |
| import ( |
| proto "go.chromium.org/luci/buildbucket/proto" |
| _ "go.chromium.org/luci/common/proto" |
| protoreflect "google.golang.org/protobuf/reflect/protoreflect" |
| protoimpl "google.golang.org/protobuf/runtime/protoimpl" |
| reflect "reflect" |
| sync "sync" |
| ) |
| |
| const ( |
| // Verify that this generated code is sufficiently up-to-date. |
| _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) |
| // Verify that runtime/protoimpl is sufficiently up-to-date. |
| _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) |
| ) |
| |
| // ProjectConfig is a luci-notify configuration for a particular project. |
| type ProjectConfig struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| // Notifiers is a list of Notifiers which watch builders and send |
| // notifications for this project. |
| Notifiers []*Notifier `protobuf:"bytes,1,rep,name=notifiers,proto3" json:"notifiers,omitempty"` |
| // If false, then LUCI-Notify won't actually close trees, only log what |
| // actions it would have taken. |
| TreeClosingEnabled bool `protobuf:"varint,2,opt,name=tree_closing_enabled,json=treeClosingEnabled,proto3" json:"tree_closing_enabled,omitempty"` |
| } |
| |
| func (x *ProjectConfig) Reset() { |
| *x = ProjectConfig{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_go_chromium_org_luci_luci_notify_api_config_notify_proto_msgTypes[0] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *ProjectConfig) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*ProjectConfig) ProtoMessage() {} |
| |
| func (x *ProjectConfig) ProtoReflect() protoreflect.Message { |
| mi := &file_go_chromium_org_luci_luci_notify_api_config_notify_proto_msgTypes[0] |
| if protoimpl.UnsafeEnabled && x != nil { |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| if ms.LoadMessageInfo() == nil { |
| ms.StoreMessageInfo(mi) |
| } |
| return ms |
| } |
| return mi.MessageOf(x) |
| } |
| |
| // Deprecated: Use ProjectConfig.ProtoReflect.Descriptor instead. |
| func (*ProjectConfig) Descriptor() ([]byte, []int) { |
| return file_go_chromium_org_luci_luci_notify_api_config_notify_proto_rawDescGZIP(), []int{0} |
| } |
| |
| func (x *ProjectConfig) GetNotifiers() []*Notifier { |
| if x != nil { |
| return x.Notifiers |
| } |
| return nil |
| } |
| |
| func (x *ProjectConfig) GetTreeClosingEnabled() bool { |
| if x != nil { |
| return x.TreeClosingEnabled |
| } |
| return false |
| } |
| |
| // Notifier contains a set of notification configurations (which specify |
| // triggers to send notifications on) and a set of builders that will be |
| // watched for these triggers. |
| type Notifier struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| // Name is an identifier for the notifier which must be unique within a |
| // project. |
| // |
| // Name must additionally match ^[a-z\-]+$, meaning it must only |
| // use an alphabet of lowercase characters and hyphens. |
| // |
| // Required. |
| Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` |
| // Notifications is a list of notification configurations. |
| Notifications []*Notification `protobuf:"bytes,2,rep,name=notifications,proto3" json:"notifications,omitempty"` |
| // Builders is a list of buildbucket builders this Notifier should watch. |
| Builders []*Builder `protobuf:"bytes,3,rep,name=builders,proto3" json:"builders,omitempty"` |
| // A list of tree closing rules to execute for this notifier. |
| TreeClosers []*TreeCloser `protobuf:"bytes,4,rep,name=tree_closers,json=treeClosers,proto3" json:"tree_closers,omitempty"` |
| } |
| |
| func (x *Notifier) Reset() { |
| *x = Notifier{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_go_chromium_org_luci_luci_notify_api_config_notify_proto_msgTypes[1] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *Notifier) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*Notifier) ProtoMessage() {} |
| |
| func (x *Notifier) ProtoReflect() protoreflect.Message { |
| mi := &file_go_chromium_org_luci_luci_notify_api_config_notify_proto_msgTypes[1] |
| if protoimpl.UnsafeEnabled && x != nil { |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| if ms.LoadMessageInfo() == nil { |
| ms.StoreMessageInfo(mi) |
| } |
| return ms |
| } |
| return mi.MessageOf(x) |
| } |
| |
| // Deprecated: Use Notifier.ProtoReflect.Descriptor instead. |
| func (*Notifier) Descriptor() ([]byte, []int) { |
| return file_go_chromium_org_luci_luci_notify_api_config_notify_proto_rawDescGZIP(), []int{1} |
| } |
| |
| func (x *Notifier) GetName() string { |
| if x != nil { |
| return x.Name |
| } |
| return "" |
| } |
| |
| func (x *Notifier) GetNotifications() []*Notification { |
| if x != nil { |
| return x.Notifications |
| } |
| return nil |
| } |
| |
| func (x *Notifier) GetBuilders() []*Builder { |
| if x != nil { |
| return x.Builders |
| } |
| return nil |
| } |
| |
| func (x *Notifier) GetTreeClosers() []*TreeCloser { |
| if x != nil { |
| return x.TreeClosers |
| } |
| return nil |
| } |
| |
| // Notification specifies the triggers to watch for and send |
| // notifications on. It also specifies email recipients. |
| // |
| // Next ID: 13. |
| type Notification struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| // Deprecated. Notify on each build success. |
| OnSuccess bool `protobuf:"varint,1,opt,name=on_success,json=onSuccess,proto3" json:"on_success,omitempty"` |
| // Deprecated. Notify on each build failure. |
| OnFailure bool `protobuf:"varint,2,opt,name=on_failure,json=onFailure,proto3" json:"on_failure,omitempty"` |
| // Deprecated. Notify on each build status different than the previous one. |
| OnChange bool `protobuf:"varint,3,opt,name=on_change,json=onChange,proto3" json:"on_change,omitempty"` |
| // Deprecated. Notify on each build failure unless the previous build was a |
| // failure. |
| OnNewFailure bool `protobuf:"varint,7,opt,name=on_new_failure,json=onNewFailure,proto3" json:"on_new_failure,omitempty"` |
| // Notify on each build with a specified status. |
| OnOccurrence []proto.Status `protobuf:"varint,9,rep,packed,name=on_occurrence,json=onOccurrence,proto3,enum=buildbucket.v2.Status" json:"on_occurrence,omitempty"` |
| // Notify on each build with a specified status different than the previous |
| // one. |
| OnNewStatus []proto.Status `protobuf:"varint,10,rep,packed,name=on_new_status,json=onNewStatus,proto3,enum=buildbucket.v2.Status" json:"on_new_status,omitempty"` |
| // Notify only on builds which had a failing step matching this regular |
| // expression. Mutually exclusive with "on_new_status". |
| FailedStepRegexp string `protobuf:"bytes,11,opt,name=failed_step_regexp,json=failedStepRegexp,proto3" json:"failed_step_regexp,omitempty"` |
| // Notify only on builds which don't have a failing step matching this regular |
| // expression. May be combined with "failed_step_regexp", in which case it |
| // must also have a failed step matching that regular expression. Mutually |
| // exclusive with "on_new_status". |
| FailedStepRegexpExclude string `protobuf:"bytes,12,opt,name=failed_step_regexp_exclude,json=failedStepRegexpExclude,proto3" json:"failed_step_regexp_exclude,omitempty"` |
| // Email is the set of email addresses to notify. |
| // |
| // Optional. |
| Email *Notification_Email `protobuf:"bytes,4,opt,name=email,proto3" json:"email,omitempty"` |
| // Refers to which project template name to use to format this email. |
| // If not present, "default" will be used. |
| // |
| // Optional. |
| Template string `protobuf:"bytes,5,opt,name=template,proto3" json:"template,omitempty"` |
| // NotifyBlamelist specifies whether to notify the computed blamelist for a |
| // given build. |
| // |
| // If set, this notification will be sent to the blamelist of a build. Note |
| // that if this is set in multiple notifications pertaining to the same |
| // builder, the blamelist may receive multiple emails. |
| // |
| // Optional. |
| NotifyBlamelist *Notification_Blamelist `protobuf:"bytes,6,opt,name=notify_blamelist,json=notifyBlamelist,proto3" json:"notify_blamelist,omitempty"` |
| } |
| |
| func (x *Notification) Reset() { |
| *x = Notification{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_go_chromium_org_luci_luci_notify_api_config_notify_proto_msgTypes[2] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *Notification) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*Notification) ProtoMessage() {} |
| |
| func (x *Notification) ProtoReflect() protoreflect.Message { |
| mi := &file_go_chromium_org_luci_luci_notify_api_config_notify_proto_msgTypes[2] |
| if protoimpl.UnsafeEnabled && x != nil { |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| if ms.LoadMessageInfo() == nil { |
| ms.StoreMessageInfo(mi) |
| } |
| return ms |
| } |
| return mi.MessageOf(x) |
| } |
| |
| // Deprecated: Use Notification.ProtoReflect.Descriptor instead. |
| func (*Notification) Descriptor() ([]byte, []int) { |
| return file_go_chromium_org_luci_luci_notify_api_config_notify_proto_rawDescGZIP(), []int{2} |
| } |
| |
| func (x *Notification) GetOnSuccess() bool { |
| if x != nil { |
| return x.OnSuccess |
| } |
| return false |
| } |
| |
| func (x *Notification) GetOnFailure() bool { |
| if x != nil { |
| return x.OnFailure |
| } |
| return false |
| } |
| |
| func (x *Notification) GetOnChange() bool { |
| if x != nil { |
| return x.OnChange |
| } |
| return false |
| } |
| |
| func (x *Notification) GetOnNewFailure() bool { |
| if x != nil { |
| return x.OnNewFailure |
| } |
| return false |
| } |
| |
| func (x *Notification) GetOnOccurrence() []proto.Status { |
| if x != nil { |
| return x.OnOccurrence |
| } |
| return nil |
| } |
| |
| func (x *Notification) GetOnNewStatus() []proto.Status { |
| if x != nil { |
| return x.OnNewStatus |
| } |
| return nil |
| } |
| |
| func (x *Notification) GetFailedStepRegexp() string { |
| if x != nil { |
| return x.FailedStepRegexp |
| } |
| return "" |
| } |
| |
| func (x *Notification) GetFailedStepRegexpExclude() string { |
| if x != nil { |
| return x.FailedStepRegexpExclude |
| } |
| return "" |
| } |
| |
| func (x *Notification) GetEmail() *Notification_Email { |
| if x != nil { |
| return x.Email |
| } |
| return nil |
| } |
| |
| func (x *Notification) GetTemplate() string { |
| if x != nil { |
| return x.Template |
| } |
| return "" |
| } |
| |
| func (x *Notification) GetNotifyBlamelist() *Notification_Blamelist { |
| if x != nil { |
| return x.NotifyBlamelist |
| } |
| return nil |
| } |
| |
| // TreeCloser represents an action which closes a tree, by interfacing with an |
| // instance of the tree-status app. |
| type TreeCloser struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| // DEPRECATED: The hostname of the tree-status instance which this rule opens and closes. |
| // This is being replaced by the tree_name field below. For the migration period, |
| // well known values of this field will be automatically translated to values of |
| // the tree_name field. |
| TreeStatusHost string `protobuf:"bytes,1,opt,name=tree_status_host,json=treeStatusHost,proto3" json:"tree_status_host,omitempty"` |
| // Close the tree only on builds which had a failing step matching this |
| // regular expression. |
| FailedStepRegexp string `protobuf:"bytes,2,opt,name=failed_step_regexp,json=failedStepRegexp,proto3" json:"failed_step_regexp,omitempty"` |
| // Close the tree only on builds which don't have a failing step matching this |
| // regular expression. May be combined with "failed_step_regexp", in which |
| // case it must also have a failed step matching that regular expression. |
| FailedStepRegexpExclude string `protobuf:"bytes,3,opt,name=failed_step_regexp_exclude,json=failedStepRegexpExclude,proto3" json:"failed_step_regexp_exclude,omitempty"` |
| // Refers to which project template name to use to format this email. |
| // If not present, "default_tree_status" will be used. |
| Template string `protobuf:"bytes,4,opt,name=template,proto3" json:"template,omitempty"` |
| // The identifier of the tree to close. |
| // Must match the regexp [a-z](?:[a-z0-9-]{0,61}[a-z0-9])?. |
| // |
| // Once tree_status_host field is removed, this field will be required. |
| // If this field is not provided, a value will be created based on the list of |
| // known status app instances as at 2024-01-01. |
| // ie. if this field is empty but tree_status_host is 'https://chromium-status.appspot.com' |
| // This field will be given the value 'chromium'. |
| TreeName string `protobuf:"bytes,5,opt,name=tree_name,json=treeName,proto3" json:"tree_name,omitempty"` |
| } |
| |
| func (x *TreeCloser) Reset() { |
| *x = TreeCloser{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_go_chromium_org_luci_luci_notify_api_config_notify_proto_msgTypes[3] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *TreeCloser) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*TreeCloser) ProtoMessage() {} |
| |
| func (x *TreeCloser) ProtoReflect() protoreflect.Message { |
| mi := &file_go_chromium_org_luci_luci_notify_api_config_notify_proto_msgTypes[3] |
| if protoimpl.UnsafeEnabled && x != nil { |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| if ms.LoadMessageInfo() == nil { |
| ms.StoreMessageInfo(mi) |
| } |
| return ms |
| } |
| return mi.MessageOf(x) |
| } |
| |
| // Deprecated: Use TreeCloser.ProtoReflect.Descriptor instead. |
| func (*TreeCloser) Descriptor() ([]byte, []int) { |
| return file_go_chromium_org_luci_luci_notify_api_config_notify_proto_rawDescGZIP(), []int{3} |
| } |
| |
| func (x *TreeCloser) GetTreeStatusHost() string { |
| if x != nil { |
| return x.TreeStatusHost |
| } |
| return "" |
| } |
| |
| func (x *TreeCloser) GetFailedStepRegexp() string { |
| if x != nil { |
| return x.FailedStepRegexp |
| } |
| return "" |
| } |
| |
| func (x *TreeCloser) GetFailedStepRegexpExclude() string { |
| if x != nil { |
| return x.FailedStepRegexpExclude |
| } |
| return "" |
| } |
| |
| func (x *TreeCloser) GetTemplate() string { |
| if x != nil { |
| return x.Template |
| } |
| return "" |
| } |
| |
| func (x *TreeCloser) GetTreeName() string { |
| if x != nil { |
| return x.TreeName |
| } |
| return "" |
| } |
| |
| // Builder references a buildbucket builder in the current project. |
| type Builder struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| // Bucket is the buildbucket bucket that the builder is a part of. |
| // |
| // Required. |
| Bucket string `protobuf:"bytes,1,opt,name=bucket,proto3" json:"bucket,omitempty"` |
| // Name is the name of the buildbucket builder. |
| // |
| // Required. |
| Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` |
| // Repository is the git repository associated with this particular builder. |
| // |
| // The repository should look like a URL, e.g. |
| // https://chromium.googlesource.com/src |
| // |
| // Currently, luci-notify only supports Gerrit-like URLs since it checks |
| // against gitiles commits, so the URL's path (e.g. "src" in the above |
| // example) should map directly to a Gerrit project. |
| // |
| // Builds attached to the history of this repository will use this |
| // repository's git history to determine the order between two builds for the |
| // OnChange notification. |
| // |
| // Optional. |
| // |
| // If not set, OnChange notifications will derive their notion of |
| // "previous" build solely from build creation time, which is potentially |
| // less reliable. |
| Repository string `protobuf:"bytes,3,opt,name=repository,proto3" json:"repository,omitempty"` |
| } |
| |
| func (x *Builder) Reset() { |
| *x = Builder{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_go_chromium_org_luci_luci_notify_api_config_notify_proto_msgTypes[4] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *Builder) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*Builder) ProtoMessage() {} |
| |
| func (x *Builder) ProtoReflect() protoreflect.Message { |
| mi := &file_go_chromium_org_luci_luci_notify_api_config_notify_proto_msgTypes[4] |
| if protoimpl.UnsafeEnabled && x != nil { |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| if ms.LoadMessageInfo() == nil { |
| ms.StoreMessageInfo(mi) |
| } |
| return ms |
| } |
| return mi.MessageOf(x) |
| } |
| |
| // Deprecated: Use Builder.ProtoReflect.Descriptor instead. |
| func (*Builder) Descriptor() ([]byte, []int) { |
| return file_go_chromium_org_luci_luci_notify_api_config_notify_proto_rawDescGZIP(), []int{4} |
| } |
| |
| func (x *Builder) GetBucket() string { |
| if x != nil { |
| return x.Bucket |
| } |
| return "" |
| } |
| |
| func (x *Builder) GetName() string { |
| if x != nil { |
| return x.Name |
| } |
| return "" |
| } |
| |
| func (x *Builder) GetRepository() string { |
| if x != nil { |
| return x.Repository |
| } |
| return "" |
| } |
| |
| // Notifications encapsulates a list of notifications as a proto so code for |
| // storing it in the datastore may be generated. |
| type Notifications struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| // Notifications is a list of notification configurations. |
| Notifications []*Notification `protobuf:"bytes,1,rep,name=notifications,proto3" json:"notifications,omitempty"` |
| } |
| |
| func (x *Notifications) Reset() { |
| *x = Notifications{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_go_chromium_org_luci_luci_notify_api_config_notify_proto_msgTypes[5] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *Notifications) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*Notifications) ProtoMessage() {} |
| |
| func (x *Notifications) ProtoReflect() protoreflect.Message { |
| mi := &file_go_chromium_org_luci_luci_notify_api_config_notify_proto_msgTypes[5] |
| if protoimpl.UnsafeEnabled && x != nil { |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| if ms.LoadMessageInfo() == nil { |
| ms.StoreMessageInfo(mi) |
| } |
| return ms |
| } |
| return mi.MessageOf(x) |
| } |
| |
| // Deprecated: Use Notifications.ProtoReflect.Descriptor instead. |
| func (*Notifications) Descriptor() ([]byte, []int) { |
| return file_go_chromium_org_luci_luci_notify_api_config_notify_proto_rawDescGZIP(), []int{5} |
| } |
| |
| func (x *Notifications) GetNotifications() []*Notification { |
| if x != nil { |
| return x.Notifications |
| } |
| return nil |
| } |
| |
| // A collection of landed Git commits hosted on Gitiles. |
| type GitilesCommits struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| // The Gitiles commits in this collection. |
| Commits []*proto.GitilesCommit `protobuf:"bytes,1,rep,name=commits,proto3" json:"commits,omitempty"` |
| } |
| |
| func (x *GitilesCommits) Reset() { |
| *x = GitilesCommits{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_go_chromium_org_luci_luci_notify_api_config_notify_proto_msgTypes[6] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *GitilesCommits) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*GitilesCommits) ProtoMessage() {} |
| |
| func (x *GitilesCommits) ProtoReflect() protoreflect.Message { |
| mi := &file_go_chromium_org_luci_luci_notify_api_config_notify_proto_msgTypes[6] |
| if protoimpl.UnsafeEnabled && x != nil { |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| if ms.LoadMessageInfo() == nil { |
| ms.StoreMessageInfo(mi) |
| } |
| return ms |
| } |
| return mi.MessageOf(x) |
| } |
| |
| // Deprecated: Use GitilesCommits.ProtoReflect.Descriptor instead. |
| func (*GitilesCommits) Descriptor() ([]byte, []int) { |
| return file_go_chromium_org_luci_luci_notify_api_config_notify_proto_rawDescGZIP(), []int{6} |
| } |
| |
| func (x *GitilesCommits) GetCommits() []*proto.GitilesCommit { |
| if x != nil { |
| return x.Commits |
| } |
| return nil |
| } |
| |
| // Input to an email template. |
| type TemplateInput struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| // Buildbucket hostname, e.g. "cr-buildbucket.appspot.com". |
| BuildbucketHostname string `protobuf:"bytes,1,opt,name=buildbucket_hostname,json=buildbucketHostname,proto3" json:"buildbucket_hostname,omitempty"` |
| // The completed build. |
| Build *proto.Build `protobuf:"bytes,2,opt,name=build,proto3" json:"build,omitempty"` |
| // State of the previous build in this builder. |
| OldStatus proto.Status `protobuf:"varint,3,opt,name=old_status,json=oldStatus,proto3,enum=buildbucket.v2.Status" json:"old_status,omitempty"` |
| // The failed steps that passed the given regexes (see the fields |
| // "failed_step_regexp" and "failed_step_regexp_exclude" above). If that field |
| // wasn't supplied, this will be empty. |
| MatchingFailedSteps []*proto.Step `protobuf:"bytes,4,rep,name=matching_failed_steps,json=matchingFailedSteps,proto3" json:"matching_failed_steps,omitempty"` |
| } |
| |
| func (x *TemplateInput) Reset() { |
| *x = TemplateInput{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_go_chromium_org_luci_luci_notify_api_config_notify_proto_msgTypes[7] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *TemplateInput) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*TemplateInput) ProtoMessage() {} |
| |
| func (x *TemplateInput) ProtoReflect() protoreflect.Message { |
| mi := &file_go_chromium_org_luci_luci_notify_api_config_notify_proto_msgTypes[7] |
| if protoimpl.UnsafeEnabled && x != nil { |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| if ms.LoadMessageInfo() == nil { |
| ms.StoreMessageInfo(mi) |
| } |
| return ms |
| } |
| return mi.MessageOf(x) |
| } |
| |
| // Deprecated: Use TemplateInput.ProtoReflect.Descriptor instead. |
| func (*TemplateInput) Descriptor() ([]byte, []int) { |
| return file_go_chromium_org_luci_luci_notify_api_config_notify_proto_rawDescGZIP(), []int{7} |
| } |
| |
| func (x *TemplateInput) GetBuildbucketHostname() string { |
| if x != nil { |
| return x.BuildbucketHostname |
| } |
| return "" |
| } |
| |
| func (x *TemplateInput) GetBuild() *proto.Build { |
| if x != nil { |
| return x.Build |
| } |
| return nil |
| } |
| |
| func (x *TemplateInput) GetOldStatus() proto.Status { |
| if x != nil { |
| return x.OldStatus |
| } |
| return proto.Status(0) |
| } |
| |
| func (x *TemplateInput) GetMatchingFailedSteps() []*proto.Step { |
| if x != nil { |
| return x.MatchingFailedSteps |
| } |
| return nil |
| } |
| |
| // Email is a message representing a set of mail recipients. |
| type Notification_Email struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| // Recipients is a list of email addresses to notify. |
| Recipients []string `protobuf:"bytes,1,rep,name=recipients,proto3" json:"recipients,omitempty"` |
| // A list of rotations, for each of which we should notify the currently |
| // active member. |
| RotationUrls []string `protobuf:"bytes,3,rep,name=rotation_urls,json=rotationUrls,proto3" json:"rotation_urls,omitempty"` |
| } |
| |
| func (x *Notification_Email) Reset() { |
| *x = Notification_Email{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_go_chromium_org_luci_luci_notify_api_config_notify_proto_msgTypes[8] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *Notification_Email) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*Notification_Email) ProtoMessage() {} |
| |
| func (x *Notification_Email) ProtoReflect() protoreflect.Message { |
| mi := &file_go_chromium_org_luci_luci_notify_api_config_notify_proto_msgTypes[8] |
| if protoimpl.UnsafeEnabled && x != nil { |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| if ms.LoadMessageInfo() == nil { |
| ms.StoreMessageInfo(mi) |
| } |
| return ms |
| } |
| return mi.MessageOf(x) |
| } |
| |
| // Deprecated: Use Notification_Email.ProtoReflect.Descriptor instead. |
| func (*Notification_Email) Descriptor() ([]byte, []int) { |
| return file_go_chromium_org_luci_luci_notify_api_config_notify_proto_rawDescGZIP(), []int{2, 0} |
| } |
| |
| func (x *Notification_Email) GetRecipients() []string { |
| if x != nil { |
| return x.Recipients |
| } |
| return nil |
| } |
| |
| func (x *Notification_Email) GetRotationUrls() []string { |
| if x != nil { |
| return x.RotationUrls |
| } |
| return nil |
| } |
| |
| // Blamelist is a message representing configuration for notifying the |
| // blamelist. |
| type Notification_Blamelist struct { |
| state protoimpl.MessageState |
| sizeCache protoimpl.SizeCache |
| unknownFields protoimpl.UnknownFields |
| |
| // A list of repositories which we are allowed to be included as part of the |
| // blamelist. If unset, a blamelist will be computed based on a Builder's |
| // repository field. If set, however luci-notify computes the blamelist for |
| // all commits related to a build (which may span multiple repositories) |
| // which are part of repository in this repository allowlist. |
| // |
| // Repositories should be valid Gerrit/Gitiles repository URLs, such as |
| // https://chromium.googlesource.com/chromium/src |
| // Optional |
| RepositoryAllowlist []string `protobuf:"bytes,2,rep,name=repository_allowlist,json=repositoryAllowlist,proto3" json:"repository_allowlist,omitempty"` |
| } |
| |
| func (x *Notification_Blamelist) Reset() { |
| *x = Notification_Blamelist{} |
| if protoimpl.UnsafeEnabled { |
| mi := &file_go_chromium_org_luci_luci_notify_api_config_notify_proto_msgTypes[9] |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| ms.StoreMessageInfo(mi) |
| } |
| } |
| |
| func (x *Notification_Blamelist) String() string { |
| return protoimpl.X.MessageStringOf(x) |
| } |
| |
| func (*Notification_Blamelist) ProtoMessage() {} |
| |
| func (x *Notification_Blamelist) ProtoReflect() protoreflect.Message { |
| mi := &file_go_chromium_org_luci_luci_notify_api_config_notify_proto_msgTypes[9] |
| if protoimpl.UnsafeEnabled && x != nil { |
| ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) |
| if ms.LoadMessageInfo() == nil { |
| ms.StoreMessageInfo(mi) |
| } |
| return ms |
| } |
| return mi.MessageOf(x) |
| } |
| |
| // Deprecated: Use Notification_Blamelist.ProtoReflect.Descriptor instead. |
| func (*Notification_Blamelist) Descriptor() ([]byte, []int) { |
| return file_go_chromium_org_luci_luci_notify_api_config_notify_proto_rawDescGZIP(), []int{2, 1} |
| } |
| |
| func (x *Notification_Blamelist) GetRepositoryAllowlist() []string { |
| if x != nil { |
| return x.RepositoryAllowlist |
| } |
| return nil |
| } |
| |
| var File_go_chromium_org_luci_luci_notify_api_config_notify_proto protoreflect.FileDescriptor |
| |
| var file_go_chromium_org_luci_luci_notify_api_config_notify_proto_rawDesc = []byte{ |
| 0x0a, 0x38, 0x67, 0x6f, 0x2e, 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x75, 0x6d, 0x2e, 0x6f, 0x72, |
| 0x67, 0x2f, 0x6c, 0x75, 0x63, 0x69, 0x2f, 0x6c, 0x75, 0x63, 0x69, 0x5f, 0x6e, 0x6f, 0x74, 0x69, |
| 0x66, 0x79, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x6e, 0x6f, |
| 0x74, 0x69, 0x66, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x06, 0x6e, 0x6f, 0x74, 0x69, |
| 0x66, 0x79, 0x1a, 0x32, 0x67, 0x6f, 0x2e, 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x75, 0x6d, 0x2e, |
| 0x6f, 0x72, 0x67, 0x2f, 0x6c, 0x75, 0x63, 0x69, 0x2f, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x62, 0x75, |
| 0x63, 0x6b, 0x65, 0x74, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x62, 0x75, 0x69, 0x6c, 0x64, |
| 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x33, 0x67, 0x6f, 0x2e, 0x63, 0x68, 0x72, 0x6f, 0x6d, |
| 0x69, 0x75, 0x6d, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x6c, 0x75, 0x63, 0x69, 0x2f, 0x62, 0x75, 0x69, |
| 0x6c, 0x64, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x63, |
| 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x31, 0x67, 0x6f, 0x2e, |
| 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x75, 0x6d, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x6c, 0x75, 0x63, |
| 0x69, 0x2f, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x2f, 0x70, 0x72, |
| 0x6f, 0x74, 0x6f, 0x2f, 0x73, 0x74, 0x65, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2f, |
| 0x67, 0x6f, 0x2e, 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x75, 0x6d, 0x2e, 0x6f, 0x72, 0x67, 0x2f, |
| 0x6c, 0x75, 0x63, 0x69, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x70, 0x72, 0x6f, 0x74, |
| 0x6f, 0x2f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, |
| 0x71, 0x0a, 0x0d, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, |
| 0x12, 0x2e, 0x0a, 0x09, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, |
| 0x03, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x4e, 0x6f, 0x74, |
| 0x69, 0x66, 0x69, 0x65, 0x72, 0x52, 0x09, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x73, |
| 0x12, 0x30, 0x0a, 0x14, 0x74, 0x72, 0x65, 0x65, 0x5f, 0x63, 0x6c, 0x6f, 0x73, 0x69, 0x6e, 0x67, |
| 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x12, |
| 0x74, 0x72, 0x65, 0x65, 0x43, 0x6c, 0x6f, 0x73, 0x69, 0x6e, 0x67, 0x45, 0x6e, 0x61, 0x62, 0x6c, |
| 0x65, 0x64, 0x22, 0xbe, 0x01, 0x0a, 0x08, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x12, |
| 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, |
| 0x61, 0x6d, 0x65, 0x12, 0x3a, 0x0a, 0x0d, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, |
| 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x6e, 0x6f, 0x74, |
| 0x69, 0x66, 0x79, 0x2e, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, |
| 0x52, 0x0d, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, |
| 0x2b, 0x0a, 0x08, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x65, 0x72, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, |
| 0x0b, 0x32, 0x0f, 0x2e, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x42, 0x75, 0x69, 0x6c, 0x64, |
| 0x65, 0x72, 0x52, 0x08, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x65, 0x72, 0x73, 0x12, 0x35, 0x0a, 0x0c, |
| 0x74, 0x72, 0x65, 0x65, 0x5f, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x72, 0x73, 0x18, 0x04, 0x20, 0x03, |
| 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x54, 0x72, 0x65, 0x65, |
| 0x43, 0x6c, 0x6f, 0x73, 0x65, 0x72, 0x52, 0x0b, 0x74, 0x72, 0x65, 0x65, 0x43, 0x6c, 0x6f, 0x73, |
| 0x65, 0x72, 0x73, 0x22, 0xac, 0x05, 0x0a, 0x0c, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, |
| 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1d, 0x0a, 0x0a, 0x6f, 0x6e, 0x5f, 0x73, 0x75, 0x63, 0x63, 0x65, |
| 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x6f, 0x6e, 0x53, 0x75, 0x63, 0x63, |
| 0x65, 0x73, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x6f, 0x6e, 0x5f, 0x66, 0x61, 0x69, 0x6c, 0x75, 0x72, |
| 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x6f, 0x6e, 0x46, 0x61, 0x69, 0x6c, 0x75, |
| 0x72, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x6f, 0x6e, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x18, |
| 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x6f, 0x6e, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x12, |
| 0x24, 0x0a, 0x0e, 0x6f, 0x6e, 0x5f, 0x6e, 0x65, 0x77, 0x5f, 0x66, 0x61, 0x69, 0x6c, 0x75, 0x72, |
| 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x6f, 0x6e, 0x4e, 0x65, 0x77, 0x46, 0x61, |
| 0x69, 0x6c, 0x75, 0x72, 0x65, 0x12, 0x3b, 0x0a, 0x0d, 0x6f, 0x6e, 0x5f, 0x6f, 0x63, 0x63, 0x75, |
| 0x72, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x16, 0x2e, 0x62, |
| 0x75, 0x69, 0x6c, 0x64, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x74, |
| 0x61, 0x74, 0x75, 0x73, 0x52, 0x0c, 0x6f, 0x6e, 0x4f, 0x63, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, |
| 0x63, 0x65, 0x12, 0x3a, 0x0a, 0x0d, 0x6f, 0x6e, 0x5f, 0x6e, 0x65, 0x77, 0x5f, 0x73, 0x74, 0x61, |
| 0x74, 0x75, 0x73, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x16, 0x2e, 0x62, 0x75, 0x69, 0x6c, |
| 0x64, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, |
| 0x73, 0x52, 0x0b, 0x6f, 0x6e, 0x4e, 0x65, 0x77, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x2c, |
| 0x0a, 0x12, 0x66, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x5f, 0x73, 0x74, 0x65, 0x70, 0x5f, 0x72, 0x65, |
| 0x67, 0x65, 0x78, 0x70, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x66, 0x61, 0x69, 0x6c, |
| 0x65, 0x64, 0x53, 0x74, 0x65, 0x70, 0x52, 0x65, 0x67, 0x65, 0x78, 0x70, 0x12, 0x3b, 0x0a, 0x1a, |
| 0x66, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x5f, 0x73, 0x74, 0x65, 0x70, 0x5f, 0x72, 0x65, 0x67, 0x65, |
| 0x78, 0x70, 0x5f, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, |
| 0x52, 0x17, 0x66, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x53, 0x74, 0x65, 0x70, 0x52, 0x65, 0x67, 0x65, |
| 0x78, 0x70, 0x45, 0x78, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x12, 0x30, 0x0a, 0x05, 0x65, 0x6d, 0x61, |
| 0x69, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x6e, 0x6f, 0x74, 0x69, 0x66, |
| 0x79, 0x2e, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x45, |
| 0x6d, 0x61, 0x69, 0x6c, 0x52, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x12, 0x1a, 0x0a, 0x08, 0x74, |
| 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x74, |
| 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x12, 0x49, 0x0a, 0x10, 0x6e, 0x6f, 0x74, 0x69, 0x66, |
| 0x79, 0x5f, 0x62, 0x6c, 0x61, 0x6d, 0x65, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, |
| 0x0b, 0x32, 0x1e, 0x2e, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x4e, 0x6f, 0x74, 0x69, 0x66, |
| 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x42, 0x6c, 0x61, 0x6d, 0x65, 0x6c, 0x69, 0x73, |
| 0x74, 0x52, 0x0f, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x42, 0x6c, 0x61, 0x6d, 0x65, 0x6c, 0x69, |
| 0x73, 0x74, 0x1a, 0x52, 0x0a, 0x05, 0x45, 0x6d, 0x61, 0x69, 0x6c, 0x12, 0x1e, 0x0a, 0x0a, 0x72, |
| 0x65, 0x63, 0x69, 0x70, 0x69, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, |
| 0x0a, 0x72, 0x65, 0x63, 0x69, 0x70, 0x69, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x72, |
| 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x75, 0x72, 0x6c, 0x73, 0x18, 0x03, 0x20, 0x03, |
| 0x28, 0x09, 0x52, 0x0c, 0x72, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x55, 0x72, 0x6c, 0x73, |
| 0x4a, 0x04, 0x08, 0x02, 0x10, 0x03, 0x1a, 0x44, 0x0a, 0x09, 0x42, 0x6c, 0x61, 0x6d, 0x65, 0x6c, |
| 0x69, 0x73, 0x74, 0x12, 0x31, 0x0a, 0x14, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, |
| 0x79, 0x5f, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x02, 0x20, 0x03, 0x28, |
| 0x09, 0x52, 0x13, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x41, 0x6c, 0x6c, |
| 0x6f, 0x77, 0x6c, 0x69, 0x73, 0x74, 0x4a, 0x04, 0x08, 0x01, 0x10, 0x02, 0x4a, 0x04, 0x08, 0x08, |
| 0x10, 0x09, 0x22, 0xda, 0x01, 0x0a, 0x0a, 0x54, 0x72, 0x65, 0x65, 0x43, 0x6c, 0x6f, 0x73, 0x65, |
| 0x72, 0x12, 0x28, 0x0a, 0x10, 0x74, 0x72, 0x65, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, |
| 0x5f, 0x68, 0x6f, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x74, 0x72, 0x65, |
| 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x48, 0x6f, 0x73, 0x74, 0x12, 0x2c, 0x0a, 0x12, 0x66, |
| 0x61, 0x69, 0x6c, 0x65, 0x64, 0x5f, 0x73, 0x74, 0x65, 0x70, 0x5f, 0x72, 0x65, 0x67, 0x65, 0x78, |
| 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x66, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x53, |
| 0x74, 0x65, 0x70, 0x52, 0x65, 0x67, 0x65, 0x78, 0x70, 0x12, 0x3b, 0x0a, 0x1a, 0x66, 0x61, 0x69, |
| 0x6c, 0x65, 0x64, 0x5f, 0x73, 0x74, 0x65, 0x70, 0x5f, 0x72, 0x65, 0x67, 0x65, 0x78, 0x70, 0x5f, |
| 0x65, 0x78, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x17, 0x66, |
| 0x61, 0x69, 0x6c, 0x65, 0x64, 0x53, 0x74, 0x65, 0x70, 0x52, 0x65, 0x67, 0x65, 0x78, 0x70, 0x45, |
| 0x78, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, |
| 0x74, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, |
| 0x74, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x74, 0x72, 0x65, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, |
| 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x74, 0x72, 0x65, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x22, |
| 0x55, 0x0a, 0x07, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x65, 0x72, 0x12, 0x16, 0x0a, 0x06, 0x62, 0x75, |
| 0x63, 0x6b, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x62, 0x75, 0x63, 0x6b, |
| 0x65, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, |
| 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, |
| 0x74, 0x6f, 0x72, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x72, 0x65, 0x70, 0x6f, |
| 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x22, 0x4b, 0x0a, 0x0d, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, |
| 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x3a, 0x0a, 0x0d, 0x6e, 0x6f, 0x74, 0x69, 0x66, |
| 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, |
| 0x2e, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, |
| 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0d, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, |
| 0x6f, 0x6e, 0x73, 0x22, 0x49, 0x0a, 0x0e, 0x47, 0x69, 0x74, 0x69, 0x6c, 0x65, 0x73, 0x43, 0x6f, |
| 0x6d, 0x6d, 0x69, 0x74, 0x73, 0x12, 0x37, 0x0a, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x73, |
| 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x62, 0x75, |
| 0x63, 0x6b, 0x65, 0x74, 0x2e, 0x76, 0x32, 0x2e, 0x47, 0x69, 0x74, 0x69, 0x6c, 0x65, 0x73, 0x43, |
| 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x52, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x73, 0x22, 0xf0, |
| 0x01, 0x0a, 0x0d, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x70, 0x75, 0x74, |
| 0x12, 0x31, 0x0a, 0x14, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x5f, |
| 0x68, 0x6f, 0x73, 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x13, |
| 0x62, 0x75, 0x69, 0x6c, 0x64, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x48, 0x6f, 0x73, 0x74, 0x6e, |
| 0x61, 0x6d, 0x65, 0x12, 0x2b, 0x0a, 0x05, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x18, 0x02, 0x20, 0x01, |
| 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, |
| 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x52, 0x05, 0x62, 0x75, 0x69, 0x6c, 0x64, |
| 0x12, 0x35, 0x0a, 0x0a, 0x6f, 0x6c, 0x64, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x03, |
| 0x20, 0x01, 0x28, 0x0e, 0x32, 0x16, 0x2e, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x62, 0x75, 0x63, 0x6b, |
| 0x65, 0x74, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x09, 0x6f, 0x6c, |
| 0x64, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x48, 0x0a, 0x15, 0x6d, 0x61, 0x74, 0x63, 0x68, |
| 0x69, 0x6e, 0x67, 0x5f, 0x66, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x5f, 0x73, 0x74, 0x65, 0x70, 0x73, |
| 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x62, 0x75, |
| 0x63, 0x6b, 0x65, 0x74, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x74, 0x65, 0x70, 0x52, 0x13, 0x6d, 0x61, |
| 0x74, 0x63, 0x68, 0x69, 0x6e, 0x67, 0x46, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x53, 0x74, 0x65, 0x70, |
| 0x73, 0x42, 0x6b, 0xa2, 0xfe, 0x23, 0x3a, 0x0a, 0x38, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, |
| 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x6c, 0x75, 0x63, 0x69, 0x2e, 0x61, 0x70, 0x70, |
| 0x2f, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x73, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, |
| 0x73, 0x3a, 0x6c, 0x75, 0x63, 0x69, 0x2d, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x2e, 0x63, 0x66, |
| 0x67, 0x5a, 0x2b, 0x67, 0x6f, 0x2e, 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x75, 0x6d, 0x2e, 0x6f, |
| 0x72, 0x67, 0x2f, 0x6c, 0x75, 0x63, 0x69, 0x2f, 0x6c, 0x75, 0x63, 0x69, 0x5f, 0x6e, 0x6f, 0x74, |
| 0x69, 0x66, 0x79, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x62, 0x06, |
| 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, |
| } |
| |
| var ( |
| file_go_chromium_org_luci_luci_notify_api_config_notify_proto_rawDescOnce sync.Once |
| file_go_chromium_org_luci_luci_notify_api_config_notify_proto_rawDescData = file_go_chromium_org_luci_luci_notify_api_config_notify_proto_rawDesc |
| ) |
| |
| func file_go_chromium_org_luci_luci_notify_api_config_notify_proto_rawDescGZIP() []byte { |
| file_go_chromium_org_luci_luci_notify_api_config_notify_proto_rawDescOnce.Do(func() { |
| file_go_chromium_org_luci_luci_notify_api_config_notify_proto_rawDescData = protoimpl.X.CompressGZIP(file_go_chromium_org_luci_luci_notify_api_config_notify_proto_rawDescData) |
| }) |
| return file_go_chromium_org_luci_luci_notify_api_config_notify_proto_rawDescData |
| } |
| |
| var file_go_chromium_org_luci_luci_notify_api_config_notify_proto_msgTypes = make([]protoimpl.MessageInfo, 10) |
| var file_go_chromium_org_luci_luci_notify_api_config_notify_proto_goTypes = []interface{}{ |
| (*ProjectConfig)(nil), // 0: notify.ProjectConfig |
| (*Notifier)(nil), // 1: notify.Notifier |
| (*Notification)(nil), // 2: notify.Notification |
| (*TreeCloser)(nil), // 3: notify.TreeCloser |
| (*Builder)(nil), // 4: notify.Builder |
| (*Notifications)(nil), // 5: notify.Notifications |
| (*GitilesCommits)(nil), // 6: notify.GitilesCommits |
| (*TemplateInput)(nil), // 7: notify.TemplateInput |
| (*Notification_Email)(nil), // 8: notify.Notification.Email |
| (*Notification_Blamelist)(nil), // 9: notify.Notification.Blamelist |
| (proto.Status)(0), // 10: buildbucket.v2.Status |
| (*proto.GitilesCommit)(nil), // 11: buildbucket.v2.GitilesCommit |
| (*proto.Build)(nil), // 12: buildbucket.v2.Build |
| (*proto.Step)(nil), // 13: buildbucket.v2.Step |
| } |
| var file_go_chromium_org_luci_luci_notify_api_config_notify_proto_depIdxs = []int32{ |
| 1, // 0: notify.ProjectConfig.notifiers:type_name -> notify.Notifier |
| 2, // 1: notify.Notifier.notifications:type_name -> notify.Notification |
| 4, // 2: notify.Notifier.builders:type_name -> notify.Builder |
| 3, // 3: notify.Notifier.tree_closers:type_name -> notify.TreeCloser |
| 10, // 4: notify.Notification.on_occurrence:type_name -> buildbucket.v2.Status |
| 10, // 5: notify.Notification.on_new_status:type_name -> buildbucket.v2.Status |
| 8, // 6: notify.Notification.email:type_name -> notify.Notification.Email |
| 9, // 7: notify.Notification.notify_blamelist:type_name -> notify.Notification.Blamelist |
| 2, // 8: notify.Notifications.notifications:type_name -> notify.Notification |
| 11, // 9: notify.GitilesCommits.commits:type_name -> buildbucket.v2.GitilesCommit |
| 12, // 10: notify.TemplateInput.build:type_name -> buildbucket.v2.Build |
| 10, // 11: notify.TemplateInput.old_status:type_name -> buildbucket.v2.Status |
| 13, // 12: notify.TemplateInput.matching_failed_steps:type_name -> buildbucket.v2.Step |
| 13, // [13:13] is the sub-list for method output_type |
| 13, // [13:13] is the sub-list for method input_type |
| 13, // [13:13] is the sub-list for extension type_name |
| 13, // [13:13] is the sub-list for extension extendee |
| 0, // [0:13] is the sub-list for field type_name |
| } |
| |
| func init() { file_go_chromium_org_luci_luci_notify_api_config_notify_proto_init() } |
| func file_go_chromium_org_luci_luci_notify_api_config_notify_proto_init() { |
| if File_go_chromium_org_luci_luci_notify_api_config_notify_proto != nil { |
| return |
| } |
| if !protoimpl.UnsafeEnabled { |
| file_go_chromium_org_luci_luci_notify_api_config_notify_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*ProjectConfig); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_go_chromium_org_luci_luci_notify_api_config_notify_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*Notifier); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_go_chromium_org_luci_luci_notify_api_config_notify_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*Notification); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_go_chromium_org_luci_luci_notify_api_config_notify_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*TreeCloser); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_go_chromium_org_luci_luci_notify_api_config_notify_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*Builder); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_go_chromium_org_luci_luci_notify_api_config_notify_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*Notifications); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_go_chromium_org_luci_luci_notify_api_config_notify_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*GitilesCommits); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_go_chromium_org_luci_luci_notify_api_config_notify_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*TemplateInput); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_go_chromium_org_luci_luci_notify_api_config_notify_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*Notification_Email); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| file_go_chromium_org_luci_luci_notify_api_config_notify_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { |
| switch v := v.(*Notification_Blamelist); i { |
| case 0: |
| return &v.state |
| case 1: |
| return &v.sizeCache |
| case 2: |
| return &v.unknownFields |
| default: |
| return nil |
| } |
| } |
| } |
| type x struct{} |
| out := protoimpl.TypeBuilder{ |
| File: protoimpl.DescBuilder{ |
| GoPackagePath: reflect.TypeOf(x{}).PkgPath(), |
| RawDescriptor: file_go_chromium_org_luci_luci_notify_api_config_notify_proto_rawDesc, |
| NumEnums: 0, |
| NumMessages: 10, |
| NumExtensions: 0, |
| NumServices: 0, |
| }, |
| GoTypes: file_go_chromium_org_luci_luci_notify_api_config_notify_proto_goTypes, |
| DependencyIndexes: file_go_chromium_org_luci_luci_notify_api_config_notify_proto_depIdxs, |
| MessageInfos: file_go_chromium_org_luci_luci_notify_api_config_notify_proto_msgTypes, |
| }.Build() |
| File_go_chromium_org_luci_luci_notify_api_config_notify_proto = out.File |
| file_go_chromium_org_luci_luci_notify_api_config_notify_proto_rawDesc = nil |
| file_go_chromium_org_luci_luci_notify_api_config_notify_proto_goTypes = nil |
| file_go_chromium_org_luci_luci_notify_api_config_notify_proto_depIdxs = nil |
| } |