This is a GitHub Action for Instant Issues.
This action aggregates all open issues into a single JSON file and force pushes
it to the issues
branch, so that the Instant Issues frontend
can download it from raw.githubusercontent.com
.
Create .github/workflows/aggregate-issues.yml
with the following content:
name: Aggregate issues for Instant Issues
on:
issues:
types: [opened, closed, reopened, edited, deleted]
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: instant-issues/action@master
with:
token: ${{ secrets.GITHUB_TOKEN }}
Create .github/workflows/aggregate-issues.yml
with the following content:
name: Aggregate issues for Instant Issues
on:
push:
schedule:
# run every hour
- cron: '0 * * * *'
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: instant-issues/action@master
with:
token: ${{ secrets.GITHUB_TOKEN }}
Then you can create .github/workflows/instant-issue-repos.yml
with, e.g.:
- name: someorg/someorg1
disjointLabels: [bug, UX, new feature]
- name: someorg/someorg2
-
Uploading GitHub artificats is more straightforward than force pushing but that's not an option because they don't have a persistent download URL.
-
Uploading release assets is more straightforward than force pushing but that's not an option because the assets are served without the
Access-Control-Allow-Origin
header. -
To not needlessly spam GitHub we upload issues using a force push. Since the GitHub REST API does not provide an endpoint for force pushing, we do the force pushing by running
git
in Docker.