Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: slackapi/java-slack-sdk
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: main
Choose a base ref
...
head repository: slackapi/java-slack-sdk
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: blocks-validate
Choose a head ref
Checking mergeability… Don’t worry, you can still create the pull request.
  • 5 commits
  • 15 files changed
  • 2 contributors

Commits on Jul 14, 2026

  1. feat(methods): add blocks.validate method

    Add the blocks.validate Web API method to the Slack API client. Callers
    can validate Block Kit payloads via methods().blocksValidate(req) (and the
    async equivalent), passing blocks, message, or view as JSON-encoded
    strings. No scopes are required.
    
    Adds the endpoint constant, sync and async interface methods and impls,
    the request form builder, the request/response model classes (with an
    errors[] list of code/message/pointer/relatedComponent), the Tier3 rate
    limit, a local test, and a response sample for type generation.
    
    Co-Authored-By: Claude <svc-devxp-claude@slack-corp.com>
    zimeg and Claude committed Jul 14, 2026
    Configuration menu
    Copy the full SHA
    a7c05c7 View commit details
    Browse the repository at this point in the history

Commits on Aug 15, 2026

  1. fix(methods): classify blocks.validate as a special rate-limit tier

    blocks.validate has special rate-limiting conditions rather than a standard
    tier (see https://docs.slack.dev/reference/methods/blocks.validate), so model
    it as SpecialTier_blocks_validate instead of Tier3. Regenerate the rate-limit
    metadata so the committed rate_limit_tiers.json matches the generated output,
    which also sorts blocks.validate into its correct alphabetical position — this
    is what was tripping the CI tree-drift check.
    
    Co-Authored-By: Claude <svc-devxp-claude@slack-corp.com>
    zimeg and Claude committed Aug 15, 2026
    Configuration menu
    Copy the full SHA
    02a29a7 View commit details
    Browse the repository at this point in the history
  2. test(methods): add remote coverage for blocks.validate

    Add a blocks_Test integration test under test_with_remote_apis that exercises
    blocks.validate against the real API: a well-formed payload validates with no
    errors, and a malformed payload surfaces the live validation feedback
    (recording the actual contract — ok=false with an error, or ok=true with a
    populated errors[] carrying code/message/pointer). Refresh the method-coverage
    scrape marker in MethodsTest to reflect the current 310-endpoint list.
    
    Co-Authored-By: Claude <svc-devxp-claude@slack-corp.com>
    zimeg and Claude committed Aug 15, 2026
    Configuration menu
    Copy the full SHA
    efb20b6 View commit details
    Browse the repository at this point in the history
  3. style(methods): sort blocks.validate into its alphabetical position

    The method was consistently placed after the bookmarks family, but "blocks"
    sorts before "bookmarks". Move every insertion site into alphabetical order:
    request/response imports, the sync/async interface declarations and their
    implementations, the RequestFormBuilder toForm mapping, the rate-limit tier
    registration, and the method-coverage string in MethodsTest. Pure reordering —
    no behavior change.
    
    Co-Authored-By: Claude <svc-devxp-claude@slack-corp.com>
    zimeg and Claude committed Aug 15, 2026
    Configuration menu
    Copy the full SHA
    eb983ef View commit details
    Browse the repository at this point in the history
  4. fix(methods): treat blocks.validate as unauthenticated

    blocks.validate requires no token or scopes
    (https://docs.slack.dev/reference/methods/blocks.validate), so it should not
    send an Authorization header. Model it like api.test: drop the token field from
    BlocksValidateRequest (overriding getToken() to return null) and call it through
    the tokenless postFormAndParseResponse path. The local BlocksTest now asserts the
    request round-trips (the shared mock answers a tokenless call with not_authed);
    end-to-end ok/errors[] behavior is covered by the remote blocks_Test.
    
    Co-Authored-By: Claude <svc-devxp-claude@slack-corp.com>
    zimeg and Claude committed Aug 15, 2026
    Configuration menu
    Copy the full SHA
    2764f52 View commit details
    Browse the repository at this point in the history
Loading