Skip to content

feat: add webapi response changes as of 2026-05-19#1592

Draft
slackapi[bot] wants to merge 100 commits into
mainfrom
api
Draft

feat: add webapi response changes as of 2026-05-19#1592
slackapi[bot] wants to merge 100 commits into
mainfrom
api

Conversation

@slackapi

@slackapi slackapi Bot commented May 19, 2026

Copy link
Copy Markdown
Contributor

This PR updates the web API client and model based on the production E2E test results.

Category

  • slack-api-model (Slack API Data Models)

Requirements

Please read the Contributing guidelines and Code of Conduct before creating this issue or pull request. By submitting, you agree to those rules.

@slackapi slackapi Bot requested a review from a team as a code owner May 19, 2026 05:07
@slackapi slackapi Bot added project:slack-api-model project:slack-api-model semver:patch labels May 19, 2026
Co-Authored-By: Claude <svc-devxp-claude@slack-corp.com>
@codecov

codecov Bot commented May 19, 2026

Copy link
Copy Markdown

❌ 1 Tests Failed:

Tests completed Failed Passed Skipped
877 1 876 11
View the top 1 failed test(s) by shortest run time
test_locally.api.audit.FieldsTest::logs
Stack Traces | 0.012s run time
class: com.slack.api.audit.response.LogsResponse.Context method: getActingAgent
Expected: is not null
     but: was null

To view more test analytics, go to the Test Analytics Dashboard
📋 Got 3 mins? Take this short survey to help us improve Test Analytics.

zimeg and others added 3 commits May 18, 2026 23:16
The workspace admin token no longer has access to the target workspace
(T06M2FAFCF3). Switch helper/setup calls in admin API tests to use the
org admin token with explicit team_id, which is required for org-level
tokens calling workspace-scoped methods.

Co-Authored-By: Claude <svc-devxp-claude@slack-corp.com>
@zimeg zimeg marked this pull request as draft May 19, 2026 06:32
zimeg and others added 5 commits May 19, 2026 00:21
- Add ~100 missing audit action constants (LegalHold, SlackFirstCrm, MCP, AI actions)
- Fix cant_kick_self by excluding userToken's own user from kick target selection

Co-Authored-By: Claude <svc-devxp-claude@slack-corp.com>
…lation failure

Duplicate field in WorkspaceOrOrg class prevented Lombok annotation
processing, breaking all Builder class generation in slack-api-client.

Co-Authored-By: Claude <svc-devxp-claude@slack-corp.com>
slackapi Bot and others added 14 commits May 28, 2026 00:41
- Add thread_ts, permissions (Object), privateChannelAccess fields
- Add audit actions: slack_ai_mcp_resource_read, pref_allow_native_giphy_gif_picker
- Fix dnd_Test: limit to 50 active users
- Fix emoji_Test: create emoji before listing
- Fix functions_Test: add teamId parameter
- Fix users_Test: filter deleted users from lookupByEmail, use teamId for Grid
- Update SCIM2 json-logs from test runs

Co-Authored-By: Claude <svc-devxp-claude@slack-corp.com>
Co-Authored-By: Claude <svc-devxp-claude@slack-corp.com>
Co-Authored-By: Claude <svc-devxp-claude@slack-corp.com>
Co-Authored-By: Claude <svc-devxp-claude@slack-corp.com>
slackapi Bot and others added 30 commits June 8, 2026 00:59
Properties surfaced by test_with_remote_apis.audit.ApiTest:
- ActionsResponse.Actions.salesforceMcpServer (List<String>)
- LogsResponse.Context.actingAgent (String)
- LogsResponse.Context.agentMessage + AgentMessage nested type
  (team, channelId, messageTs, threadTs)
- LogsResponse.Details.clonedFileId (String)
- LogsResponse.Details.toolName (String)

New action constants:
- User: slack_ai_skill_share_link_created, slack_ai_skill_external_copy_added
- Channel: channel_properties_updated

All additive and properly typed (no Object fields, no breaking changes).
Types confirmed against webapp audit log assembly source.

Co-Authored-By: Claude <svc-devxp-claude@slack-corp.com>
Properties surfaced by test_with_remote_apis.audit.ApiTest:
- LogsResponse.Details.serviceType (String) — MCP service type
- LogsResponse.Entity.function: Object -> typed Function{id, appId, callbackId}

New action constants (WorkspaceOrOrg):
- slackbot_analytics_export_started
- enterprise_managed_auth_enabled
- enterprise_managed_auth_disabled

The Entity.externalAuthOauth2Token field is intentionally left as Object:
the live API returns it polymorphically (provider.id overflows int and
provider.app.scopes is sometimes a String, sometimes an array). Typing it
needs captured JSON and belongs in its own PR. Documented inline.

All additive, no breaking changes. Types confirmed against live test JSON
and webapp audit assembly source.

Co-Authored-By: Claude <svc-devxp-claude@slack-corp.com>
- LogsResponse.Details.serverName (String) — MCP server name
- WorkspaceOrOrg action: enterprise_managed_auth_rebound

Additive, confirmed against webapp MCP shapes. No breaking changes.

Co-Authored-By: Claude <svc-devxp-claude@slack-corp.com>
- LogsResponse.Details.success (Boolean) — MCP tool-call result
- WorkspaceOrOrg action: mcp_slack_create_list_tool_called

Also drop the use_pypi codecov-action workaround: now that the action is
pinned to v7.0.0 (merged from main), the issue #1955 mitigation is no
longer needed.

Co-Authored-By: Claude <svc-devxp-claude@slack-corp.com>
…ctions

- LogsResponse.Details.argumentKeys (List<String>) — sorted MCP tool-call
  argument key names (values omitted for PII safety), confirmed from
  src/ai/mcp/McpClientAuditLog.hack

- Add the complete mcp_slack_*_tool_called WorkspaceOrOrg action family
  (29 constants) from the authoritative enum in
  include/compliance/audit_logs/lib_audit_logs_ext.hack. The test org
  actively exercises the Slack MCP server, so these surface one-per-run;
  adding the full enumerated set avoids many slow audit iterations.
  Action-name constants carry no deserialization risk.

Co-Authored-By: Claude <svc-devxp-claude@slack-corp.com>
The mcp_slack_*_tool_called action family already existed in
Actions.WorkspaceOrOrg; a prior commit re-added all 27, producing
duplicate field declarations that broke compilation (surfacing as
spurious "cannot find symbol ...Builder" errors in AsyncMethodsClient
once Actions.java failed to compile).

Keep the original block plus the two genuinely new constants
(mcp_slack_create_list_tool_called, mcp_slack_read_list_tool_called).
Verified with a clean mvn build.

Co-Authored-By: Claude <svc-devxp-claude@slack-corp.com>
- LogsResponse.Details.readOnly (Boolean) — MCP tool read-only flag,
  confirmed from slackbot_mcp_listTools_output.hack

Co-Authored-By: Claude <svc-devxp-claude@slack-corp.com>
- LogsResponse.Details.mcpClientInferredBehavior (String) — 'read_tool'
  or 'write_tool', confirmed from src/ai/mcp/McpClientAuditLog.hack

Co-Authored-By: Claude <svc-devxp-claude@slack-corp.com>
- LogsResponse.Details.destructive (Boolean) — MCP tool destructiveHint,
  confirmed from src/ai/mcp/McpClientAuditLog.hack

Co-Authored-By: Claude <svc-devxp-claude@slack-corp.com>
- LogsResponse.Details.source (String) — audit entry source identifier
  (e.g. backfill/event-log origins); string across all webapp usages.

Co-Authored-By: Claude <svc-devxp-claude@slack-corp.com>
- LogsResponse.Details.decision (String) — MCP tool permission decision,
  confirmed from src/ai/mcp/McpToolPermissionHandler.hack ((string)$decision).

Co-Authored-By: Claude <svc-devxp-claude@slack-corp.com>
- LogsResponse.Details.permissionKey (String) — MCP permission key
  (e.g. "github:search_code"), confirmed from McpToolPermissionHandler.hack.

Co-Authored-By: Claude <svc-devxp-claude@slack-corp.com>
- LogsResponse.Details.addedToAllow (List<String>) — MCP permission keys
  added to the allow list. It is a vec of keys, not a boolean, confirmed
  from api_handlers/users_prefs_set.hack (Vec\diff -> foreach key).

Co-Authored-By: Claude <svc-devxp-claude@slack-corp.com>
- LogsResponse.Details.connectorsEnabled (List<String>) — MCP connector
  keys enabled; a vec (Vec\diff), not a boolean, confirmed from
  api_handlers/users_prefs_set.hack.

Co-Authored-By: Claude <svc-devxp-claude@slack-corp.com>
- LogsResponse.Details.connectorsDisabled (List<String>) — MCP connector
  keys disabled; the Vec\diff pair to connectorsEnabled, confirmed from
  api_handlers/users_prefs_set.hack.

Co-Authored-By: Claude <svc-devxp-claude@slack-corp.com>
- LogsResponse.Details.uri (String) — MCP resource URI; string across all
  webapp MCP shapes (e.g. slackbot_mcp_readResource).

Co-Authored-By: Claude <svc-devxp-claude@slack-corp.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants