SFTP (key-based auth)

Interact with an SFTP (SSH File Transfer Protocol) Server using a private key for auth

Integrate the SFTP (key-based auth) API with the GitHub API

Setup the SFTP (key-based auth) API trigger to run a workflow which integrates with the GitHub API. Pipedream's integration platform allows you to integrate SFTP (key-based auth) and GitHub remarkably fast. Free for developers.

Create Issue with GitHub API on New Remote Directory Watcher from SFTP (key-based auth) API
SFTP (key-based auth) + GitHub
 
Try it
Search Issues and Pull Requests with GitHub API on New Remote Directory Watcher from SFTP (key-based auth) API
SFTP (key-based auth) + GitHub
 
Try it
Create Branch with GitHub API on New Remote Directory Watcher from SFTP (key-based auth) API
SFTP (key-based auth) + GitHub
 
Try it
Create Gist with GitHub API on New Remote Directory Watcher from SFTP (key-based auth) API
SFTP (key-based auth) + GitHub
 
Try it
Create Issue Comment with GitHub API on New Remote Directory Watcher from SFTP (key-based auth) API
SFTP (key-based auth) + GitHub
 
Try it
New Remote Directory Watcher from the SFTP (key-based auth) API

Emit new events when files get created, changed or deleted from a remote directory. See the docs

 
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 Issue with the GitHub API

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

 
Try it
Upload File with the SFTP (key-based auth) API

Uploads a file or string in UTF-8 format to the SFTP server. See the documentation

 
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
Create Branch with the GitHub API

Create a new branch in a Github repo. See docs here

 
Try it
Create Gist with the GitHub API

Allows you to add a new gist with one or more files. See docs here

 
Try it

Overview of SFTP (key-based auth)

SFTP (SSH File Transfer Protocol) is a secure file transfer protocol for
exchanging files between computers over a secure connection. The protocol
utilizes public-key cryptography to provide authentication and encryption of
the data being transferred. SFTP is widely used in enterprise environments for
securely transferring data between locations and users, as well as for managing
remote computer systems (for example, for monitoring and software/security
updates).

Here are some examples of what you can build using the SFTP (key-based auth)
API:

  • Secure file backup and restore solutions.
  • Text editors that can securely open, modify and save remote files.
  • Manage remote uploads, downloads, editing, navigation, etc.
  • Automate remote system management tasks (e.g., installation of applications,
    software/security updates).
  • Share and sync files between multiple systems.
  • Remote user authentication.
  • Custom solutions tailored to specific needs.

Connect SFTP (key-based auth)

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
module.exports = defineComponent({
  props: {
    sftp: {
      type: "app",
      app: "sftp",
    }
  },
  async run({steps, $}) {
    const Client = require('ssh2-sftp-client');
    
    const { 
      host,
      username,
      privateKey,
    } = this.sftp.$auth
    
    const config = {
      host,
      username,
      privateKey,
    }
    
    const sftp = new Client()
    
    await sftp.connect(config)
    this.cwd = await sftp.cwd();
    return await sftp.end();
  },
})

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`,
      },
    })
  },
})