The current version allows you to fetch or upload Github issues. fetch
lets
you store the retrieved issues in CSV or JSON. upload
lets you create
multiple issues from a CSV.
Get all issues from ustwo/ustwo.com-frontend
labelled as in_backlog
or
bug
and store them as CSV in ustwo.csv
.
github-issues fetch ustwo/ustwo.com-frontend \
--oauth-token=$GITHUB_TOKEN \
--format=csv \
--output=usweb.csv \
--label=in_backlog \
--label=bug
Create a file myissues.csv
with the following format:
title,body,labels,assignees,milestone_id
"A nice title","A descriptive body","in_backlog,feature",arnau,1
"Another issue","foo bar","chore",,
And run
github-issues upload ustwo/ustwo.com-frontend \
--oauth-token=$GITHUB_TOKEN \
--input=myissues.csv
The order of the fields is fixed: title
, body
, labels
, assignees
,
milestone_id
. And title
is the only required field so the minimum record
possible is:
A title,,,,
Another title,,,,
As you can see, the header line is optional. The fields are identified and consumed in order:
title
body
labels
assignees
milestone_id
Note: Github allows you to create labels by just setting them in a new Issue but it will fail if you reference a non-existing milestone id.
The output in the screen will be showing the progress like this:
Info: Created issue number 18 A nice title
Info: Created issue number 19 Another issue
And it will reflect an error like:
Error: Couldn't create an issue for 'Foo bar' because the field 'milestone' has an invalid value.
If you want to check if any record in the CSV you are about to upload is a
possible duplicate to an existing issue you can pass the flag --check
to
the upload
command. This flag makes the command noop so even if there are
no duplicates detected you'll have to run the upload
command without the
flag in order to create new issues.
The current duplicate detection is quite naive. It only checks if the title of the issue is similar to another one. So short names have more chances to be false positives.
The preferred way to install github-issues
is via Hombrew:
brew install ustwo/tools/github-issues
Alternatively, grab a release
and place it in your $PATH
.
Check our contributing guidelines
- Arnau Siches (@arnau)
This is a proof of concept with no guarantee of active maintenance.
Licensed under MIT.