diff --git a/internal/shared/types/app_manifest.go b/internal/shared/types/app_manifest.go index 61755859..61676816 100644 --- a/internal/shared/types/app_manifest.go +++ b/internal/shared/types/app_manifest.go @@ -79,6 +79,7 @@ type AppFeatures struct { ManifestSlashCommandsItems []ManifestSlashCommandsItem `json:"slash_commands,omitempty" yaml:"slash_commands,flow,omitempty"` Search *Search `json:"search,omitempty" yaml:"search,flow,omitempty"` RichPreviews *RichPreviews `json:"rich_previews,omitempty" yaml:"rich_previews,flow,omitempty"` + CodeChannels *RawJSON `json:"code_channels,omitempty" yaml:"code_channels,flow,omitempty"` } type RichPreviews struct { diff --git a/internal/shared/types/app_manifest_test.go b/internal/shared/types/app_manifest_test.go index 405be005..0e9373d7 100644 --- a/internal/shared/types/app_manifest_test.go +++ b/internal/shared/types/app_manifest_test.go @@ -250,6 +250,15 @@ func Test_AppManifest_AppFeatures(t *testing.T) { }, want: `{"app_home":{},"bot_user":{"display_name":"business_bot"},"rich_previews":{"entity_types":["slack#/entities/file"]}}`, }, + "includes code channels when provided": { + features: AppFeatures{ + BotUser: BotUser{ + DisplayName: "codebot", + }, + CodeChannels: ToRawJSON(`{"enabled":true}`), + }, + want: `{"app_home":{},"bot_user":{"display_name":"codebot"},"code_channels":{"enabled":true}}`, + }, } for name, tc := range tests { t.Run(name, func(t *testing.T) {