DEV Community

loading...

Discussion on: Tweet From GitHub Actions

Collapse
daviddalbusco profile image
David Dal Busco Author • Edited

That's a genius idea @zwacky 🤯

Something like following (not tested) would tweet the release notes

const {TwitterClient} = require('twitter-api-client');
const fetch = require('node-fetch');

const tweet = async (status) => {
  const twitterClient = new TwitterClient({
    apiKey: process.env.TWITTER_API_KEY,
    apiSecret: process.env.TWITTER_API_SECRET,
    accessToken: process.env.TWITTER_API_ACCESS_TOKEN,
    accessTokenSecret: process.env.TWITTER_ACCESS_TOKEN_SECRET,
  });

  await twitterClient.tweets.statusesUpdate({status});
};

(async () => {
  try {
    const {body} = await fetch
          `https://api.github.com/repos/deckgo/deckdeckgo/releases/latest`;

    await tweet(body);
  } catch (err) {
    console.error(err);
  }
})();
Enter fullscreen mode Exit fullscreen mode