QStash

QStash is an HTTP based messaging and scheduling solution for the serverless and edge runtimes.

Integrate the QStash API with the GitHub API

Setup the QStash API trigger to run a workflow which integrates with the GitHub API. Pipedream's integration platform allows you to integrate QStash and GitHub remarkably fast. Free for developers.

Create Issue with GitHub API on New Topic Webhook from QStash API
QStash + GitHub
 
Try it
Search Issues and Pull Requests with GitHub API on New Topic Webhook from QStash API
QStash + GitHub
 
Try it
Create Branch with GitHub API on New Topic Webhook from QStash API
QStash + GitHub
 
Try it
Create Endpoint with QStash API on New Branch (Instant) from GitHub API
GitHub + QStash
 
Try it
Create Endpoint with QStash API on New Card in Column (Classic Projects) from GitHub API
GitHub + QStash
 
Try it
New Topic Webhook from the QStash API

Emit new events on each new QStash topic message

 
Try it
New Branch from the GitHub API

Emit new event when a branch is created See the documentation

 
Try it
New Card in Column (Classic Projects) from the GitHub API

Emit new event when a (classic) project card is created or moved to a specific column. For Projects V2 use New Issue with Status trigger. More information here

 
Try it
New Collaborator from the GitHub API

Emit new event when a collaborator is added See the documentation

 
Try it
New Commit from the GitHub API

Emit new event when commits are pushed to a branch See the documentation

 
Try it
Create Endpoint with the QStash API

Create a new HTTP endpoint on a QStash topic.

 
Try it
Create Issue with the GitHub API

Create a new issue in a Gihub repo. See docs here

 
Try it
Create Topic with the QStash API

Create a new QStash topic that emits to multiple endpoints.

 
Try it
Search Issues and Pull Requests with the GitHub API

Find issues and pull requests by state and keyword. See docs here

 
Try it
List Endpoints with the QStash API

Lists all your existing QStash endpoints.

 
Try it

Overview of QStash

QStash API offers a secure, scalable, and simple way to manage message queues and defer tasks. Using this API, you can enqueue messages, schedule tasks to run after a delay, and ensure that tasks are executed exactly once, leveraging the power of serverless architecture. With Pipedream's ability to connect to a multitude of services, you can build complex workflows that trigger actions in other apps based on events in QStash, allowing you to automate cross-application business processes with ease.

Connect QStash

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
import { axios } from '@pipedream/platform';


export default defineComponent({
  props: {
    qstash: {
      type: "app",
      app: "qstash",
    },
    callback_url: {
      type: "string",
      label: "Callback URL",
      description: "A URL that will be called by QStash with the body given",
    },
    delay: {
      type: "string",
      label: "Delay",
      default: 0,
      description: "Delay the HTTP request to the callback URL (seconds)"
    }
  },
  async run({steps, $}) {
    return axios($, {
      url: `https://qstash.upstash.io/v1/publish/${this.callback_url}`,
      method: 'POST',
      headers: {
        'Authorization': `Bearer ${this.qstash.auth.qstash_token}`,
        'Upstash-Delay': `${this.qstash.delay}s`
      },
      data: {
        hello: 'world'
      }
    });
  }
})

Overview of GitHub

The GitHub API is a powerful gateway to interaction with GitHub's vast web of data and services, offering a suite of endpoints to manipulate and retrieve information on repositories, pull requests, issues, and more. Harnessing this API on Pipedream, you can orchestrate automated workflows that respond to events in real-time, manage repository data, streamline collaborative processes, and connect GitHub with other services for a more integrated development lifecycle.

Connect GitHub

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
import { axios } from "@pipedream/platform"
export default defineComponent({
  props: {
    github: {
      type: "app",
      app: "github",
    }
  },
  async run({steps, $}) {
    return await axios($, {
      url: `https://api.github.com/user`,
      headers: {
        Authorization: `Bearer ${this.github.$auth.oauth_access_token}`,
        "X-GitHub-Api-Version": `2022-11-28`,
      },
    })
  },
})