Skip to content

About

create issues from a syndication feed (RSS or Atom).

Topics

Resources

Stars

22 stars

Watchers

3 watching

Forks

Use this GitHub action with your project
Add this Action to an existing workflow or create a new one
View on Marketplace

Latest commit

 

History

52 Commits

Folders and files

Repository files navigation

RSS issues action

Create GitHub issues from an RSS or Atom feed. Existing issue titles are skipped, including closed issues in the returned issue page. Outputs use GITHUB_OUTPUT.

The action builds its Dockerfile from the selected Git reference, so using a commit SHA executes that commit's code. It needs a Linux runner with Docker. Pin a reviewed commit SHA in production; @master below follows the default branch.

Inputs

repo-token

Required a GitHub token with issues: write permission on the target repository.

feed

Required URL of the rss.

prefix

Prefix added to issues.

lastTime

Only include items published within this duration, such as 92h. Defaults to 720h (30 days); items without a publish date are included.

labels

Labels to add, comma separated.

dry-run

Log proposed issues without creating them. GitHub issue reads and feed downloads still occur.

aggregate

Aggregate all items in a single issue

characterLimit

Limit size of issue content

titleFilter

Don't create an issue if the title matches the specified regular expression (go regular expression syntax)

contentFilter

Don't create an issue if the content matches the specified regular expression (go regular expression syntax)

Outputs

issues

Issues number, comma separated.

Example

step

uses: guilhem/rss-issues-action@master
with:
  repo-token: ${{ secrets.GITHUB_TOKEN }}
  feed: "https://cloud.google.com/feeds/kubernetes-engine-release-notes.xml"

complete

name: rss

on:
  workflow_dispatch:
  schedule:
    - cron: "0 * * * *"

permissions:
  contents: read
  issues: write

jobs:
  gke-release:
    runs-on: ubuntu-latest
    steps:
      - name: rss-issues
        id: rss
        uses: guilhem/rss-issues-action@master
        with:
          repo-token: ${{ secrets.GITHUB_TOKEN }}
          feed: "https://cloud.google.com/feeds/kubernetes-engine-release-notes.xml"
          prefix: "[GKE]"
          characterLimit: "255"
          dry-run: "false"
          lastTime: "92h"
          labels: "liens/Kubernetes"

Real Usage

Development and publishing

Use Go 1.27.1 or newer:

go test -v ./...
go vet ./...
go build .
docker build -t rss-issues-action:local .

The tests use a local feed and mocked GitHub API to check duplicate detection, individual issues, aggregation, dry-run, and environment-file output. No real issues are created.

Pull requests build the image without logging into or publishing to GHCR. Pushes to master and tags publish ghcr.io/guilhem/rss-issues-action using the job's packages: write permission. Consumers of action.yml build the Dockerfile; they do not depend on those published image tags. The runtime stays root so it can write GitHub's mounted output files.

Duplicate detection currently checks the first page of matching issue titles. Aggregation changes the title to include the run time, so it does not provide per-item deduplication across aggregate runs.

About

create issues from a syndication feed (RSS or Atom).

Topics

Resources

Stars

22 stars

Watchers

3 watching

Forks

Releases

Packages

Used by

Contributors

Languages