GitHub Actions post twitter from RSS Feeds.
If your action uses on.schedule.cron, filter feed items by publish time compare to previous cron execution time.
If your action uses other events like on.push, you need to set UPDATE_WITHIN_MINUTES option.
Read and Write


TWITTER_APIKEY and TWITTER_APIKEY_SECRET
TWITTER_ACCESS_TOKEN and TWITTER_ACCESS_TOKEN_SECRETTWITTER_APIKEYTWITTER_APIKEY_SECRETTWITTER_ACCESS_TOKENTWITTER_ACCESS_TOKEN_SECRET:memo: Bearer Token is not needed.
Post new feed item via schedule cron every 15 minutes.
name: rss-to-twitter
on:
schedule:
# every 15 minutes
- cron: "*/15 * * * *"
workflow_dispatch:
jobs:
twitter:
runs-on: ubuntu-latest
steps:
- uses: azu/rss-to-twitter@v1
with:
# RSS feed URL
RSS_URL: "https://hnrss.org/newest"
TWEET_TEMPLATE: 'New Post: "%title%" %url%'
UPDATE_WITHIN_MINUTES: 15 # for workflow_dispatch
TWITTER_APIKEY: ${{ secrets.TWITTER_APIKEY }}
TWITTER_APIKEY_SECRET: ${{ secrets.TWITTER_APIKEY_SECRET }}
TWITTER_ACCESS_TOKEN: ${{ secrets.TWITTER_ACCESS_TOKEN }}
TWITTER_ACCESS_TOKEN_SECRET: ${{ secrets.TWITTER_ACCESS_TOKEN_SECRET }}
Note: filter feed items by publish time compare to previous cron execution time.
Post new feed item via GitHub Pages Build event.
name: rss-to-twitter
on:
page_build
jobs:
twitter:
# if github.event.build.error.message is not null, it means that the build failed. Skip it
if: ${{ github.event.build.error.message == null }}
runs-on: ubuntu-latest
steps:
- uses: azu/rss-to-twitter@v1
with:
RSS_URL: "https://you.github.io/feed.xml"
TWEET_TEMPLATE: 'New Post: "%title%" %url%'
UPDATE_WITHIN_MINUTES: 15 # post items that are published within 15 minutes
TWITTER_APIKEY: ${{ secrets.TWITTER_APIKEY }}
TWITTER_APIKEY_SECRET: ${{ secrets.TWITTER_APIKEY_SECRET }}
TWITTER_ACCESS_TOKEN: ${{ secrets.TWITTER_ACCESS_TOKEN }}
TWITTER_ACCESS_TOKEN_SECRET: ${{ secrets.TWITTER_ACCESS_TOKEN_SECRET }}
Note: filter feed items by publish time within 15 minutes.
Warning: If you deploy your site by GitHub Actions, you need to use Personal Access Token instead of
${{ secrets. GITHUB_TOKEN }}.${{ secrets. GITHUB_TOKEN }}can not triggerpage_buildevent. It is limitation of GitHub Actions's${{ secrets. GITHUB_TOKEN }}.
Instead of It, you can use Personal Access Token for deploy, and it triggers page_build event.
%title%: Item title%url: Item url%desc%: Item content snip(max 280 charaters)v* on Release PagesMIT
Details
yarn setupnpm run setupSome workflows are included by default.
CI Workflow
CODECOV_TOKEN is set.NPM_AUTH_TOKEN is set.ACCESS_TOKEN is required.
SLACK_WEBHOOK_URL is required.
Add the release tag when pull request is merged.
ACCESS_TOKEN is required.
Create TOC (Table of contents)
ACCESS_TOKEN is required.
Project: Backlog
Column: To doProject: Backlog
Column: In progress
ACCESS_TOKEN is required.NPM_AUTH_TOKEN is setManage labels by moving project cards
Check broken link in README
Update package dependencies
Add tag for test release
Personal access token with the public_repo or repo scope
(repo is required for private repositories)
https://api.slack.com/messaging/webhooks
.envdotenv
token=1234567890abcdef1234567890abcdef12345678yarn releaseyarn release -nyarn release -h
Then, you can use your GitHub Actions like follows:
on: push
name: Test
jobs:
toc:
name: Test
runs-on: ubuntu-latest
steps:
- uses: owner/repo@gh-actions
—
$ claude mcp add rss-to-twitter \
-- python -m otcore.mcp_server <graph>