GitHub Action
rss-to-issues
This GitHub Action creates issues from an RSS or Atom feed.
New issues will only be created if no issue exists that corresponds to the feed item. Optionally, the issues' titles can be prefixed, and labeled. There are multiple ways to restrict what feed items this Action acts on.
This GitHub Action is a Javascript port of the rss-issues Action. See below for more details.
Required the GITHUB_TOKEN
secret.
Required URL of the RSS/Atom feed.
Prefix added to the created issues' titles.
If specified, only look at feed items younger than the specified age. For example, 48h
will only look at feed items from the last forty-eight hours.
Note: This Action is typically run in a scheduled workflow, and the age should be adjusted in accordance with that schedule. That is, if the workflow is run once per day, max-age
should be set to at least 24h (probably a bit more in case GitHub Actions experiences problems).
Labels to add, comma separated.
Log issue creation but do nothing
Aggregate all items in a single issue
Note: If you use this Action to create issues from multiple aggregated feeds in the same repository, give them different prefixes and/or labels.
Limit the issue contents' size
Only create an issue if the title matches the specified regular expression.
To exclude titles based on a pattern, you can use a negative lookahead. For example, to filter out all feed items whose title contains "TEST", use a regular expression like /^(?!.*TEST)/
.
Only create an issue if the content matches the specified regular expression.
To exclude items based on their content, you can use a negative lookahead. For example, to filter out all feed items whose text contains "TEST", use a regular expression like /^(?!.*TEST)/
.
Issue IDs, comma separated.
uses: git-for-windows/rss-to-issues
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
feed: "https://cloud.google.com/feeds/kubernetes-engine-release-notes.xml"
name: Monitor new Git versions
on:
schedule:
# Run this Action every day at 7:37am UTC
- cron: "37 7 * * *"
jobs:
gke-release:
runs-on: ubuntu-latest
steps:
- uses: git-for-windows/rss-to-issues@v0
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
feed: https://github.com/git/git/tags.atom
prefix: "[Git]"
character-limit: 255
dry-run: false
max-age: 48h
labels: git
This GitHub Action is a Javascript port of the Go version at guilhem/rss-issues-action
. The port exists because the Go version has to run in a Docker image, and therefore it is slower to load than the Javascript Action, it has to be pre-compiled, and it has to be uploaded to a Docker registry (i.e. it is subject to network issues when there is a problem connecting from GitHub Actions' build agents).
This Action uses different input names than rss-issues-action
(e.g. github-token
instead of repo-token
). This is the full list of the mappings:
repo-token
was renamed togithub-token
lastTime
was renamed tomax-age
characterLimit
was renamed tocharacter-limit
titleFilter
corresponds totitle-pattern
and is no longer exclusive but inclusive (read: only feed items matching thetitle-pattern
are processed, as opposed to excluding feed items matching thetitleFilter
pattern)contentFilter
corresponds tocontent-pattern
and is no longer exclusive but inclusive (read: only feed items matching thecontent-pattern
are processed, as opposed to excluding feed items matching thecontentFilter
pattern)
Another big difference is that this Action understands Javascript regular expressions, i.e. it supports lookaheads and friends, something that Go's RE2
does not support.
While at it, the Javascript version fixes the bug where rss-issues-action
did not set the output as documented.