<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Sanskriti Harmukh</title>
    <description>The latest articles on DEV Community by Sanskriti Harmukh (@sanskritiharmukh).</description>
    <link>https://dev.to/sanskritiharmukh</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F654969%2F1451690a-faf5-4df0-a2d3-7974fbd9d3a5.jpg</url>
      <title>DEV Community: Sanskriti Harmukh</title>
      <link>https://dev.to/sanskritiharmukh</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/sanskritiharmukh"/>
    <language>en</language>
    <item>
      <title>Vultr Creator Program: Get Paid to Contribute to Vultr Documentation Library 📝</title>
      <dc:creator>Sanskriti Harmukh</dc:creator>
      <pubDate>Fri, 06 Jun 2025 10:22:09 +0000</pubDate>
      <link>https://dev.to/sanskritiharmukh/vultr-creator-program-get-paid-to-contribute-to-vultr-documentation-library-1hp4</link>
      <guid>https://dev.to/sanskritiharmukh/vultr-creator-program-get-paid-to-contribute-to-vultr-documentation-library-1hp4</guid>
      <description>&lt;p&gt;When you’re self-hosting open-source tools, configuring Linux environments, or managing cloud workloads, chances are you’ve hit that point where browsing forums or asking AI just doesn’t cut it anymore. The deeper you dig, the tougher it is to find guides that make you think, “ &lt;em&gt;I finally found what I was looking for&lt;/em&gt; ” on the first try. We’ve experienced this gap ourselves. And that’s exactly why we introduced &lt;a href="https://docs.vultr.com/platform/vultr-creator-program" rel="noopener noreferrer"&gt;&lt;strong&gt;Vultr Creator Program&lt;/strong&gt;&lt;/a&gt;, so developers like you can share hard-earned, battle-tested solutions that help others get unstuck and get rewarded for it in return.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://dub.sh/77HnHly" class="crayons-btn crayons-btn--primary" rel="noopener noreferrer"&gt;👉 Apply Now&lt;/a&gt;
&lt;/p&gt;

&lt;h2&gt;
  
  
  What is Vultr Creator Program?
&lt;/h2&gt;

&lt;p&gt;The &lt;strong&gt;Vultr Creator Program is an opportunity for developers, technical writers, DevOps engineers, SREs, and system administrators&lt;/strong&gt; to contribute production-grade tutorials that go beyond generic documentation. Through this initiative, we aim to &lt;strong&gt;expand our documentation library&lt;/strong&gt; with step-by-step resources that enable users to make the most of &lt;a href="https://www.vultr.com/" rel="noopener noreferrer"&gt;Vultr&lt;/a&gt;’s global cloud infrastructure.&lt;/p&gt;

&lt;h2&gt;
  
  
  What Kind of Content Can You Submit?
&lt;/h2&gt;

&lt;p&gt;The Vultr Creator Program welcomes contributions across various domains, from Linux administration and cloud-native tooling to DevOps automation and ML experiments. To simplify submissions, we categorize content into &lt;strong&gt;two major types&lt;/strong&gt;:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Articles&lt;/strong&gt;: Platform-agnostic tutorials that cover widely-used technologies or programming workflows. These don’t have to revolve around Vultr directly, which makes them useful to a broader developer audience.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Guides&lt;/strong&gt;: Vultr-specific tutorials that walk users through using a specific Vultr product or feature. These guides help other developers deploy, configure, migrate, or manage services on &lt;a href="https://www.vultr.com/" rel="noopener noreferrer"&gt;Vultr&lt;/a&gt;.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  What Does High-Quality Look Like?
&lt;/h2&gt;

&lt;p&gt;We’ve seen some excellent contributions from creators that go above and beyond in terms of clarity, usefulness, and depth. Here are a few examples that show what makes a submission truly valuable:&lt;/p&gt;

&lt;h3&gt;
  
  
  High-Quality Articles:
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://docs.vultr.com/how-to-install-composer-with-php" rel="noopener noreferrer"&gt;How to Install Composer with PHP&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://docs.vultr.com/how-to-deploy-invoice-ninja-an-opensource-invoicing-application-and-alternative-to-freshbooks" rel="noopener noreferrer"&gt;How to Deploy Invoice Ninja – An Open Source Invoicing Application and Alternative to FreshBooks&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://docs.vultr.com/how-to-create-environment-variables-in-linux" rel="noopener noreferrer"&gt;How to Create Environment Variables in Linux&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  High-Quality Vultr Guides:
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://docs.vultr.com/how-to-migrate-digitalocean-container-registry-to-vultr-container-registry" rel="noopener noreferrer"&gt;How to Migrate DigitalOcean Container Registry to Vultr Container Registry&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://docs.vultr.com/how-to-set-up-automatic-backups-with-rclone-and-vultr-object-storage" rel="noopener noreferrer"&gt;How to Set Up Automatic Backups with Rclone and Vultr Object Storage&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://docs.vultr.com/how-to-use-vultrs-cpanel-marketplace-application" rel="noopener noreferrer"&gt;How to Use Vultr’s cPanel Marketplace Application&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  What You Get?
&lt;/h2&gt;

&lt;p&gt;Whether you're sharing your expertise or building a writing portfolio, the Vultr Creator Program is designed to recognize and reward your work.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Earn up to &lt;code&gt;$800&lt;/code&gt; per published piece&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Write from anywhere&lt;/strong&gt;, on your own schedule.&lt;/li&gt;
&lt;li&gt;Become part of a &lt;strong&gt;growing global network of 170+ creators&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Connect with the Vultr DevRel team&lt;/strong&gt; during Bi-Weekly Office Hours.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  How it Works?
&lt;/h2&gt;

&lt;p&gt;Contributing to the Vultr Creator Program is straightforward and focused on what you do best:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Pick a topic&lt;/strong&gt; from the available pool, or propose one aligned with your skills and experience.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Write practical tutorials&lt;/strong&gt; that actually help other developers.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Collaborate with our editorial team&lt;/strong&gt; to refine your draft for accuracy.&lt;/li&gt;
&lt;li&gt;Once finalized, &lt;strong&gt;you receive a payout&lt;/strong&gt; based on the quality and complexity of your submission.&lt;/li&gt;
&lt;li&gt;Your work is then &lt;strong&gt;published on &lt;a href="https://docs.vultr.com" rel="noopener noreferrer"&gt;Vultr Docs&lt;/a&gt;&lt;/strong&gt;, &lt;strong&gt;promoted&lt;/strong&gt; across channels, and fully &lt;strong&gt;credited&lt;/strong&gt; to you, helping you build visibility in the developer community.&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Join Us Today
&lt;/h2&gt;

&lt;p&gt;Sign up on the Vultr Creator Dashboard and submit your application to become a Vultr Creator: &lt;strong&gt;&lt;a href="https://dub.sh/77HnHly" rel="noopener noreferrer"&gt;https://dub.sh/77HnHly&lt;/a&gt;&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;To get familiar with the program’s details, payout structure, guidelines, and best practices, check out the &lt;strong&gt;&lt;a href="https://drive.google.com/file/d/18H0eZpVRyLhxjvBIy0mN6AmMIt6sMPIQ/view" rel="noopener noreferrer"&gt;Vultr Creator Handbook&lt;/a&gt;&lt;/strong&gt;. It’s your comprehensive resource to understand how the program works and how you can make the most of your contribution. &lt;/p&gt;




&lt;p&gt;The Vultr Creator Program is more than just a writing gig, it’s a community built by developers, for developers. Contribute your expertise, and be part of a movement that’s redefining how developer documentation is created and shared 💙.&lt;/p&gt;

</description>
      <category>devrel</category>
      <category>devops</category>
      <category>cloud</category>
      <category>career</category>
    </item>
    <item>
      <title>Optimize API Testing with Hoppscotch CLI and Web based Collection Runners</title>
      <dc:creator>Sanskriti Harmukh</dc:creator>
      <pubDate>Thu, 23 Jan 2025 07:29:07 +0000</pubDate>
      <link>https://dev.to/hoppscotch/optimize-api-testing-with-hoppscotch-cli-and-web-based-collection-runners-17nm</link>
      <guid>https://dev.to/hoppscotch/optimize-api-testing-with-hoppscotch-cli-and-web-based-collection-runners-17nm</guid>
      <description>&lt;p&gt;APIs are the backbone of modern applications, powering everything from user authentication to pulling in complex data. We understand that there’s no harm in making API calls individually, if you've got, say, 5 requests bundled in a collection. But if you have 10, 50, or more API endpoints to test, verify responses, and ensure everything works across environments, then, mate, the entire process becomes not only inefficient and insanely tedious but also prone to human error. &lt;/p&gt;

&lt;p&gt;The &lt;strong&gt;Collection Runner&lt;/strong&gt; takes that burden off your shoulders by automating API testing for entire collection, eliminating repetitive tasks, ensuring consistency, and saving you hours of debugging headaches. In this blog, we'll break down exactly how it works. We’ll walk you through the different variations of Hoppscotch’s Collection Runner, so you can easily figure out which one to choose based on your specific needs.&lt;/p&gt;

&lt;h2&gt;
  
  
  Meet Hoppscotch 👽
&lt;/h2&gt;

&lt;p&gt;Hoppscotch is an &lt;a href="https://github.com/hoppscotch/hoppscotch" rel="noopener noreferrer"&gt;open-source&lt;/a&gt; and &lt;a href="https://docs.hoppscotch.io/documentation/self-host/getting-started" rel="noopener noreferrer"&gt;self-hostable&lt;/a&gt; platform, that makes API development, testing, debugging, and documenting a walk in the park. It’s designed to work directly in your browser with no installations, no complex setups, and no account required. Just jump into &lt;a href="https://hoppscotch.io" rel="noopener noreferrer"&gt;hoppscotch.io&lt;/a&gt;, craft your requests, and you're good to go.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://hoppscotch.com/" class="ltag_cta ltag_cta--branded" rel="noopener noreferrer"&gt;Check out Hoppscotch 🛸&lt;/a&gt;
&lt;/p&gt;

&lt;h2&gt;
  
  
  Collection Runner ▶️
&lt;/h2&gt;

&lt;p&gt;At Hoppscotch, we’re obsessed with making API testing fast, easy, and, dare we say, ✨ fun ✨. The Collection Runner for it is your ultimate hack. Instead of slogging through individual requests, you just set it up once, hit run, and watch as your entire collection is executed in sequence, validated, and reported back to you in seconds. It’s like putting your API tests on autopilot. &lt;/p&gt;

&lt;h3&gt;
  
  
  📟 &lt;u&gt; Hoppscotch CLI-based Collection Runner &lt;/u&gt;
&lt;/h3&gt;

&lt;p&gt;The &lt;strong&gt;CLI Edition of Hoppscotch&lt;/strong&gt; works as a powerhouse for developers who prefer working in the terminal. If you’re the type who prefers working from the command line, this is your ticket to get started. All you need to do is check the &lt;a href="https://docs.hoppscotch.io/documentation/clients/cli/overview#pre-requisites" rel="noopener noreferrer"&gt;prerequisites&lt;/a&gt; based on your system setup, verify your Node version ( &lt;code&gt;v20+&lt;/code&gt; ), and install the latest version of Hoppscotch CLI with this simple command:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;npm i -g @hoppscotch/cli
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Once you've got your app’s server up and running, head over to the REST API section of Hoppscotch, create a &lt;a href="https://docs.hoppscotch.io/documentation/features/collections" rel="noopener noreferrer"&gt;collection&lt;/a&gt; for your app’s APIs, and set up an &lt;a href="https://docs.hoppscotch.io/documentation/features/environments" rel="noopener noreferrer"&gt;environment&lt;/a&gt; if needed. Now, here’s where things get cool. You’ve got two ways to run your collection with the Hoppscotch CLI:&lt;/p&gt;

&lt;p&gt;➡️ &lt;strong&gt;Using JSON Exports:&lt;/strong&gt; Export your collection and associated environment in JSON format and pass it alongside the &lt;code&gt;hopp test&lt;/code&gt; command to get the test summary:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;hopp test [-e &amp;lt;environment file&amp;gt;] &amp;lt;hoppscotch collection file&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;➡️ &lt;strong&gt;Using IDs:&lt;/strong&gt; If you don't want to download any files locally, you can use this method. Every time you create a collection or environment, Hoppscotch assigns them unique IDs. You can run tests using these IDs through the CLI. To connect your instance account(Self-hosted or Cloud) with Hoppscotch CLI, you'll also need a &lt;a href="https://docs.hoppscotch.io/documentation/features/pat" rel="noopener noreferrer"&gt;personal access token&lt;/a&gt;. And if you're using a self-hosted instance of Hoppscotch, don’t forget to throw in the server URL as well:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;hopp test  [-e &amp;lt;environment id&amp;gt;] &amp;lt;hoppscotch collection id&amp;gt; [--token &amp;lt;access_token&amp;gt;] [--server &amp;lt;server url&amp;gt;]
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fzzkomi3oquapebcyo35v.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fzzkomi3oquapebcyo35v.png" alt="CLI Based Collection Runner" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Hoppscotch CLI-based Collection Runner fits right into your workflow if you are looking for:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;✅ &lt;strong&gt;Automate API testing&lt;/strong&gt; and integrate CLI with automated processes, ensuring that your APIs are tested as part of your build and deployment pipeline. (Checkout &lt;a href="https://dev.to/hoppscotch/automate-api-testing-with-hoppscotch-and-github-actions-d70"&gt;this blog&lt;/a&gt; to learn end-to-end about this).&lt;br&gt;
✅ Generate &lt;a href="https://docs.hoppscotch.io/documentation/clients/cli/overview#generate-junit-report-for-collection-runs" rel="noopener noreferrer"&gt;&lt;strong&gt;JUnit reports&lt;/strong&gt;&lt;/a&gt; of the test summary for structured test result tracking.&lt;br&gt;
✅ &lt;strong&gt;Run large-scale test suites&lt;/strong&gt; without the hassle of manually triggering each request.&lt;br&gt;
✅ Run &lt;strong&gt;tests in different environments&lt;/strong&gt; by simply referencing environment variables and configurations in your command line.&lt;br&gt;
✅ &lt;strong&gt;Test against self-hosted instances&lt;/strong&gt; of Hoppscotch, giving you full control over the testing process while keeping things secure.&lt;br&gt;
✅ Scale your tests easily across multiple endpoints and use cases, enabling more comprehensive API validation in less time.&lt;br&gt;
✅ Quickly &lt;strong&gt;debug APIs&lt;/strong&gt; by running test collections with real-time results, assuring that your application runs smoothly after every update.&lt;br&gt;
✅ &lt;strong&gt;Execute tests easily on remote servers&lt;/strong&gt;, making it ideal for testing APIs across distributed systems or cloud environments.&lt;br&gt;
✅ &lt;strong&gt;Trigger tests based on specific conditions&lt;/strong&gt;, allowing you to run tests only when certain criteria are met (e.g., after new commits, or after a particular stage in your deployment process).&lt;/p&gt;

&lt;p&gt;Refer to the &lt;a href="https://docs.hoppscotch.io/documentation/clients/cli/overview" rel="noopener noreferrer"&gt;documentation&lt;/a&gt; for a complete overview of Hoppscotch CLI and how it operates. Plus, watch the &lt;a href="https://youtu.be/YuplpX4c1ws" rel="noopener noreferrer"&gt;video&lt;/a&gt; attached below to know how to run a collection using Hoppsoctch CLI.&lt;/p&gt;

&lt;p&gt;&lt;iframe width="710" height="399" src="https://www.youtube.com/embed/YuplpX4c1ws"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;h3&gt;
  
  
  🌐 &lt;u&gt; Hoppscotch Web-based Collection Runner &lt;/u&gt;
&lt;/h3&gt;

&lt;p&gt;The &lt;strong&gt;GUI Edition of the Collection Runner&lt;/strong&gt; is perfect for those moments when you want to visually manage your tests without the hassle of extra setup. It’s super convenient, especially when you want to generate a test summary side by side while working on your collection. All you need to do is pick your collection, set up your environment, and let the runner take care of the rest.&lt;/p&gt;

&lt;p&gt;Once you hover over your collection, you’ll spot the &lt;strong&gt;Runner&lt;/strong&gt; icon, which opens up a variety of configurations for you to tweak, including:&lt;/p&gt;

&lt;p&gt;➡️ &lt;strong&gt;Delay:&lt;/strong&gt; Set an interval delay (in milliseconds) between each request in your collection run.&lt;br&gt;
➡️ &lt;strong&gt;Stop Run if Error Occurs:&lt;/strong&gt; If any error pops up in a script or there’s an issue sending a request, the entire run stops, so no messy situations here.&lt;br&gt;
➡️ &lt;strong&gt;Persist Responses:&lt;/strong&gt; Log response headers and bodies for later review. (Keep in mind, this may slow things down if you’ve got a huge collection.)&lt;br&gt;
➡️ &lt;strong&gt;Keep Variable Values:&lt;/strong&gt; Save the variables used during the run. Any updates made to the variables will stick after the run finishes.&lt;/p&gt;

&lt;p&gt;Once you're ready, click &lt;code&gt;Run&lt;/code&gt;, a new tab opens showing the test results and execution details. You can dig deeper into any passed or failed test case to troubleshoot or just bask in the glory of a successful run.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fkobi3o2x6a7d7vmnrkc7.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fkobi3o2x6a7d7vmnrkc7.png" alt="Web-based Collection Runner" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The Web-based Collection Runner is just what you need when you want to:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;✅ Quickly &lt;strong&gt;run tests without worrying about&lt;/strong&gt; the setup or &lt;strong&gt;complex configurations&lt;/strong&gt;.&lt;br&gt;
✅ &lt;strong&gt;Track your tests visually&lt;/strong&gt; with a real-time summary of each request and its results.&lt;br&gt;
✅ &lt;strong&gt;Review and debug results&lt;/strong&gt; with easy access to test case details in case something fails.&lt;br&gt;
✅ Execute &lt;strong&gt;tests in an interactive environment&lt;/strong&gt;, ideal for manual verification or smaller-scale testing.&lt;/p&gt;

&lt;p&gt;To learn how to use the &lt;a href="https://docs.hoppscotch.io/documentation/features/runner" rel="noopener noreferrer"&gt;GUI edition of the Collection Runner&lt;/a&gt;, check out this &lt;a href="https://youtu.be/mZvq4fMGw9Y" rel="noopener noreferrer"&gt;video&lt;/a&gt; to understand the run settings and analyze the runner results.&lt;/p&gt;

&lt;p&gt;&lt;iframe width="710" height="399" src="https://www.youtube.com/embed/mZvq4fMGw9Y"&gt;
&lt;/iframe&gt;
&lt;/p&gt;




&lt;p&gt;That wraps up our blog for today! We hope this quick overview helped you figure out which Collection Runner is the right fit for your needs. Go ahead and give both editions a try, and let us know which one you prefer.&lt;/p&gt;

&lt;p&gt;We're truly grateful for your continued support of Hoppscotch over the years. We're on a mission to make Hoppscotch the best suite for API development, testing, documentation, and more. Stay tuned to Hoppscotch &lt;a href="https://x.com/hoppscotch_io" rel="noopener noreferrer"&gt;X&lt;/a&gt; and &lt;a href="https://www.linkedin.com/company/hoppscotch/" rel="noopener noreferrer"&gt;LinkedIn&lt;/a&gt; for the latest updates. If you have any feedback or suggestions, drop us a line at &lt;a href="mailto:hello@hoppscotch.io"&gt;hello@hoppscotch.io&lt;/a&gt;, or create an issue or discussion on our &lt;a href="https://github.com/hoppscotch/hoppscotch" rel="noopener noreferrer"&gt;GitHub repository&lt;/a&gt; 💚.&lt;/p&gt;

</description>
      <category>api</category>
      <category>webdev</category>
      <category>testing</category>
      <category>opensource</category>
    </item>
    <item>
      <title>Automate API Testing with Hoppscotch and GitHub Actions</title>
      <dc:creator>Sanskriti Harmukh</dc:creator>
      <pubDate>Mon, 20 Jan 2025 07:15:36 +0000</pubDate>
      <link>https://dev.to/hoppscotch/automate-api-testing-with-hoppscotch-and-github-actions-d70</link>
      <guid>https://dev.to/hoppscotch/automate-api-testing-with-hoppscotch-and-github-actions-d70</guid>
      <description>&lt;p&gt;API testing can often feel repetitive, especially when you are manually verifying endpoints every time there’s a change. It’s easy to overlook a detail or get bogged down in the process. Plus, as your codebase grows, this manual testing process becomes more time-consuming and prone to errors. In situations like these, you can’t help but wonder how much easier it would be if things could be automated. And hey, it's 2025, automation is totally within our reach. With the right setup, you can now run tests automatically every time there's an update to your code, making sure everything’s still working as it should. And with &lt;a href="https://github.com/hoppscotch/hoppscotch" rel="noopener noreferrer"&gt;Hoppscotch&lt;/a&gt;, integrating automated API testing into your CI/CD pipeline comes in a snap.&lt;/p&gt;

&lt;p&gt;Hoppscotch is an open-source, self-hostable platform that makes API development and testing ridiculously easy. It’s quick to get started, no account required, just hop onto &lt;a href="https://hoppscotch.io" rel="noopener noreferrer"&gt;hoppscotch.io&lt;/a&gt;, create your request, and hit send. Simple as that.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://hoppscotch.com/" class="ltag_cta ltag_cta--branded" rel="noopener noreferrer"&gt;Check out Hoppscotch 🛸&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;But today, we’re going to explore another cool perk of using Hoppscotch and that is leveraging Hoppscotch CLI to automatically execute API requests stored in your collection.&lt;/p&gt;

&lt;h2&gt;
  
  
  Hoppscotch CLI 📟
&lt;/h2&gt;

&lt;p&gt;Hoppscotch offers various editions, and one of them is the &lt;a href="https://www.npmjs.com/package/@hoppscotch/cli" rel="noopener noreferrer"&gt;CLI&lt;/a&gt;, which lets you run your API requests remotely from the comfort of your terminal. If you're looking to create a setup and test your APIs locally, check out the pre-requisites described &lt;a href="https://docs.hoppscotch.io/documentation/clients/cli/overview#pre-requisites" rel="noopener noreferrer"&gt;here&lt;/a&gt; based on your system configurations, verify the node version, and install the latest version of Hoppscotch CLI into your machine with a simple command:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;npm i -g @hoppscotch/cli
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;There are two ways to run your collection using the Hoppscotch CLI:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1️⃣ Using JSON Exports:&lt;/strong&gt; Export your collection and associated environment in JSON format and pass it alongside the hopp test command to get the test summary:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;hopp test [-e &amp;lt;environment file&amp;gt;] &amp;lt;hoppscotch collection file&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;2️⃣ Using IDs:&lt;/strong&gt; Every time you create a collection or an environment, Hoppscotch assigns a unique ID to them. You can use these IDs to reference your collection when running tests via the CLI. But to connect your instance account with Hoppscotch, you also need to provide a personal access token, which is super simple to generate in Hoppscotch. &lt;a href="https://docs.hoppscotch.io/documentation/features/pat#generating-personal-access-token" rel="noopener noreferrer"&gt;Follow the steps here&lt;/a&gt; to generate the token. And if you're using a self-hosted instance of Hoppscotch, don't forget to provide the server URL in the command:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;hopp test [-e &amp;lt;environment id&amp;gt;] &amp;lt;hoppscotch collection id&amp;gt; [--token &amp;lt;access_token&amp;gt;] [--server &amp;lt;server url&amp;gt;]
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Hoppscotch + GitHub Actions 🔁
&lt;/h2&gt;

&lt;p&gt;Let’s take a simple Express application as an example. This app defines routes to perform CRUD operations on quotes, exposed to &lt;code&gt;localhost:5000&lt;/code&gt;. We'll also create a collection within Hoppscotch that includes APIs for fetching all quotes from the database, fetching a specific quote by ID, adding a new quote to the list, updating an existing quote, and removing a quote. To avoid repeatedly typing the URL and paths, we'll also create an environment so we can refer to them via variables.&lt;br&gt;
To get familiar with the codebase, refer to this &lt;a href="https://github.com/SanskritiHarmukh/hoppscotch-cli-demo" rel="noopener noreferrer"&gt;repository&lt;/a&gt;.  If you want to understand the logic behind each API request, follow this &lt;a href="https://dev.to/hoppscotch/streamline-your-testing-workflow-with-hoppscotch-cli-2i3n"&gt;blog&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Now that we have the basics in place, let's take things up a notch by introducing &lt;a href="https://github.com/features/actions" rel="noopener noreferrer"&gt;GitHub Actions&lt;/a&gt;. GitHub Actions allows us to automate various tasks like running tests, building, and deploying our application directly from our repository. In this blog, we’ll specifically focus on the &lt;a href="https://docs.github.com/en/actions/about-github-actions/about-continuous-integration-with-github-actions" rel="noopener noreferrer"&gt;CI&lt;/a&gt; (Continuous Integration) part to automate API testing for our Express app.&lt;/p&gt;
&lt;h3&gt;
  
  
  🔑 Generating a Personal Access Token
&lt;/h3&gt;

&lt;p&gt;In this example, we’ll be running our collection using IDs, and to do that successfully, we need a Personal Access Token. Head over to your profile page in Hoppscotch, then switch to the &lt;strong&gt;“Tokens”&lt;/strong&gt; tab. Click on &lt;strong&gt;“Generate new token,”&lt;/strong&gt; give it a label, choose an expiration date, and click &lt;strong&gt;“Generate Token.”&lt;/strong&gt; Be sure to save the token somewhere safe, as you won’t be able to see it ever again.&lt;/p&gt;

&lt;p&gt;Now that we have our token, let’s ensure it stays secure in our pipeline. To do this, we’ll store it as an action secret. Go to your GitHub repository, then navigate to &lt;strong&gt;Settings &amp;gt; Secrets and Variables &amp;gt; Actions &amp;gt; New Repository Secret&lt;/strong&gt;. Give it a meaningful name (e.g. &lt;code&gt;HOPPSCOTCH_PERSONAL_ACCESS_TOKEN&lt;/code&gt;) and paste in your Personal Access Token.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ft9rbtw9gfx77xc3qz6mv.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ft9rbtw9gfx77xc3qz6mv.png" alt="Personal-Access-Token-Generation" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h3&gt;
  
  
  🆔 Collecting Collection and Environment IDs
&lt;/h3&gt;

&lt;p&gt;One of the easiest ways to fetch both the collection and environment IDs is by clicking on the &lt;strong&gt;Runner&lt;/strong&gt;  icon that appears when you hover over your collection. Switch to the CLI tab in the modal, and you’ll find a command ready to use. If you select the option to include environment properties, the environment ID will be appended to the command as well. Cool, right?&lt;/p&gt;

&lt;p&gt;But, if you prefer to collect the IDs manually, you can find them under the &lt;strong&gt;"Properties"&lt;/strong&gt; menu of both the collection and environment. &lt;/p&gt;

&lt;p&gt;We’ll use these IDs in the command within our pipeline. Below is an example:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;hopp test cm5wuvaf700jwwdopsb68uoic -e cm47dw3jy002d3f238uk4yfr1 --token &amp;lt;access_token&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fnoupzz3frxuun39cdcmn.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fnoupzz3frxuun39cdcmn.png" alt="Collection-and-Environment-IDs" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  ▶️ Creating the CI Workflow
&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;Since this application isn't deployed yet and is only a sample for API testing, as mentioned earlier, we'll focus on crafting a CI (Continuous Integration) pipeline to validate the functionality of the API endpoints defined in &lt;code&gt;quotes.js&lt;/code&gt;.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Workflow files use YAML (a data serialization language) syntax. To learn more about YAML, check out this &lt;a href="https://learnxinyminutes.com/yaml/" rel="noopener noreferrer"&gt;YAML in Y Minutes&lt;/a&gt; tutorial. For a detailed explanation of different jobs you can define in a GitHub Actions workflow, refer to the &lt;a href="https://docs.github.com/en/actions/writing-workflows/workflow-syntax-for-github-actions" rel="noopener noreferrer"&gt;GitHub Actions Workflow Syntax documentation&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;To get started, create a &lt;code&gt;.github/workflows&lt;/code&gt; directory in your project root. Inside this folder, create a YAML file (e.g., &lt;code&gt;quotes-api.yml&lt;/code&gt;) to define the pipeline instructions. This file will specify the steps and jobs required to automate our workflows.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;on:
  push:
    branches:
      - main  
  pull_request:
    branches:
      - main 

jobs:
  test:
    runs-on: ubuntu-latest

    steps:
      - name: Checkout code
        uses: actions/checkout@v2

      - name: Set up Node.js
        uses: actions/setup-node@v2
        with:
          node-version: '20'  

      - name: Install dependencies
        run: |
          npm install

      - name: Install Hoppscotch CLI
        run: |
          npm i -g @hoppscotch/cli

      - name: Verify Hoppscotch version
        run: |
          hopp --ver

      - name: Start the server
        run: |
          nohup npm start &amp;amp; 
          echo $! &amp;gt; server.pid
          sleep 10

      - name: Wait for server to be ready
        run: |
          until curl -s http://127.0.0.1:5000; do
            echo "Waiting for server..."
            sleep 5
          done

      - name: Run Hoppscotch tests
        run: |
          hopp test cm5wuvaf700jwwdopsb68uoic -e cm47dw3jy002d3f238uk4yfr1 --token $HOPPSCOTCH_PERSONAL_ACCESS_TOKEN
        env:
          HOPPSCOTCH_PERSONAL_ACCESS_TOKEN: ${{ secrets.HOPPSCOTCH_PERSONAL_ACCESS_TOKEN }}

      - name: Stop the server
        run: |
          kill $(cat server.pid) 
          rm server.pid
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The workflow is pretty straightforward, and it covers all the key steps needed to automate your API testing with Hoppscotch in your CI pipeline. Every time new changes are introduced to the codebase or when a new PR is created for the main branch, this workflow will run automatically.&lt;/p&gt;

&lt;p&gt;First, we check out the code and set up the Node.js environment, ensuring all dependencies are installed. Next, we install the Hoppscotch CLI globally to enable testing via the command line. After confirming the Hoppscotch version, we start the server that will host the API for testing. The workflow waits until the server is fully up and running before executing the actual Hoppscotch tests.&lt;/p&gt;

&lt;p&gt;Here, you can see Hoppscotch’s power in action, using the hopp test command to run the API collection tests with a personal access token, securely referenced through GitHub Actions secrets. Finally, the server is stopped once the tests are completed.&lt;/p&gt;

&lt;h3&gt;
  
  
  Tip 💡
&lt;/h3&gt;

&lt;p&gt;You can even &lt;strong&gt;generate a JUnit report&lt;/strong&gt; of the test summary to integrate seamlessly with your CI/CD pipelines or for structured test result tracking. Just add the &lt;code&gt;--reporter-junit&lt;/code&gt; flag to your existing &lt;code&gt;hopp test&lt;/code&gt; command and specify the path where the file should be saved. If no path is mentioned, the report will be saved in the working directory by default.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;hopp test &amp;lt;file_path_or_id&amp;gt; [-e &amp;lt;file_path_or_id&amp;gt;] --reporter-junit [path]
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;p&gt;And that’s it! You can commit your changes and push the code to see the results in action. You can also view the logs of the pipeline I’ve set up for the quotes application &lt;a href="https://github.com/SanskritiHarmukh/hoppscotch-cli-demo/actions/runs/12774939244/job/35731561409" rel="noopener noreferrer"&gt;here&lt;/a&gt;. Pretty simple, right?&lt;/p&gt;

&lt;p&gt;If you prefer a graphical interface over the command line then check out the &lt;strong&gt;GUI version of our collection runner&lt;/strong&gt;. It offers an intuitive way to run your collections directly from the Hoppscotch web interface. Have a look at this &lt;a href="https://youtu.be/mZvq4fMGw9Y" rel="noopener noreferrer"&gt;video&lt;/a&gt; and refer the &lt;a href="https://docs.hoppscotch.io/documentation/features/runner" rel="noopener noreferrer"&gt;documentation&lt;/a&gt; for the same.&lt;/p&gt;

&lt;p&gt;&lt;iframe width="710" height="399" src="https://www.youtube.com/embed/mZvq4fMGw9Y"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;p&gt;So go ahead, integrate Hoppscotch into your automation workflow and simplify API testing for yourself and your team. Thank you for supporting Hoppscotch 💚. We’re always looking to improve, and your feedback makes a difference. If you have any suggestions or run into issues, feel free to reach out at &lt;a href="mailto:hello@hoppscotch.io"&gt;hello@hoppscotch.io&lt;/a&gt;, or visit our &lt;a href="https://github.com/hoppscotch/hoppscotch" rel="noopener noreferrer"&gt;GitHub repository&lt;/a&gt; to open an issue or chat with us 💬.&lt;/p&gt;

</description>
      <category>api</category>
      <category>testing</category>
      <category>github</category>
      <category>devops</category>
    </item>
    <item>
      <title>Hoppscotch v2024.8.0: AWS Signature, Workspace Management APIs, and more..</title>
      <dc:creator>Sanskriti Harmukh</dc:creator>
      <pubDate>Sat, 31 Aug 2024 04:43:10 +0000</pubDate>
      <link>https://dev.to/hoppscotch/hoppscotch-v202480-aws-signature-workspace-management-apis-and-more-3o3k</link>
      <guid>https://dev.to/hoppscotch/hoppscotch-v202480-aws-signature-workspace-management-apis-and-more-3o3k</guid>
      <description>&lt;p&gt;&lt;a href="https://github.com/hoppscotch/hoppscotch" rel="noopener noreferrer"&gt;&lt;strong&gt;Hoppscotch&lt;/strong&gt;&lt;/a&gt; turned 5 this August 🎂!&lt;/p&gt;

&lt;p&gt;When we first launched Hoppscotch, our plan was clear: make it easier for developers to test APIs directly from their browser without logging in (&lt;a href="https://hoppscotch.io" rel="noopener noreferrer"&gt;https://hoppscotch.io&lt;/a&gt;). Today, we've evolved far beyond that initial vision. Hoppscotch now features a &lt;a href="https://docs.hoppscotch.io/documentation/self-host/getting-started" rel="noopener noreferrer"&gt;Self-Hosted Edition&lt;/a&gt;, giving you greater control over your data, and a &lt;a href="https://hoppscotch.com/download" rel="noopener noreferrer"&gt;Desktop Application&lt;/a&gt; for a smoother, faster experience.&lt;/p&gt;

&lt;p&gt;With our latest update, &lt;strong&gt;version 2024.8.0&lt;/strong&gt;, we're excited to introduce cool new features that we think you'll love.&lt;/p&gt;

&lt;p&gt;This update introduces new additions to the Hoppscotch Backend that require users to run a new migration (instructions can be found here for &lt;a href="https://docs.hoppscotch.io/documentation/self-host/community-edition/install-and-build#migrations" rel="noopener noreferrer"&gt;community&lt;/a&gt; and &lt;a href="https://docs.hoppscotch.io/documentation/self-host/enterprise-edition/install-and-build#migrations" rel="noopener noreferrer"&gt;enterprise&lt;/a&gt; editions respectively), in addition to that, we're also adding a new environment variable &lt;code&gt;DATA_ENCRYPTION_KEY&lt;/code&gt; whose value is a 32 character alphanumeric string. For more details on this please refer to the &lt;a href="https://docs.hoppscotch.io/documentation/self-host/getting-started" rel="noopener noreferrer"&gt;documentation&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  AWS Signature Authorization Type 🔐
&lt;/h2&gt;

&lt;p&gt;Support for AWS Signature authorization is now available. This HMAC (Hash-based Message Authentication Code) mechanism ensures that your requests are genuine and tamper-proof. Just enter your AWS Access Key and Secret Key to securely sign your API requests within Hoppscotch.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fq2jr5wzob7tvoyhq0i0i.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fq2jr5wzob7tvoyhq0i0i.jpeg" alt="AWS Signature Auth support" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Description Field for Request Parameters and Headers 📝
&lt;/h2&gt;

&lt;p&gt;To help you keep track of your API components, we've introduced description fields for request parameters and headers. Now, you can add notes about what each parameter or header does right inside Hoppscotch, making it easier to remember the purpose of each part of your request.&lt;/p&gt;

&lt;h2&gt;
  
  
  Import HAR Files to the Hoppscotch Collection 📥
&lt;/h2&gt;

&lt;p&gt;You can now import HAR (HTTP Archive) files into Hoppscotch with just a couple of clicks. Whether you're pulling data from your browser or a network tool, you can quickly bring HAR files into Hoppscotch collections and get to work.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fiy4k5djnbeehz8p65f6v.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fiy4k5djnbeehz8p65f6v.jpeg" alt="Import HAR files to Hoppscotch COllection" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  APIs for Workspace Management 🤝
&lt;/h2&gt;

&lt;p&gt;Admins using the Self-Hosted Enterprise Edition can now manage workspaces more easily with simple API calls. Tasks such as creating new workspaces, updating existing workspace details, and deleting workspaces can be performed with just a single click.&lt;/p&gt;




&lt;p&gt;We're beyond grateful for the support from our community. Your belief in Hoppscotch and recognition of its potential have been major to our growth. We'd love to hear your thoughts on this release or anything else you'd like to share. Feel free to reach out to us at &lt;a href="mailto:hello@hoppscotch.io"&gt;hello@hoppscotch.io&lt;/a&gt;, join the conversation on our &lt;a href="https://hoppscotch.io/discord" rel="noopener noreferrer"&gt;Discord server&lt;/a&gt;, or head over to our &lt;a href="https://github.com/hoppscotch/hoppscotch" rel="noopener noreferrer"&gt;GitHub repository&lt;/a&gt;. We can't wait to hear from you!&lt;/p&gt;

</description>
      <category>opensource</category>
      <category>api</category>
      <category>webdev</category>
      <category>typescript</category>
    </item>
    <item>
      <title>Hoppscotch v2024.7.0: JUnit Reports, User management API &amp; more..</title>
      <dc:creator>Sanskriti Harmukh</dc:creator>
      <pubDate>Wed, 31 Jul 2024 06:01:34 +0000</pubDate>
      <link>https://dev.to/hoppscotch/hoppscotch-v202470-junit-reports-user-management-api-more-2an3</link>
      <guid>https://dev.to/hoppscotch/hoppscotch-v202470-junit-reports-user-management-api-more-2an3</guid>
      <description>&lt;p&gt;Hoppscotch is a simple straightforward API testing client that helps developers around the world to work with their APIs.  You can easily get started with Hoppscotch using our web client at &lt;a href="http://hoppscotch.io" rel="noopener noreferrer"&gt;hoppscotch.io&lt;/a&gt; or download our desktop app!&lt;/p&gt;

&lt;p&gt;We’re excited to roll out new features and enhancements with out latest &lt;strong&gt;release v2024.7.0&lt;/strong&gt; on our cloud and self-hosted solutions.&lt;/p&gt;

&lt;h2&gt;
  
  
  Generate JUnit Reports for Collection Runs on CLI 📄
&lt;/h2&gt;

&lt;p&gt;The &lt;code&gt;hopp test&lt;/code&gt; command can now generate &lt;code&gt;JUnit&lt;/code&gt; Reports in XML format for collection runs. Specify a path to store the reports in your desired location, else, the default path for saving the JUnit report will be the current working directory. To know more about the exported JUnit format, head over to our &lt;a href="https://docs.hoppscotch.io/documentation/clients/cli/overview#generate-junit-report-for-collection-runs" rel="noopener noreferrer"&gt;docuentation&lt;/a&gt;.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight jsx"&gt;&lt;code&gt;&lt;span class="nx"&gt;hopp&lt;/span&gt; &lt;span class="nx"&gt;test&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;file_path_or_id&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt; &lt;span class="o"&gt;--&lt;/span&gt;&lt;span class="nx"&gt;env&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;file_path_or_id&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt; &lt;span class="o"&gt;--&lt;/span&gt;&lt;span class="nx"&gt;reporter&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="nx"&gt;junit&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nx"&gt;path&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;xml&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fpk697653htcobzdwxs0m.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fpk697653htcobzdwxs0m.jpeg" alt="JUnit Reporter" width="800" height="533"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  AI meets Hoppscotch 🤖
&lt;/h2&gt;

&lt;p&gt;We are gradually introducing AI-powered features to provide quality of life features to help improve your API testing experience, and we’re starting with one small feature:&lt;/p&gt;

&lt;h3&gt;
  
  
  Automatically naming an API request
&lt;/h3&gt;

&lt;p&gt;This feature assigns a relevant name to an API request without requiring manual input from the user. The system examines the Request components and extracts the parameters to develop a name for the API Request.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fvi9mj7sln2xp43buzizf.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fvi9mj7sln2xp43buzizf.png" alt="AI powered feature" width="800" height="533"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Duplicate a Collection 📂
&lt;/h2&gt;

&lt;p&gt;You can now duplicate collections with a single click, enabling easier management of similar requests and configurations without having to recreate them from scratch.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Frp83nxod72higlzjioma.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Frp83nxod72higlzjioma.png" alt="Duplicate collection" width="800" height="533"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Manage your users using APIs ⚙️
&lt;/h2&gt;

&lt;p&gt;You can now perform user management on Hoppscotch self-host and perform actions such as inviting users and granting admin rights using APIs. Learn more about it by reading our &lt;a href="https://docs.hoppscotch.io/documentation/self-host/community-edition/admin-dashboard#apis-for-user-management" rel="noopener noreferrer"&gt;documentation&lt;/a&gt;.&lt;/p&gt;




&lt;p&gt;And that’s a wrap for this month’s release! Our team is dedicated to continuously improving Hoppscotch, and we appreciate your support in helping us get better each day. If you have any feedback or suggestions, please reach out to us at &lt;a href="//mailto:hello@hoppscotch.io"&gt;hello@hoppscotch.io&lt;/a&gt; or visit our &lt;a href="https://github.com/hoppscotch/hoppscotch" rel="noopener noreferrer"&gt;GitHub repository.&lt;/a&gt;&lt;/p&gt;

</description>
      <category>opensource</category>
      <category>api</category>
      <category>ai</category>
      <category>cli</category>
    </item>
    <item>
      <title>Hoppscotch Cloud vs. Self-Hosted Community vs. Self-Hosted Enterprise – Which One Should You Choose?</title>
      <dc:creator>Sanskriti Harmukh</dc:creator>
      <pubDate>Fri, 07 Jun 2024 06:23:35 +0000</pubDate>
      <link>https://dev.to/hoppscotch/hoppscotch-cloud-vs-self-hosted-community-vs-self-hosted-enterprise-which-one-should-you-choose-4f4j</link>
      <guid>https://dev.to/hoppscotch/hoppscotch-cloud-vs-self-hosted-community-vs-self-hosted-enterprise-which-one-should-you-choose-4f4j</guid>
      <description>&lt;p&gt;&lt;strong&gt;&lt;a href="https://github.com/hoppscotch/hoppscotch" rel="noopener noreferrer"&gt;Hoppscotch&lt;/a&gt;&lt;/strong&gt; has evolved into a versatile API testing platform that streamlines API testing for developers. Accessible through &lt;a href="https://hoppscotch.io" rel="noopener noreferrer"&gt;hoppscotch.io&lt;/a&gt;, you can start testing APIs immediately without the need for an account. However, for those who need more structured collaboration and synchronization, signing up allows you to manage API collections and environments effectively. Furthermore, Hoppscotch addresses diverse organizational needs with its Self-Hosted Community and Self-Hosted Enterprise editions, providing options for those seeking greater privacy and control over their data.&lt;/p&gt;

&lt;p&gt;This blog will outline the key distinctions between the cloud-based service and the self-hosted variants to help you select the best fit for your development needs.&lt;/p&gt;

&lt;h2&gt;
  
  
  👀 Overview of Cloud, Self-Hosted Community and Self-Hosted Enterprise Editions
&lt;/h2&gt;

&lt;p&gt;Here's a closer look at what each Hoppscotch edition brings to the table, helping you understand their unique advantages:&lt;/p&gt;

&lt;h3&gt;
  
  
  Hoppscotch Cloud ☁️
&lt;/h3&gt;

&lt;p&gt;Hoppscotch Cloud is ideal for those who prefer to not deal with the hassle of managing infrastructure. Built for individual users and small teams it is an ideal option for those who value convenience and quick setup, allowing you to focus more on development and less on tool maintenance.&lt;/p&gt;

&lt;h3&gt;
  
  
  Self-host Hoppscotch 🔽
&lt;/h3&gt;

&lt;p&gt;Self-hosted Hoppscotch comes in two variants, both of which can be deployed on systems that support Docker. You can host Hoppscotch on your servers, providing a workspace that is private to the individuals or teams utilizing Hoppscotch. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1. Hoppscotch Self-Hosted Community&lt;/strong&gt; 🤝&lt;br&gt;
Community Edition is the perfect starting point for individual developers or small teams looking to integrate Hoppscotch into their workflow without additional costs. It’s open-source, meaning you can modify it as needed, though you’ll manage updates and maintenance yourself. With Self Host Community edition you get access to Admin Dashboard which acts as a central hub for managing your workspaces and overseeing user-related activities.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. Hoppscotch Self-Hosted Enterprise&lt;/strong&gt; 🏛️&lt;br&gt;
Enterprise Edition builds on top of the Community Edition foundation by adding powerful features designed for larger organizations that require robust security measures like SAML-based SSO, OIDC, audit logs, and on-premise deployment options. It also comes with dedicated support to help adapt Hoppscotch to your company’s specific needs. The self-hosted enterprise version is &lt;em&gt;&lt;strong&gt;open-core&lt;/strong&gt;&lt;/em&gt; in nature, meaning it is accompanied by a set of advanced extensions and features that are only available through a commercial license whereas all the other current versions of Hoppscotch are fully &lt;em&gt;&lt;strong&gt;open-source&lt;/strong&gt;&lt;/em&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  ⚡ Head-to-Head Comparison between Hoppscotch Editions
&lt;/h2&gt;

&lt;p&gt;Let's see how the Hoppscotch Cloud, Self-Hosted Community, and Self-Hosted Enterprise editions stack up against each other.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F4kaydycyvb5necg7ja25.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F4kaydycyvb5necg7ja25.png" alt="Hoppscotch Cloud vs Self Host Community vs Self Host Enterprise 1" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fmfhtdickt9l8jdkovvjo.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fmfhtdickt9l8jdkovvjo.png" alt="Hoppscotch Cloud vs Self Host Community vs Self Host Enterprise 2" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  ⏭️ Your Next Steps…
&lt;/h2&gt;

&lt;p&gt;Here’s how you can get started with each Hoppscotch Edition:&lt;/p&gt;

&lt;h3&gt;
  
  
  1. Hoppscotch Cloud
&lt;/h3&gt;

&lt;p&gt;Simply navigate to &lt;a href="http://hoppscotch.io/" rel="noopener noreferrer"&gt;hoppscotch.io&lt;/a&gt; to get started with Hoppscotch Cloud. There's no need to install anything. However, for your convenience, you can install the &lt;strong&gt;&lt;em&gt;PWA&lt;/em&gt;&lt;/strong&gt;. You can start making API requests directly in your browser and access a wide variety of features with unlimited access.&lt;/p&gt;

&lt;h3&gt;
  
  
  2. Hoppscotch Self-Hosted Community Edition
&lt;/h3&gt;

&lt;p&gt;Start by following the comprehensive &lt;a href="https://docs.hoppscotch.io/documentation/self-host/community-edition/getting-started" rel="noopener noreferrer"&gt;prerequisites and installation guide&lt;/a&gt; provided to set up Hoppscotch on your local machine or server. Utilize the Admin Dashboard to manage workspaces and user activities.&lt;/p&gt;

&lt;h3&gt;
  
  
  3. Hoppscotch Self-Hosted Enterprise Edition
&lt;/h3&gt;

&lt;p&gt;If you're considering setting up Hoppscotch for your enterprise, we're here to help. &lt;strong&gt;&lt;a href="https://cal.com/hoppscotch/enterprise-demo" rel="noopener noreferrer"&gt;Schedule a call&lt;/a&gt;&lt;/strong&gt; to request a free trial for Self Hosting Hoppscotch. We'd love to discuss your integration plans and how we can support your organization.&lt;/p&gt;




&lt;p&gt;With &lt;strong&gt;&lt;a href="https://github.com/hoppscotch/hoppscotch" rel="noopener noreferrer"&gt;Hoppscotch&lt;/a&gt;&lt;/strong&gt;, you have a range of options tailored to fit your needs, from the no-install Cloud version for quick access to the adaptable Self-Hosted Community for small teams, or the robust Self-Hosted Enterprise for larger organizational demands.&lt;/p&gt;

&lt;p&gt;So, Why not give Hoppscotch a try today? Start with what best suits your workflow 💚.&lt;/p&gt;

</description>
      <category>selfhost</category>
      <category>api</category>
      <category>cloud</category>
      <category>enterprise</category>
    </item>
    <item>
      <title>Bypass CORS errors while testing your APIs using Hoppscotch 🔧</title>
      <dc:creator>Sanskriti Harmukh</dc:creator>
      <pubDate>Wed, 17 Apr 2024 07:32:04 +0000</pubDate>
      <link>https://dev.to/hoppscotch/bypass-cors-errors-while-testing-your-apis-using-hoppscotch-35je</link>
      <guid>https://dev.to/hoppscotch/bypass-cors-errors-while-testing-your-apis-using-hoppscotch-35je</guid>
      <description>&lt;p&gt;Are you tired of encountering CORS errors while developing your applications and APIs too? Well, I certainly am. But guess what? I've got a solution for you. Use Hoppscotch to bypass CORS errors like never before. But before we dive into the solution, let's first understand what Interceptors are...&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Interceptors&lt;/strong&gt; act as gatekeepers between the client and the server. The requests you make and the responses you receive are bound to strike them. Interceptors can modify or observe the request before it reaches the server and also do the same for the response before it gets to the client. They add a bit of enhancement to the communication between the client and server, allowing you to sprinkle your custom actions on the data being exchanged.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fx54b9xfz8qw4sr3gxhqr.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fx54b9xfz8qw4sr3gxhqr.png" alt="Interceptors" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  But Why do we need Interceptors? 🤔
&lt;/h2&gt;

&lt;p&gt;Let's take a closer look at why interceptors are so valuable. We'll walk through some everyday situations where interceptors shine and save the day.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Interceptors can be used when you want to check before making a request if your credentials are valid. So, instead of making an API call, you can check at the interceptor level that your credentials are valid.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Suppose you're developing an application that relies on an external API. Before each request, you need to ensure that the user has the necessary permissions to access the requested resource. Instead of sending the request blindly and handling potential authorization errors, interceptors step in. By intercepting the request, you can perform a quick authorization check, ensuring that only authenticated and authorized users proceed, thereby enhancing the security and integrity of your application.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Another use case is when you want to optimize network bandwidth by compressing outgoing API requests. With interceptors, you can intercept requests before they are sent and compress the payload on the fly. This minimizes data transfer size, reduces latency, and optimizes network performance without the need for additional server-side configurations.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  What is CORS though? 🚫
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Cross-Origin Resource Sharing (CORS)&lt;/strong&gt; is a mechanism that allows a website from one URL to request data from a website on another URL. But it's not as simple as it sounds. Sometimes, while fetching data from the API, requests keep failing due to encountering a CORS error on the console. &lt;/p&gt;

&lt;p&gt;This happens because the different browser implements similar CORS policies, granting access to make requests to the same URL but rejecting requests from an external URL unless certain policies are satisfied. &lt;br&gt;
When a browser makes a request, it adds an origin header to the message. If that request goes to the server on the same origin, then the response is shipped to the request with no questions asked. Otherwise, the request fails due to a CORS error. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fxymz8n6j2mmxiqy9kafk.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fxymz8n6j2mmxiqy9kafk.png" alt="CORS" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Since CORS is as simple as adding some HTTP headers, it’s only blocked by the browser. You can build a proxy-like component that will make a call for you and get the response from the desired API. &lt;/p&gt;

&lt;h2&gt;
  
  
  How can &lt;a href="https://github.com/hoppscotch/hoppscotch" rel="noopener noreferrer"&gt;Hoppscotch&lt;/a&gt; help you intercept the API calls? 👽
&lt;/h2&gt;

&lt;p&gt;&lt;em&gt;You can access APIs blocked by CORS restriction by using either &lt;strong&gt;Proxyscotch&lt;/strong&gt; or custom middleware. You can also use the &lt;strong&gt;Hoppscotch web extension&lt;/strong&gt; to intercept requests and responses in Hoppscotch.&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  1. Proxyscotch ⚙️
&lt;/h2&gt;

&lt;p&gt;Just like how you give proxy attendance for your friend in college, a proxy server acts like a stand-in user, keeping the real client private, requesting resources on your behalf to the destination, and receiving a response. The middleware proxy in Hoppscotch is implemented using a hosted proxy server called Proxyscotch. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/hoppscotch/proxyscotch" rel="noopener noreferrer"&gt;Proxyscotch&lt;/a&gt; is a free and open-source proxy server that is specifically designed for use with Hoppscotch. It is easy to set up and use. Proxyscotch allows you to bypass CORS restrictions and modify your requests and responses. &lt;/p&gt;

&lt;p&gt;You can enable the proxy from the &lt;a href="https://hoppscotch.io/settings" rel="noopener noreferrer"&gt;"Settings"&lt;/a&gt; page and replace the Proxy URL with your proxy middleware if you wish.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F73pltap4y60adhrh8cts.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F73pltap4y60adhrh8cts.png" alt="Proxyscotch" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  2. Browser Extension 🧩
&lt;/h2&gt;

&lt;p&gt;The &lt;a href="https://github.com/hoppscotch/hoppscotch-extension" rel="noopener noreferrer"&gt;Browser extension&lt;/a&gt; in Hoppscotch is a feature that allows you to send requests from your local machine. This is useful if you are testing an API that is not yet deployed to a production server. &lt;/p&gt;

&lt;p&gt;Hoppscotch has browser extensions for &lt;a href="https://chromewebstore.google.com/search/Hoppscotch%20Browser%20Extension" rel="noopener noreferrer"&gt;Chrome&lt;/a&gt; and &lt;a href="https://addons.mozilla.org/en-US/firefox/addon/hoppscotch/" rel="noopener noreferrer"&gt;Firefox&lt;/a&gt;. Download the browser extension from the Firefox Add-ons or Chrome Web Store and enable it across the Hoppscotch window by clicking on the Hoppscotch Browser Extension icon from the browser toolbar, ensuring that hoppscotch.io is in your active origins. &lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;The origin list defines the URLs that the extension can connect to. If you’re using hoppscotch.io, then you do not need to add any other origins. However, if you are using a self-hosted instance, you should add the domain of your self-hosted instance as an active origin.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ftyn04wejnn64z0p9q5su.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ftyn04wejnn64z0p9q5su.png" alt="Hoppscotch Browser Extension" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;p&gt;And that's a wrap. If you ever find yourself grappling with CORS errors again, remember that Hoppscotch is here to help. Thank you for reading until the end.&lt;/p&gt;

&lt;p&gt;Hoppscotch is very close to 60,000 GitHub Stars ⭐, so if you haven't already, please &lt;a href="https://github.com/hoppscotch/hoppscotch" rel="noopener noreferrer"&gt;check out Hoppscotch&lt;/a&gt; today. Join our &lt;a href="https://discord.gg/2AZ6ZrxE" rel="noopener noreferrer"&gt;Discord server&lt;/a&gt; to get your queries resolved by the Hoppscotch community.&lt;/p&gt;

&lt;p&gt;Thank you again for your support. Peace✌️&lt;/p&gt;

</description>
      <category>opensource</category>
      <category>api</category>
      <category>javascript</category>
      <category>webdev</category>
    </item>
    <item>
      <title>Hoppscotch v2024.3.0: Access Control, Variable Scopes and more..</title>
      <dc:creator>Sanskriti Harmukh</dc:creator>
      <pubDate>Mon, 01 Apr 2024 07:52:12 +0000</pubDate>
      <link>https://dev.to/hoppscotch/hoppscotch-v202430-access-control-variable-scopes-and-more-2h21</link>
      <guid>https://dev.to/hoppscotch/hoppscotch-v202430-access-control-variable-scopes-and-more-2h21</guid>
      <description>&lt;p&gt;&lt;a href="https://github.com/hoppscotch/hoppscotch" rel="noopener noreferrer"&gt;Hoppscotch&lt;/a&gt; simplifies testing your APIs with our user-friendly API testing client, helping you deliver software more rapidly. &lt;a href="https://hoppscotch.io/" rel="noopener noreferrer"&gt;Give Hoppscotch Cloud Web a try — no login needed.&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The Hoppscotch team has been working tirelessly for the past two months! Our first major release of the year, Hoppscotch v2024.3.0, is designed to provide you with improved and advanced features for testing your APIs and managing your team.&lt;/p&gt;

&lt;h2&gt;
  
  
  OAuth 2.0 - Grant Types 🔐
&lt;/h2&gt;

&lt;p&gt;OAuth 2.0 is an industry-standard authorization protocol. It allows third-party applications to gain limited access to a web service on behalf of a user, without exposing the user's credentials.&lt;/p&gt;

&lt;p&gt;In OAuth 2.0, grant types are methods that a client application can use to obtain an access token. With the introduction of Grant Types in Hoppscotch, you can now set the grant type as any of the following options:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Authorization Code&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Authorization Code using PKCE&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Client Credentials&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Password Credentials&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Implicit&lt;/strong&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fd1x5fqktzn5cr7to67qd.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fd1x5fqktzn5cr7to67qd.png" alt="OAuth 2.0 Grant Types" width="800" height="600"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Variables 💫
&lt;/h2&gt;

&lt;p&gt;In this release, we've reconsidered our approach to variables in Hoppscotch and are introducing variable scopes.&lt;/p&gt;

&lt;h3&gt;
  
  
  Variable Scopes
&lt;/h3&gt;

&lt;p&gt;Hoppscotch provides different variable scopes, allowing you to use various scopes for different contexts.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Global Variables:&lt;/strong&gt; These can be accessed throughout Hoppscotch and have the broadest scope of all variables.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Environment Variables:&lt;/strong&gt; These allow your variables to be scoped to a specific environment. Environment variables are useful when you have the same set of variables for two environments, such as production and staging.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Request Variables:&lt;/strong&gt; These are scoped to an individual request. Request variables are useful when you want to use variables in your URL path or when you want to embed a URL variable.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fb2b52y3sfe6hk08fatom.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fb2b52y3sfe6hk08fatom.png" alt="Request Variables" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Secret Variables
&lt;/h3&gt;

&lt;p&gt;We've also introduced secret variables in our point release last month. A &lt;strong&gt;secret variable&lt;/strong&gt; allows users to specify secrets and reference the values as variables. The values of secret variables in any workspace will never be synced to the server or shared with any workspace members. &lt;a href="https://hoppscotch.com/blog/introducing-secret-variables" rel="noopener noreferrer"&gt;Read more here.&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Famd32ld0xmiklzyj1u9h.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Famd32ld0xmiklzyj1u9h.png" alt="Secret Variables" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Search Your Collections Using Spotlight 🔎
&lt;/h2&gt;

&lt;p&gt;Now you can search your team and personal collection using Spotlight! Just use &lt;code&gt;command&lt;/code&gt; + &lt;code&gt;K&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F7rni5pjgqn1qpi5tn1xf.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F7rni5pjgqn1qpi5tn1xf.png" alt="Search Spotlight" width="800" height="600"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Access Controls &amp;amp; New Login Providers on Self-Hosted Enterprise 🏦
&lt;/h2&gt;

&lt;p&gt;Hoppscotch enterprise gets some extra attention! You can now set up access controls on Hoppscotch enterprise.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Site protection:&lt;/strong&gt; This allows only logged-in users to use Hoppscotch.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Domain whitelisting:&lt;/strong&gt; This makes it easy to approve all users within your organization to access Hoppscotch.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F4j4c1ua0eyc0t83jxc7f.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F4j4c1ua0eyc0t83jxc7f.png" alt="Access Controls" width="800" height="600"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;We're also adding a few new providers to give you more options:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;OIDC-based single sign-on:&lt;/strong&gt; This allows you to configure any OIDC provider you want with Hoppscotch.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;GitHub Enterprise auth:&lt;/strong&gt; This enables you to use GitHub Enterprise OAuth for your organization.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;We need you help to constantly improve Hoppscotch so that we can make it easier for you to build better software! Write to us at &lt;a href="mailto:hello@hoppscotch.io"&gt;hello@hoppscotch.io&lt;/a&gt; or head over to our &lt;a href="https://github.com/hoppscotch/hoppscotch" rel="noopener noreferrer"&gt;GitHub repository&lt;/a&gt; if you have any feedback about Hoppscotch 💚!&lt;/p&gt;

</description>
      <category>api</category>
      <category>opensource</category>
      <category>vue</category>
      <category>selfhost</category>
    </item>
    <item>
      <title>7 Essential Hoppscotch Features to Skyrocket API Development Productivity 🚀</title>
      <dc:creator>Sanskriti Harmukh</dc:creator>
      <pubDate>Mon, 18 Mar 2024 13:12:10 +0000</pubDate>
      <link>https://dev.to/hoppscotch/7-essential-hoppscotch-features-to-skyrocket-api-development-productivity-3mib</link>
      <guid>https://dev.to/hoppscotch/7-essential-hoppscotch-features-to-skyrocket-api-development-productivity-3mib</guid>
      <description>&lt;p&gt;For the past five years, &lt;a href="https://github.com/hoppscotch/hoppscotch" rel="noopener noreferrer"&gt;Hoppscotch&lt;/a&gt; 🛸 has been quietly transforming the way developers tackle their work in the API development world. Our mission has always been to make developer's lives easier and their workflows smoother, all from the comfort of their browser. And guess what? We might have evolved and gotten strong, but we are staying true to our goal of simplifying things for developers everywhere. Today, we're here to spill the beans on the simple yet powerful productivity hacks that Hoppscotch offers. Get ready to level up your development game in ways you never imagined.&lt;/p&gt;




&lt;h2&gt;
  
  
  1. &lt;u&gt;&lt;strong&gt;Effortless cURL Command Integration&lt;/strong&gt;&lt;/u&gt; 🔗
&lt;/h2&gt;

&lt;p&gt;Importing cURL commands into Hoppscotch is a breeze. Here's how:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Copy and Paste:&lt;/strong&gt; Simply copy the cURL command and paste it into the Hoppscotch URL bar.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Send Dropdown Menu:&lt;/strong&gt; Click on the send dropdown menu, select "Import cURL," paste the cURL command into the text area, and hit "Import."&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fbtcok13reb1ohbplfg06.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fbtcok13reb1ohbplfg06.png" alt="cURL command wrapper" width="800" height="600"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  2. &lt;u&gt;&lt;strong&gt;Seamless API Request Sharing&lt;/strong&gt;&lt;/u&gt; 🤝
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F8yuf8n4g49l41cr8kg2t.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F8yuf8n4g49l41cr8kg2t.png" alt="API request sharing" width="800" height="600"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;em&gt;&lt;strong&gt;Embeds:&lt;/strong&gt;&lt;/em&gt; Want to spice up your website, blog, or documentation with a mini Hoppscotch Playground? No worries! Use Embeds to plug in a Hoppscotch window wherever you'd like.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fxpbxw295rcg6zsijkp5i.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fxpbxw295rcg6zsijkp5i.png" alt="Hoppscotch Embeds" width="800" height="600"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;em&gt;&lt;strong&gt;Buttons:&lt;/strong&gt;&lt;/em&gt; Provide users with a seamless way to test API endpoints directly from your website. Simply add a Hoppscotch button and redirect them to test APIs with ease.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fprmq71nf89qf4sebv7o8.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fprmq71nf89qf4sebv7o8.png" alt="Hoppscotch Buttons" width="800" height="600"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;em&gt;&lt;strong&gt;Links / Shortcodes:&lt;/strong&gt;&lt;/em&gt; Share your API requests with team members, organization members, and developers via links or shortcodes, granting them view access.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F9vr5qlv46kjzunurwym5.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F9vr5qlv46kjzunurwym5.png" alt="Hoppscotch Links or Shortcodes" width="800" height="600"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  3. &lt;u&gt;&lt;strong&gt;Swift Navigation with Spotlight Search&lt;/strong&gt;&lt;/u&gt; 🔍
&lt;/h2&gt;

&lt;p&gt;With Spotlight Search, you can swiftly access every corner of Hoppscotch by simply pressing &lt;code&gt;Command + K&lt;/code&gt; or &lt;code&gt;Control + K&lt;/code&gt; and typing in your desired action, and voilà! It's a streamlined and intuitive approach that enhances your interaction with the platform. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fbf2j2pc6cc56ohexh9zy.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fbf2j2pc6cc56ohexh9zy.png" alt="Hoppscotch Spotlight Search" width="800" height="600"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  4. &lt;u&gt;&lt;strong&gt;Context is Key&lt;/strong&gt;&lt;/u&gt; 🔑
&lt;/h2&gt;

&lt;p&gt;Context-aware menus make executing actions on text and elements a breeze. Just select a piece of text, hover over it, and reveal the available actions you can perform. Create variables and add query parameters effortlessly with Context Menus.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fjrmgqcn9tdmajl0b6bel.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fjrmgqcn9tdmajl0b6bel.png" alt="Hoppscotch Context Menu" width="800" height="600"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  5. &lt;u&gt;&lt;strong&gt;Error-Free Exploration with Inspections&lt;/strong&gt;&lt;/u&gt; ⚠️
&lt;/h2&gt;

&lt;p&gt;Hoppscotch inspections streamline the process of identifying and rectifying errors in API request inputs. When an input section isn't properly configured, Inspections visually alert users with an alert icon.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fprkv2me9m3mtqofbhcrt.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fprkv2me9m3mtqofbhcrt.png" alt="Hoppscotch Inspections" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  6. &lt;u&gt;&lt;strong&gt;Flexible Environment Variable Management&lt;/strong&gt;&lt;/u&gt; 🍀
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;em&gt;&lt;strong&gt;Regular Environment Variables:&lt;/strong&gt;&lt;/em&gt; Reference these variables throughout Hoppscotch. In shared workspaces, they'll be synced to the server for all workspace members.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fn1gx62vsjth6mhta0qim.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fn1gx62vsjth6mhta0qim.png" alt="Hoppscotch Regular Environment Variables" width="800" height="600"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;em&gt;&lt;strong&gt;Secret Environment Variables:&lt;/strong&gt;&lt;/em&gt; Specify secrets and reference their values as variables. These values are never synced to the server or shared with workspace members, ensuring confidentiality.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fp2vb3bo75tba447goy2m.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fp2vb3bo75tba447goy2m.png" alt="Hoppscotch Secret Environment Variables" width="800" height="600"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Hoppscotch offers an edit property to make changes to these variables then and there if needed.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  7. &lt;u&gt;&lt;strong&gt;Keyboard Shortcut Magic&lt;/strong&gt;&lt;/u&gt; ⌨️
&lt;/h2&gt;

&lt;p&gt;Hoppscotch offers convenient keyboard shortcuts to enhance your workflow. Efficiently perform actions straight from your keyboard for a smoother development experience.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fv9n90mvpgm47d52jpbsm.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fv9n90mvpgm47d52jpbsm.png" alt="Hoppscotch Keyboard Shortcuts" width="800" height="600"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;p&gt;That wraps up this blog! We hope you've uncovered some fresh ways to optimize your API development practice. At &lt;a href="https://github.com/hoppscotch/hoppscotch" rel="noopener noreferrer"&gt;Hoppscotch&lt;/a&gt;, we're endlessly grateful for our community and are committed to supporting you every step of the way. We're constantly working to incorporate all the feedback we receive to enhance the developer experience. Share your thoughts on &lt;a href="//hoppscotch.io"&gt;Hoppscotch&lt;/a&gt; with us at &lt;a href="mailto:hello@hoppscotch.io"&gt;hello@hoppscotch.io&lt;/a&gt; – we'd love to hear from you 😄.&lt;/p&gt;

</description>
      <category>api</category>
      <category>opensource</category>
      <category>postmanalternative</category>
      <category>productivity</category>
    </item>
    <item>
      <title>How to contribute to Hoppscotch 🛸?</title>
      <dc:creator>Sanskriti Harmukh</dc:creator>
      <pubDate>Thu, 05 Oct 2023 07:48:16 +0000</pubDate>
      <link>https://dev.to/hoppscotch/how-to-contribute-to-hoppscotch--3nkf</link>
      <guid>https://dev.to/hoppscotch/how-to-contribute-to-hoppscotch--3nkf</guid>
      <description>&lt;p&gt;The collective efforts and commitment of our team has led &lt;a href="https://github.com/hoppscotch/hoppscotch" rel="noopener noreferrer"&gt;Hoppscotch&lt;/a&gt; towards remarkable improvements on its path to transforming the API development ecosystem. But, the speed of evolution we've experienced wouldn't have been possible without the open-source nature of Hoppscotch. A significant portion of our success is attributed to our dedicated contributors who have resolved existing issues, filed bug reports, authored blogs, created tutorials, and spread the word about Hoppscotch within their networks 🤝 .&lt;/p&gt;

&lt;p&gt;&lt;iframe class="tweet-embed" id="tweet-1709535668551164161-688" src="https://platform.twitter.com/embed/Tweet.html?id=1709535668551164161"&gt;
&lt;/iframe&gt;

  // Detect dark theme
  var iframe = document.getElementById('tweet-1709535668551164161-688');
  if (document.body.className.includes('dark-theme')) {
    iframe.src = "https://platform.twitter.com/embed/Tweet.html?id=1709535668551164161&amp;amp;theme=dark"
  }



&lt;/p&gt;

&lt;p&gt;If you're new to Hoppscotch and are eager to jump in and contribute, you've landed on the perfect blog to guide you. Today, we're going to show you how you can engage with Hoppscotch and make contributions in various ways, whether it's through coding, low-code solutions, or even no-code contributions✨.&lt;/p&gt;

&lt;h2&gt;
  
  
  🔍 1. Do you enjoy coding?
&lt;/h2&gt;

&lt;p&gt;Well, if yes, you can navigate to the &lt;a href="https://github.com/hoppscotch/hoppscotch/issues" rel="noopener noreferrer"&gt;issues tab of Hoppscotch&lt;/a&gt; and identify an issue that aligns with your interests. Take the time to familiarize yourself with the relevant codebase. Utilize the labels attached to the issues for sorting them based on your preferences. If you find an issue you'd like to work on, comment on the issue expressing your interest and request the maintainers to assign it to you. Don't hesitate to seek help if needed, you can start a discussion thread by commenting on the issue and tagging the maintainers. &lt;/p&gt;

&lt;h2&gt;
  
  
  🧪 2. Is testing your weapon?
&lt;/h2&gt;

&lt;p&gt;If you're dedicated to ensuring the quality and stability of &lt;a href="https://hoppscotch.io/" rel="noopener noreferrer"&gt;Hoppscotch&lt;/a&gt;, you can play a crucial role by contributing to our testing suites, which are written in jest. Writing test cases, creating test scenarios, and ensuring comprehensive test coverage are essential tasks. Your contributions in this area help us maintain a robust and reliable software platform. To get started, you can check the existing test suites, identify areas that require additional testing, and submit pull requests with your test code. &lt;/p&gt;

&lt;h2&gt;
  
  
  🛠️ 3. Got feature ideas?
&lt;/h2&gt;

&lt;p&gt;If you have any feature ideas that you believe would be valuable and align with Hopscotch's goals, we encourage you to share them with us. To do so, please create a new issue using the &lt;a href="https://github.com/hoppscotch/hoppscotch/issues/new?assignees=&amp;amp;labels=feature&amp;amp;projects=&amp;amp;template=--feature-request.yaml&amp;amp;title=%5Bfeature%5D%3A+" rel="noopener noreferrer"&gt;"Feature Request"&lt;/a&gt; template. In your issue, provide details about your idea and its intended purpose. &lt;/p&gt;

&lt;h2&gt;
  
  
  🐛 4. Caught a bug?
&lt;/h2&gt;

&lt;p&gt;If you happen to come across a bug or issue within Hopscotch that's affecting your development progress, we encourage you to report it promptly. You can do so by creating a new issue using the &lt;a href="https://github.com/hoppscotch/hoppscotch/issues/new?assignees=&amp;amp;labels=bug%2Cneed+testing&amp;amp;projects=&amp;amp;template=--bug-report.yaml&amp;amp;title=%5Bbug%5D%3A+" rel="noopener noreferrer"&gt;"Bug Report"&lt;/a&gt; template. In your report, kindly describe the problem you've encountered and provide detailed steps on how to reproduce the issue. Your clear and concise information will greatly assist us in swiftly addressing and resolving the problem, ensuring a smoother experience for all users.&lt;/p&gt;

&lt;h2&gt;
  
  
  ✍️ 5. Do you like documenting?
&lt;/h2&gt;

&lt;p&gt;If you enjoy creating informative content, you can actively contribute to enhancing the &lt;a href="https://github.com/hoppscotch/docs" rel="noopener noreferrer"&gt;Hoppscotch documentation&lt;/a&gt;. Your contributions could involve improving existing &lt;a href="//docs.hoppscotch.io"&gt;documentation&lt;/a&gt; and creating new guides that help the community explore and understand various features of Hoppscotch. Your well-documented contributions can improve the understanding of Hoppscotch's capabilities and empower users to make the most out of this powerful tool. &lt;/p&gt;

&lt;h2&gt;
  
  
  🤝 6. Love helping the community?
&lt;/h2&gt;

&lt;p&gt;Your passion for helping the community can be channelled in various creative ways to enhance the Hoppscotch experience for users worldwide. Here are some effective ways of contributions:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;📄 Crafting blogs:&lt;/strong&gt; Explore our &lt;a href="https://dev.to/hoppscotch"&gt;Blogs&lt;/a&gt; section, where you can share your Hoppscotch journey. Craft articles showcasing your experiences and dive into practical use cases. Share tips and tricks on incorporating Hoppscotch into your daily development workflow. &lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;📸 Creating Video Tutorials:&lt;/strong&gt; If you have a knack for graphics and video production, consider producing visual tutorials for Hoppscotch. These tutorials can be a powerful resource for users seeking hands-on guidance. Whether you prefer short, bite-sized videos or comprehensive 30-minute tutorials, your visual guides can help users harness the full potential of Hoppscotch.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  📢 7. Are you fond of holding events and workshops?
&lt;/h2&gt;

&lt;p&gt;Hosting workshops to showcase how open-source projects like Hoppscotch function will not only enhance its visibility but also serves as a magnet for potential users and contributors. These workshops can provide a platform to showcase Hoppscotch's capabilities, accentuate its strengths, and collect invaluable feedback from participants. Such initiatives not only benefit Hoppscotch by expanding its user base and fostering a community of contributors but also contribute to the wider open-source ecosystem by promoting collaboration and knowledge sharing.&lt;/p&gt;

&lt;h2&gt;
  
  
  🌎 8. Want to experience Hoppscotch in your native language?
&lt;/h2&gt;

&lt;p&gt;Help us make Hoppscotch accessible to everyone by contributing to our &lt;a href="https://docs.hoppscotch.io/documentation/i18n" rel="noopener noreferrer"&gt;translation project&lt;/a&gt;. By translating Hoppscotch into your native language, you ensure that developers worldwide can use this powerful tool effortlessly. Learn how can you &lt;a href="https://docs.hoppscotch.io/documentation/i18n#creating-a-new-translation" rel="noopener noreferrer"&gt;create a new translation&lt;/a&gt; by following the steps in guide. Join us in making Hoppscotch inclusive for all.&lt;/p&gt;




&lt;p&gt;And there you have it! Thank you for reading until the end. We trust you've gathered valuable insights on the various ways you can contribute to Hoppscotch. If you have any questions or need further assistance, don't hesitate to contact us at &lt;a href="mailto:hello@hoppscotch.io"&gt;hello@hoppscotch.io&lt;/a&gt;. Feel free to join our vibrant community on &lt;a href="https://discord.gg/XWdG5CNS" rel="noopener noreferrer"&gt;Discord&lt;/a&gt; or initiate a &lt;a href="https://github.com/hoppscotch/hoppscotch/discussions" rel="noopener noreferrer"&gt;Discussion&lt;/a&gt; on our GitHub Discussions forum. We look forward to your active participation 🚀.&lt;/p&gt;

</description>
      <category>opensource</category>
      <category>hoppscotch</category>
      <category>api</category>
      <category>hacktoberfest23</category>
    </item>
    <item>
      <title>Streamline your testing workflow with HOPPSCOTCH CLI 🛸</title>
      <dc:creator>Sanskriti Harmukh</dc:creator>
      <pubDate>Mon, 31 Jul 2023 09:09:11 +0000</pubDate>
      <link>https://dev.to/hoppscotch/streamline-your-testing-workflow-with-hoppscotch-cli-2i3n</link>
      <guid>https://dev.to/hoppscotch/streamline-your-testing-workflow-with-hoppscotch-cli-2i3n</guid>
      <description>&lt;p&gt;&lt;a href="https://hoppscotch.io/" rel="noopener noreferrer"&gt;Hoppscotch&lt;/a&gt;  offers a variety of methods to interact with and customize your APIs. In this blog, we'll take you through a hands-on experience of using Hoppscotch CLI to craft and execute API test cases from the comfort of your terminal. So, say goodbye to tedious manual testing and hello to automation magic! &lt;/p&gt;

&lt;p&gt;It’s time to grab your command prompt and dive into the realm of Hoppscotch CLI testing.&lt;/p&gt;

&lt;p&gt;1️⃣ Install 📩 Hoppscotch CLI through the following command:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;npm i -g @hoppscotch/cli
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;2️⃣ To understand better, let’s consider &lt;a href="https://github.com/SanskritiHarmukh/hoppscotch-cli-demo" rel="noopener noreferrer"&gt;an application&lt;/a&gt; that performs basic CRUD operations on quotes. This API provides endpoints to retrieve all quotes, retrieve a specific quote by its ID, add a new quote, update an existing quote, and delete a quote.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Start off by creating a &lt;strong&gt;GET&lt;/strong&gt; ✅ Request to retrieve all the quotes. Create an &lt;a href="https://docs.hoppscotch.io/documentation/getting-started/rest/environment-variables" rel="noopener noreferrer"&gt;environment variable&lt;/a&gt; hand in hand for the base URL {&lt;a href="http://localhost:5000/quotes" rel="noopener noreferrer"&gt;http://localhost:5000/quotes&lt;/a&gt;} and access in the request URL bar. 
Further add a test case where we define a call back function setting an expectation for the returned response to be 200. This test case will be applied here in all the request methods.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ftk78duhk3ztyvucloqcs.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ftk78duhk3ztyvucloqcs.png" alt="GET all quotes" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;We initially have 3 quotes stored in an array. To &lt;strong&gt;GET a quote&lt;/strong&gt; by specific id, we’ll write a &lt;a href="https://docs.hoppscotch.io/documentation/getting-started/rest/pre-request-scripts" rel="noopener noreferrer"&gt;pre-request script&lt;/a&gt; 📝,
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;const randomId = Math.floor(Math.random() * 3) + 1;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;blockquote&gt;
&lt;p&gt;where Math.random() returns a random decimal betweem 0 (inclusive) and 1 (exclusive) which when multiplied by 3 is passed to Math.floor() function, further used to round down this number to the nearest integer, effectively converting it to one of the three possible integers: 0, 1, or 2 and then adding 1 to it to generate values as 1,2,3.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;To use randomId, we create an environment variable in the script and access it as path to the endpoint in URL bar.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;pw.env.set('id', randomId.toString());
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fu1442xlo4i3kt3dvaw0m.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fu1442xlo4i3kt3dvaw0m.png" alt="Get a quote" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Try adding a new quote and making a &lt;strong&gt;POST&lt;/strong&gt; ➕ Request,&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fgozmov8w8u0nswg3479d.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fgozmov8w8u0nswg3479d.png" alt="Add a quote" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Update the quote by creating a &lt;strong&gt;PUT&lt;/strong&gt; 🔁 Request on the recently added quote by inserting a full stop towards the end of the quote and providing the id as path in the Request Bar.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fv0kqxl3l6rwl7lj3joii.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fv0kqxl3l6rwl7lj3joii.png" alt="Update a quote" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Perform &lt;strong&gt;DELETE&lt;/strong&gt; ❎ operation and delete one of the quotes by providing id.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F43pxmcleob5dkeh4sj5o.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F43pxmcleob5dkeh4sj5o.png" alt="Delete" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;3️⃣ Export 🚀 the collection and environment in json format as shown below. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fwsos88fu7z0syld8ahj2.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fwsos88fu7z0syld8ahj2.png" alt="Export the collection" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;quotes-api.json&lt;/em&gt;&lt;/p&gt;


&lt;pre class="highlight plaintext"&gt;&lt;code&gt;{
  "folders": [],
  "v": 1,
  "requests": [
    {
      "body": {
        "body": "",
        "contentType": "application/json"
      },
      "headers": [],
      "v": "1",
      "preRequestScript": "",
      "name": "Get quotes details",
      "auth": {
        "authType": "bearer",
        "token": "*****************",
        "authActive": true
      },
      "method": "GET",
      "testScript": "pw.test(\"Response is ok\", () =&amp;gt; {\n  pw.expect(pw.response.status).toBe(200);\n});",
      "params": [],
      "endpoint": "http://localhost:5000/quotes"
    },
    {
      "name": "get a quote",
      "preRequestScript": "const randomId = Math.floor(Math.random() * 3) + 1;\npw.env.set('id', randomId.toString());",
      "testScript": "pw.test(\"Response is ok\", () =&amp;gt; {\n  pw.expect(pw.response.status).toBe(200);\n});",
      "v": "1",
      "auth": {
        "authActive": true,
        "authType": "bearer",
        "token": "*****************"
      },
      "endpoint": "&amp;lt;&amp;lt;base_url&amp;gt;&amp;gt;/&amp;lt;&amp;lt;id&amp;gt;&amp;gt; ",
      "body": {
        "contentType": "application/json",
        "body": ""
      },
      "headers": [],
      "params": [],
      "method": "GET"
    },
    {
      "headers": [],
      "testScript": "pw.test(\"Response is ok\", () =&amp;gt; {\n  pw.expect(pw.response.status).toBe(200);\n});",
      "body": {
        "body": "{\n  \"id\": 4,\n  \"author\": \"Aristotle\",\n  \"quote\": \"We are what we repeatedly do. Excellence, then, is not an act, but a habit\"\n}",
        "contentType": "application/json"
      },
      "v": "1",
      "endpoint": "&amp;lt;&amp;lt;base_url&amp;gt;&amp;gt;",
      "preRequestScript": "",
      "method": "POST",
      "name": "Post quote",
      "auth": {
        "authActive": true,
        "authType": "bearer",
        "token": "*****************"
      },
      "params": []
    },
    {
      "body": {
        "body": "{\n  \"id\": \"4\",\n  \"author\": \"Aristotle\",\n  \"quote\": \"We are what we repeatedly do. Excellence, then, is not an act, but a habit.\"\n}",
        "contentType": "application/json"
      },
      "auth": {
        "authType": "bearer",
        "authActive": true,
        "token": "*****************"
      },
      "preRequestScript": "",
      "headers": [],
      "v": "1",
      "method": "PUT",
      "testScript": "pw.test(\"Response is ok\", () =&amp;gt; {\n  pw.expect(pw.response.status).toBe(200);\n});",
      "name": "Update quote",
      "params": [],
      "endpoint": "&amp;lt;&amp;lt;base_url&amp;gt;&amp;gt;/4"
    },
    {
      "body": {
        "contentType": "application/json",
        "body": ""
      },
      "testScript": "pw.test(\"Response is ok\", () =&amp;gt; {\n  pw.expect(pw.response.status).toBe(200);\n});",
      "v": "1",
      "endpoint": "&amp;lt;&amp;lt;base_url&amp;gt;&amp;gt;/4",
      "method": "DELETE",
      "params": [],
      "auth": {
        "authType": "bearer",
        "token": "*****************",
        "authActive": true
      },
      "name": "Delete quote",
      "headers": [],
      "preRequestScript": ""
    }
  ],
  "name": "quotes-api"
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/blockquote&gt;

&lt;p&gt;And&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;quotes_env.json&lt;/em&gt;&lt;/p&gt;


&lt;pre class="highlight plaintext"&gt;&lt;code&gt;{
  "base_url": "http://localhost:5000/quotes",
  "id": "1"
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/blockquote&gt;

&lt;p&gt;4️⃣ Let’s test the API request using the below command on CLI,&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;hopp test [-e &amp;lt;environment file&amp;gt;] &amp;lt;hoppscotch collection file&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;5️⃣ Following is the test summary 🧪 of the API requests we made.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fk00o3lm45a21vutolkvj.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fk00o3lm45a21vutolkvj.png" alt="Test Summary" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;And that’s it, with a few API calls, you can get the test report 📋 and behaviour of the requests. Execute tests in headless environments and create robust API test suites with Hoppscotch CLI. &lt;/p&gt;

&lt;p&gt;Play around and explore how &lt;a href="https://github.com/hoppscotch/hoppscotch" rel="noopener noreferrer"&gt;Hoppscotch&lt;/a&gt; 🛸 can make API testing easier. Join our open-source community and stay tuned for future updates.&lt;/p&gt;

</description>
      <category>api</category>
      <category>testing</category>
      <category>opensource</category>
      <category>cli</category>
    </item>
    <item>
      <title>BEST Postman Alternative: Hoppscotch 🛸 - open source, self hosted API Development Ecosystem</title>
      <dc:creator>Sanskriti Harmukh</dc:creator>
      <pubDate>Thu, 20 Jul 2023 07:09:29 +0000</pubDate>
      <link>https://dev.to/hoppscotch/postman-alternative-hoppscotch-open-source-self-hosted-api-development-ecosystem-9he</link>
      <guid>https://dev.to/hoppscotch/postman-alternative-hoppscotch-open-source-self-hosted-api-development-ecosystem-9he</guid>
      <description>&lt;p&gt;Over the past week, we've observed a growing trend of people seeking alternatives to Postman, as they yearn for a more suitable option.&lt;br&gt;
​&lt;br&gt;
&lt;iframe class="tweet-embed" id="tweet-1681424164492660739-75" src="https://platform.twitter.com/embed/Tweet.html?id=1681424164492660739"&gt;
&lt;/iframe&gt;

  // Detect dark theme
  var iframe = document.getElementById('tweet-1681424164492660739-75');
  if (document.body.className.includes('dark-theme')) {
    iframe.src = "https://platform.twitter.com/embed/Tweet.html?id=1681424164492660739&amp;amp;theme=dark"
  }



&lt;br&gt;
​&lt;/p&gt;

&lt;p&gt;Look no further for a &lt;strong&gt;Postman alternative&lt;/strong&gt; because at &lt;a href="https://hoppscotch.io/" rel="noopener noreferrer"&gt;&lt;strong&gt;Hoppscotch&lt;/strong&gt;&lt;/a&gt; 🛸, we are crafting an API development ecosystem with a core focus on delivering the finest developer experience. In this blog, we will delve into the features of Hoppscotch and elucidate how it can elevate your API-building and testing experience.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Open source&lt;/strong&gt; 👥
&lt;/h2&gt;

&lt;p&gt;​Hoppscotch's open-source nature has helped to keep the contributors, users, and developers in sync. The transparency and trust built over time have led to swiftly addressing the issues, conducting open discussions on feature requests, and delivering a stable and reliable platform. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/hoppscotch/hoppscotch" rel="noopener noreferrer"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fgxjktqzex5t3mlj2hdm9.png" alt="hoppscotch is open-source" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Collections&lt;/strong&gt; 📂
&lt;/h2&gt;

&lt;p&gt;As the name suggests, a collection is an organized group of API requests. With Hoppscotch, you can create any number of collections and organize the saved requests inside folders for better navigation.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fq29zd0j2ezui1mu5lw2x.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fq29zd0j2ezui1mu5lw2x.png" alt="collections with hoppscotch" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Multi-Protocol Support&lt;/strong&gt; ➕
&lt;/h2&gt;

&lt;p&gt;Execute &lt;a href="https://docs.hoppscotch.io/documentation/getting-started/rest/creating-a-request" rel="noopener noreferrer"&gt;REST API&lt;/a&gt; requests, &lt;a href="https://docs.hoppscotch.io/documentation/getting-started/graphql/creating-a-query" rel="noopener noreferrer"&gt;GraphQL queries&lt;/a&gt; and work with &lt;a href="https://docs.hoppscotch.io/documentation/getting-started/realtime/websocket" rel="noopener noreferrer"&gt;Real-time protocols&lt;/a&gt; like Web Socket, Socket.IO, SSE, and MQTT. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fcrznuyqle9w56ww5bw3v.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fcrznuyqle9w56ww5bw3v.png" alt="multi-protocol support in hoppscotch" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Environments&lt;/strong&gt; ⚙️
&lt;/h2&gt;

&lt;p&gt;An environment is a reusable set of key-value pairs that can be utilized in creating requests and writing scripts. It also helps to manage the shared data among the team members in a workspace. While accessing the environment variables in Request URL Bar, Hoppscotch offers an edit property to make changes to the variables then and there if needed.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F4alny0kvxukpd0lbu2kq.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F4alny0kvxukpd0lbu2kq.png" alt="environment configuration with hoppscotch" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Testing and Scripting Support&lt;/strong&gt; 🛠
&lt;/h2&gt;

&lt;p&gt;Create test cases and perform test runs on responses you receive after sending requests. Hoppscotch provides JavaScript APIs that can be used in writing &lt;a href="https://docs.hoppscotch.io/documentation/features/scripts" rel="noopener noreferrer"&gt;pre-request scripts&lt;/a&gt; and building &lt;a href="https://docs.hoppscotch.io/documentation/features/rest-api-testing" rel="noopener noreferrer"&gt;tests&lt;/a&gt;. Use snippets present at side bar for different fields to know more about them.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F1y96hvsekmtrm99zc5o5.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F1y96hvsekmtrm99zc5o5.png" alt="Test APIs with hoppscotch" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;History&lt;/strong&gt; 🕜
&lt;/h2&gt;

&lt;p&gt;Keep track of your API requests and responses with Hoppscotch. As soon as you hit send to initiate a request, the call is recorded by hoppscotch and saved under History. To check out the past requests click on History icon and access when needed. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F5nntaibt3vj8nu5h6rfg.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F5nntaibt3vj8nu5h6rfg.png" alt="view your API request history in hoppscotch" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Workspace Collaboration&lt;/strong&gt; 🤝
&lt;/h2&gt;

&lt;p&gt;Use Hoppscotch Workspace to create an instant API development environment with your team members or invite collaborators outside your organization to contribute to it. Manage the permissions and assign suitable roles as per need.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fmzmasbhxwj6esf8oqrfo.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fmzmasbhxwj6esf8oqrfo.png" alt="create workspaces in Hoppscotch" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Hoppscotch CLI&lt;/strong&gt; 💻
&lt;/h2&gt;

&lt;p&gt;Set up Hoppscotch CLI and configure your APIs by exporting the collections and environments. Follow a set of commands to get test summary of the API.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ffz9a9qif8i2svqbzzrtc.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ffz9a9qif8i2svqbzzrtc.png" alt="cli support at hoppscotch" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Self-Host Support&lt;/strong&gt; 🚀
&lt;/h2&gt;

&lt;p&gt;To attain complete control of your API development workflow try Hoppscotch's self-host version. &lt;a href="https://docs.hoppscotch.io/documentation/self-host/getting-started" rel="noopener noreferrer"&gt;Configure and set up Hoppscotch on your local machine&lt;/a&gt; and get access to the admin dashboard where you can manage teams and users at your workspace.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fbgwuh94dd8byewfva99e.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fbgwuh94dd8byewfva99e.png" alt="self-host your hoppscotch instance" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;And that's a wrap. Explore &lt;a href="https://github.com/hoppscotch/hoppscotch" rel="noopener noreferrer"&gt;Hoppscotch&lt;/a&gt; 🛸 and stay tuned with releases to keep track of what's cooking and new at our platform.&lt;/p&gt;

&lt;p&gt;Join our vibrant community in &lt;a href="https://hoppscotch.io/discord" rel="noopener noreferrer"&gt;Discord&lt;/a&gt;. Help us understand how Hoppscotch has assisted you and share any suggestions you may have for us to work upon by &lt;a href="https://forms.gle/8x3UZsYKhwA1ovnG9" rel="noopener noreferrer"&gt;filling the form&lt;/a&gt;. &lt;/p&gt;

</description>
      <category>opensource</category>
      <category>postmanalternative</category>
      <category>api</category>
      <category>selfhost</category>
    </item>
  </channel>
</rss>
