Add channel membership as a provisionable resource type#81
Add channel membership as a provisionable resource type#81c1-dev-bot[bot] wants to merge 3 commits into
Conversation
Add a new "channel" resource type to the Slack connector that syncs Slack channels (public and private) and supports provisioning channel membership via Grant and Revoke operations. Changes: - Add channel resource type definition with TRAIT_GROUP - Add channelResourceType syncer with List, Entitlements, Grants, Grant (conversations.invite), and Revoke (conversations.kick) - Register channel syncer in connector's ResourceSyncers - Add channel as a child resource of workspace - Update baton_capabilities.json with channel resource type Required bot token scopes: channels:read, channels:join, groups:read, channels:manage Fixes: CXH-1229
|
Claude finished @c1-dev-bot[bot]'s task in 1m 36s —— View job PR Review: Add channel membership as a provisionable resource type
Overall AssessmentThis is a solid implementation that follows the existing patterns in the codebase well. The channel builder correctly mirrors the structure of Issues1. Bug: Missing
|
Regenerate baton_capabilities.json from binary output to match expected CI format. Update docs/connector.mdx capability tables to include the new Channels resource type with sync and provision support, and add channels:manage to the documented bot token scopes.
|
Claude finished @c1-dev-bot[bot]'s task in 1m 33s —— View job PR Review: Add channel membership as a provisionable resource type
Overall AssessmentThis is a well-structured implementation that follows existing codebase patterns closely. The channel builder correctly mirrors Issues1. Missing
|
Replace direct type assertions on error with errors.As to properly handle wrapped errors, fixing errorlint violations.
|
Claude finished @c1-dev-bot[bot]'s task in 1m 40s —— View job PR Review: Add channel membership as a provisionable resource type
Overall AssessmentThis is a well-structured implementation that follows existing codebase patterns closely. The channel builder correctly mirrors the structure of other builders ( Issues1. Missing
|
Summary
channelresource type that syncs Slack channels (public and private, excluding archived) as resources with membership entitlementsGrant(viaconversations.invite) andRevoke(viaconversations.kick) for channel membership provisioningalready_in_channelon grant returns success;not_in_channelon revoke returnsGrantAlreadyRevokedRequired bot token scopes:
channels:read,channels:join,groups:read,channels:manageTest plan
Fixes: CXH-1229
Automated PR Notice
This PR was automatically created by c1-dev-bot as a potential implementation.
This code requires: