{"id":16578014,"url":"https://github.com/selfagency/slackfeedbot","last_synced_at":"2025-03-21T12:32:10.192Z","repository":{"id":43060519,"uuid":"470736611","full_name":"selfagency/slackfeedbot","owner":"selfagency","description":"Push RSS feed updates to Slack via GitHub Actions","archived":false,"fork":false,"pushed_at":"2024-07-29T22:13:21.000Z","size":1409,"stargazers_count":7,"open_issues_count":2,"forks_count":4,"subscribers_count":3,"default_branch":"main","last_synced_at":"2024-10-12T22:12:51.335Z","etag":null,"topics":["actions","rss","slack"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/selfagency.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null}},"created_at":"2022-03-16T20:09:38.000Z","updated_at":"2024-10-03T05:46:42.000Z","dependencies_parsed_at":"2024-04-08T21:57:06.201Z","dependency_job_id":null,"html_url":"https://github.com/selfagency/slackfeedbot","commit_stats":{"total_commits":137,"total_committers":1,"mean_commits":137.0,"dds":0.0,"last_synced_commit":"c213f6dee78b816b5ba75167dd57e4f73313d1fa"},"previous_names":[],"tags_count":35,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/selfagency%2Fslackfeedbot","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/selfagency%2Fslackfeedbot/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/selfagency%2Fslackfeedbot/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/selfagency%2Fslackfeedbot/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/selfagency","download_url":"https://codeload.github.com/selfagency/slackfeedbot/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":221815218,"owners_count":16885143,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["actions","rss","slack"],"created_at":"2024-10-11T22:12:52.934Z","updated_at":"2024-10-28T10:08:50.217Z","avatar_url":"https://github.com/selfagency.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# SlackFeedBot\n\nPush RSS feed updates to Slack via GitHub Actions\n\n![Sample output](https://user-images.githubusercontent.com/2541728/159546371-a1b61c2f-8fc8-40f3-b888-a8ae0e85507f.png)\n\n## How to use this Action\n\n1. Add the [Incoming Webhooks](https://slack.com/apps/A0F7XDUAZ-incoming-webhooks) app to your Slack workspace if you haven't already.\n2. Create a new webhook by clicking the `Add to Slack` button.\n3. Customize the webhook however you like, then copy the webhook URL.\n\n![Sample configuration](https://user-images.githubusercontent.com/2541728/158685833-7a221c22-c5a9-4221-8e93-0003f89a92a8.png)\n\n4. Create a new workflow in your desired repository (e.g. `.github/workflows/slackfeedbot.yml`) and drop in the follwing:\n\n```\nname: SlackFeedBot\non:\n  schedule:\n    - cron: '*/15 * * * *'\njobs:\n  rss-to-slack:\n    runs-on: ubuntu-latest\n    steps:\n      - name: NYT\n        uses: 'selfagency/slackfeedbot@v1.2.9'\n        with:\n          rss: 'https://rss.nytimes.com/services/xml/rss/nyt/HomePage.xml'\n          slack_webhook: ${{ secrets.SLACK_WEBHOOK }}\n          interval: 15\n```\n\n## Options\n\nRequired fields denoted with `*`. Must specify `cache_dir` (which requires separate use of [actions/cache](https://github.com/actions/cache) or a similar solution) _or_ `interval`.\n\n- `rss`\\*: The RSS feed URL.\n- `feed_name`: A title to override the RSS feed's own title.\n- `feed_image`: An image to override the RSS feed's default feed image.\n- `slack_webhook`\\*: The Slack webhook URL (this can and probably should be a repository or organization secret).\n- `cache_dir`\\*: The folder in which to cache feed data, which prevents publishing duplicates, or _alternately_...\n- `interval`\\*: The number of minutes between runs of the parent workflow, as specified in the `cron` section of the `schedule` workflow trigger (may publish duplicates due to post pinning).\n- `unfurl`: Shows the [Open Graph](https://ogp.me/) preview for RSS items instead of this action's display format. Set to `false` because it's kind of flaky and non-customizable. Use the below settings instead to customize display.\n- `show_desc`: Show the post description. Defaults to `true`.\n- `show_img`: Show the post image. Defaults to `true`.\n- `show_date`: Show the post date. Defaults to `true`.\n- `show_link`: Show the Read more link, linking back to the post. Defaults to `true`.\n\n## Examples\n\n### With cache folder (recommended)\n\nHashes and caches the post title + creation date to ensure no duplicates are posted.\n\n```\nname: SlackFeedBot\non:\n  schedule:\n    - cron: '*/15 * * * *'\njobs:\n  rss-to-slack:\n    runs-on: ubuntu-latest\n    steps:\n      - name: Generate cache key\n        uses: actions/github-script@v6\n        id: generate-key\n        with:\n          script: |\n            core.setOutput('cache-key', new Date().valueOf())\n      - name: Retrieve cache\n        uses: actions/cache@v2\n        with:\n          path: ./slackfeedbot-cache\n          key: feed-cache-${{ steps.generate-key.outputs.cache-key }}\n          restore-keys: feed-cache-\n      - name: NYT\n        uses: 'selfagency/slackfeedbot@v1.2.9'\n        with:\n          rss: 'https://rss.nytimes.com/services/xml/rss/nyt/HomePage.xml'\n          slack_webhook: ${{ secrets.SLACK_WEBHOOK }}\n          cache_dir: './slackfeedbot-cache'\n```\n\n### With interval\n\nNo cache, but maybe duplicates.\n\n```\nname: SlackFeedBot\non:\n  schedule:\n    - cron: '*/15 * * * *'\njobs:\n  rss-to-slack:\n    runs-on: ubuntu-latest\n    steps:\n      - name: NYT\n        uses: 'selfagency/slackfeedbot@v1.2.9'\n        with:\n          rss: 'https://rss.nytimes.com/services/xml/rss/nyt/HomePage.xml'\n          slack_webhook: ${{ secrets.SLACK_WEBHOOK }}\n          interval: 15\n```\n\n### Multiple feeds\n\n```\nname: FeedBot\non:\n  schedule:\n    - cron: '*/15 * * * *'\njobs:\n  rss-to-slack:\n    runs-on: ubuntu-latest\n    steps:\n      - name: LAT\n        uses: 'selfagency/slackfeedbot@v1.2.9'\n        with:\n          rss: 'https://www.latimes.com/rss2.0.xml'\n          slack_webhook: ${{ secrets.SLACK_WEBHOOK }}\n          interval: 15\n      - name: WaPo\n        uses: 'selfagency/slackfeedbot@v1.2.9'\n        with:\n          rss: 'https://feeds.washingtonpost.com/rss/homepage'\n          slack_webhook: ${{ secrets.SLACK_WEBHOOK }}\n          interval: 15\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fselfagency%2Fslackfeedbot","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fselfagency%2Fslackfeedbot","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fselfagency%2Fslackfeedbot/lists"}