googleapis/google/chat/v1/contextual_addon.proto
Google APIs 9415ba048a chore: update copyright year for auto-generated protos
PiperOrigin-RevId: 732130682
2025-02-28 07:26:00 -08:00

107 lines
3.5 KiB
Protocol Buffer

// Copyright 2025 Google LLC
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
syntax = "proto3";
package google.chat.v1;
import "google/chat/v1/widgets.proto";
option csharp_namespace = "Google.Apps.Chat.V1";
option go_package = "cloud.google.com/go/chat/apiv1/chatpb;chatpb";
option java_multiple_files = true;
option java_outer_classname = "ContextualAddOnProto";
option java_package = "com.google.chat.v1";
option objc_class_prefix = "DYNAPIProto";
option php_namespace = "Google\\Apps\\Chat\\V1";
option ruby_package = "Google::Apps::Chat::V1";
// The markup for developers to specify the contents of a contextual AddOn.
message ContextualAddOnMarkup {
// A card is a UI element that can contain UI widgets such as text and
// images.
message Card {
message CardHeader {
enum ImageStyle {
IMAGE_STYLE_UNSPECIFIED = 0;
// Square border.
IMAGE = 1;
// Circular border.
AVATAR = 2;
}
// The title must be specified. The header has a fixed height: if both a
// title and subtitle is specified, each takes up one line. If only the
// title is specified, it takes up both lines.
string title = 1;
// The subtitle of the card header.
string subtitle = 2;
// The image's type (for example, square border or circular border).
ImageStyle image_style = 3;
// The URL of the image in the card header.
string image_url = 4;
}
// A section contains a collection of widgets that are rendered
// (vertically) in the order that they are specified. Across all platforms,
// cards have a narrow fixed width, so
// there's currently no need for layout properties (for example, float).
message Section {
// The header of the section. Formatted text is
// supported. For more information
// about formatting text, see
// [Formatting text in Google Chat
// apps](https://developers.google.com/workspace/chat/format-messages#card-formatting)
// and
// [Formatting
// text in Google Workspace
// Add-ons](https://developers.google.com/apps-script/add-ons/concepts/widgets#text_formatting).
string header = 1;
// A section must contain at least one widget.
repeated WidgetMarkup widgets = 2;
}
// A card action is
// the action associated with the card. For an invoice card, a
// typical action would be: delete invoice, email invoice or open the
// invoice in browser.
//
// Not supported by Google Chat apps.
message CardAction {
// The label used to be displayed in the action menu item.
string action_label = 1;
// The onclick action for this action item.
WidgetMarkup.OnClick on_click = 2;
}
// The header of the card. A header usually contains a title and an image.
CardHeader header = 1;
// Sections are separated by a line divider.
repeated Section sections = 2;
// The actions of this card.
repeated CardAction card_actions = 3;
// Name of the card.
string name = 4;
}
}