everpeace / issue2atom

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

issue2atom action

Overview

This script generates ATOM feed from GitHub Issues.

Generated ATOM feed sample

Target issue is octocat/hello-world

<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
    <id>tag:issue2atom,2006-01-02:/octocat/hello-world/issues</id>
    <title>octocat/hello-world - GitHub Issues</title>
    <updated>2022-03-26T15:02:35.517122+00:00</updated>
    <author>
        <name>octocat</name>
    </author>
    <link href="https://github.com/octocat/hello-world/issues" rel="alternate" />
    <generator uri="https://lkiesow.github.io/python-feedgen" version="0.9.0">python-feedgen</generator>
    <subtitle>GitHub Issues of octocat/hello-world</subtitle>
    <entry>
        <id>tag:issue2atom,2006-01-02:/octocat/hello-world/issues/2237</id>
        <title>Check This out</title>
        <updated>2022-03-25T05:46:38+00:00</updated>
        <content type="html">&lt;p&gt;This is a test body&lt;/p&gt;</content>
        <link href="https://github.com/octocat/Hello-World/issues/2237" rel="alternate" />
        <summary>This is a test body...</summary>
        <published>2022-03-25T05:45:05+00:00</published>
    </entry>
    :
</feed>

Usage

(a) Use GitHub Actions

See also sample.yml

  1. Copy this repository to your GitHub account using template.
  2. Fix .github/workflows/sample.yml
    • Cron schedule
    • Inputs of issue2atom action
  3. Run this GitHub Actions workflow manually
  4. Publish GitHub Pages using gh-pages branch
  5. Browse https://<your_account>.github.io/<copied_repo_name>/<target_user>/<target_repo>/atom.xml

NOTE: sample.yml overwrites (i.e. force pushes) gh-pages branch.

Inputs

key description required default
user Target GitHub user name true octocat
repo Target GitHub repository name true hello-world
max_issue_num The number of issues included in ATOM false 10
per_page The number of request issues false 30
shorten_length Length of <summary> section false 100
atom_base_url Parent URL of ATOM file.
ex) https://foo.github.io/issue2atom when ATOM URL of octocat/hello-world is https://foo.github.io/issue2atom/octocat/hello-world/atom.xml
false ''
allow_pr Allow pull request or not false false

Outputs

key description
status_code Status code from Github API
atom_file_path ATOM file path
atom_file_size ATOM file size

Example

# Generate ATOM feed in an instance by GitHub Actions
uses: tsubasaogawa/issue2atom-action@v3
with:
    user: "octocat"
    repo: "hello-world"
    max_issue_num: 10

(b) Run on local machine

docker build -t tsubasaogawa/issue2atom:latest .
docker run --rm -t -e USER=octocat -e REPO=hello-world -e STDOUT_ATOM=true tsubasaogawa/issue2atom:latest > atom.xml

Development

See Usage (b).

About

License:MIT License


Languages

Language:Python 95.4%Language:Dockerfile 4.6%