Giter Club home page Giter Club logo

svix-cli's Introduction

Svix CLI

GitHub release (latest by date) GolangCI Go Report Card

A CLI to interact with the Svix API.

With the Svix CLI, you can:

  • Interact with the Svix CLI
  • Validate Webhook payloads

Installation

macOS

The Svix CLI is available on macOS via Homebrew:

brew install svix/svix/svix

Windows

The Svix CLI is available on Windows via the Scoop package manager:

scoop bucket add svix https://github.com/svix/scoop-svix.git
scoop install svix

Linux

The Svix CLI is available on Linux via:

Pre-built executables

You can download and use our pre-built executables directly from our releases page, and use them as is without having to install anything.

  1. Download and extract the tar.gz archive for your operating system.
  2. Run the svix executable from the command line: ./svix help.

Note: you may need to allow execution by running chmod +x svix.

You can also put the binaries anywhere in your PATH so you can run the command from anywhere without needing to provide its full path. On macOS or Linux you can achieve this by moving the executable to /usr/local/bin or /usr/bin.

Usage

Installing the Svix CLI provides access to the svix command.

svix [command]

# Run `svix help` for information about the available commands
svix help

# or add the `--help` flag to any command for a more detailed description and list of flags
svix [command] --help

Using the listen command

The listen command creates an on-the-fly publicly accessible URL for use when testing webhooks.

NOTE: You don't need a Svix account when using the listen command.

The cli then acts as a proxy, forwarding any requests to the given local URL. This is useful for testing your webhook server locally without having to open a port or change any NAT configuration on your network.

Example:

svix listen http://localhost:8000/webhook/

Output:

Webhook relay is now listening at
https://play.svix.com/in/c_pSbznmV2KCg38CY7zYpFBUktsgl/

All requests on this endpoint will be forwarded to your local url:
http://localhost:8080/webhook/

View logs and debug information at
https://play.svix.com/view/c_pSbznmV2KCg38CY7zYpFBUktsgl/
To disable logging run "svix listen --no-logging"

The above command will return you a unique URL and forward any POST requests it receives to http://localhost:8000/webhook/.

Interacting with the Svix server

# Set your Auth Token temporarily via the SVIX_AUTH_TOKEN environment variable
export SVIX_AUTH_TOKEN=<MY-AUTH-TOKEN>
# or to persistently store your auth token in a config file run
svix login # interactively configure your Svix API credentials

# Create an Application with the name "Demo"
svix application create '{ "name": "demo" }'
# or pipe in some json
echo '{ "name": "demo" }' | svix application create
# or use the convenience cli flags
svix application create --data-name demo

# List Applications
svix application list --limit 2 --iterator some_iterator 

Commands

The Svix CLI supports the following commands:

Command Description
login Interactively configure your Svix API credentials
application List, create & modify applications
authentication Manage authentication tasks such as getting dashboard URLs
endpoint List, create & modify endpoints
event-type List, create & modify event types
message List & create messages
message-attempt List, lookup & resend message attempts
verify Verify the signature of a webhook message
listen Forward webhook requests a local url
integration List, create & modify integrations
import Import data from a file to your Svix Organization
export Export data from your Svix Organization to a file
open Quickly open Svix pages in your browser
completion Generate completion script
version Get the version of the Svix CLI
help Help about any command

Shell Completions

Shell completion scripts are provided for Bash, Zsh, fish, & PowerShell.

To generate a script for your shell type svix completion <SHELL NAME>.

For detailed instructions on configuring completions for your shell run svix completion --help.

Documentation

For a more information, checkout our API reference.

Development

Building the current commit

This project uses goreleaser.

  1. Install go.
  2. Install snapcraft.
  3. Install goreleaser via the steps here.
  4. Build current commit via goreleaser release --snapshot --skip-publish --rm-dist.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.