feat: support features.code_channels in app manifest round trip - #670
feat: support features.code_channels in app manifest round trip#670mcodik wants to merge 1 commit into
Conversation
AppFeatures had no field for code_channels, so Go's json.Unmarshal silently dropped it before the manifest was sent to apps.manifest.validate/update. Add it as a RawJSON passthrough so any future sub-fields survive without further struct changes. Co-Authored-By: Claude <svc-devxp-claude@slack-corp.com>
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #670 +/- ##
==========================================
+ Coverage 78.19% 78.20% +0.01%
==========================================
Files 239 239
Lines 18149 18149
==========================================
+ Hits 14192 14194 +2
+ Misses 3957 3955 -2 ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
| 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"` |
There was a problem hiding this comment.
👁️🗨️ question: Should we extend values for code_channels to include the following or are these values sometimes changed?:
type CodeChannels struct {
Enabled *bool `json:"enabled,omitempty" yaml:"enabled,omitempty"`
SlashCommandURL string `json:"slash_command_url,omitempty" yaml:"slash_command_url,omitempty"`
}There was a problem hiding this comment.
Add it as a RawJSON passthrough so any future sub-fields survive without further struct changes.
🌚 note: Am open to this as well but think we benefit from strict structures overall after stable API releases!
|
📚 note: I'm open to keeping this with |
Changelog
Lets devs set code_channels feature in their manifests, and have it display in
manifest exportSummary
AppFeatures had no field for code_channels, so Go's json.Unmarshal silently dropped it before the manifest was sent to apps.manifest.validate/update. Add it as a RawJSON passthrough so any future sub-fields survive without further struct changes.
Preview
Before

After
Testing
Run
manifest exporton app that has the code_channels feature set in the manifestNotes
(Add any additional context, trade-offs, or follow-up items)
Requirements