Introduction

JetClient is a simple yet powerful API client plugin for JetBrains IDEs, designed specifically for developers and QA. While many API tools feel like Postman clones, JetClient takes a different approach. It reimagines the common challenges developers face and offers smart, innovative solutions. Below are some of the key features that make JetClient stand out:

File Sync (Git Sync)

  • Bring Your Own Version Control: Use Git or any other version control system to manage and track file changes.
  • Readable Format: Requests and folders are stored in separate, structured Markdown files, making it easy to review changes and merge updates.
  • Team Collaboration: Keep your request collections, tests, examples, and documentation in sync with your team.
  • Data Privacy: Your data is stored securely in your own repository, not in the cloud.

Scripts

  • Scripts as First-Class Citizens: In addition to pre-request and post-response scripts, standalone Scripts let you build test suites, define reusable logic, and automate workflows.
  • Code-First Testing: Write test scenarios in Scripts just like you would in any programming language. Reuse existing requests or other Scripts, and leverage assertions, conditions, loops, and more to build complex test scenarios. With Scripts, there’s no need to duplicate requests for different scenarios, organize them into separate folders, or rely on hacks like setNextRequest for control flow.

Environment Groups

  • Select Multiple Environments: Create groups of environments for different contexts such as environments (dev, test, prod), users, clients, tenants, and more. Each environment has its own variables. Select multiple environments simultaneously — one from each group — to combine sets of variables as needed.
  • Easily Switch Contexts: Quickly switch between users, clients, and other contexts with just a few clicks — no more manually changing variables to test different contexts.

Advanced Variables

  • JSON5 Syntax: Define variables using JSON5, which supports trailing commas, properties without quotes, and comments.
  • Powerful Variables: Variables can go beyond primitive values — they can be arrays, JSON objects, reference other variables, or even include expressions with arithmetic operations, string concatenation, and function calls. Built-in functions support random data generation, user prompts, file reading, JavaScript evaluation, executing shell commands, and more.
  • Environment and Folder Variables: Define variables at the environment or folder level, with folder variables being either general or environment-specific.
  • Shared and Local Variables: The variables editor is split into two sections — shared variables, saved to sync files, and local variables, which remain unsynced. This ensures a clear distinction between shared and private data.

Next