with Heroku and SFTP (password-based auth)?
Emit new event on each webhook event. See the documentation
Emit new events when files get created, changed or deleted from a remote directory. See the docs
Uploads a file or string in UTF-8 format to the SFTP server. See the documentation
The Heroku API offers programmatic access to Heroku's cloud platform, enabling developers to automate, extend, and integrate their app's lifecycle events with other services. With Pipedream, you can harness the Heroku API for powerful automation, such as managing apps, dynos, add-ons, and configuring scaling operations. Pipedream's ability to connect with multiple services allows for creating complex workflows, such as syncing your development pipeline with external project management tools or triggering alerts based on app metrics.
import { axios } from "@pipedream/platform"
export default defineComponent({
props: {
heroku: {
type: "app",
app: "heroku",
}
},
async run({steps, $}) {
return await axios($, {
url: `https://api.heroku.com/account`,
headers: {
Authorization: `Bearer ${this.heroku.$auth.oauth_access_token}`,
"accept": `application/vnd.heroku+json; version=3`,
},
})
},
})
SFTP on Pipedream enables secure file management on remote servers directly from your workflows. Utilize this app to automate file uploads, downloads, and synchronization tasks between your systems and SFTP servers. Implement robust data pipelines or deploy content to web servers without manual intervention, all while maintaining a high level of security with password-based authentication.
module.exports = defineComponent({
props: {
sftp_password_based_auth: {
type: "app",
app: "sftp_password_based_auth",
}
},
async run({steps, $}) {
const Client = require('ssh2-sftp-client');
const {
host,
username,
password,
} = this.sftp_password_based_auth.$auth
const config = {
host,
username,
password,
}
const sftp = new Client()
await sftp.connect(config)
this.cwd = await sftp.cwd();
return await sftp.end();
},
})