blob: 81d9569d577ade988c7ae7b338462100147c0cfe [file] [log] [blame]
// 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
}