Closed nelsonic closed 6 years ago
Some questions and comments to try to get a better idea on how to implement the backup:
Do we need to implement OAuth, maybe a first version can get directly the issues from the API without authentication. I think the only reason why we would want to use OAuth is to have a better number for the requests limit, we might need to know how many requests the script needs.
Will this script run locally or on a server? In both case we need to save the issue json files asked locally.
If we want to work offline we migth need to think how to synchronise the offline backup of issues with Github but this might be a feature needed for the next version not now.
Let's try with Elixir! The "Programming Elixir" book has already a nice example which explains how to display the first n most recent issues of a repo.
@SimonLab if we use the API without OAuth there will be a limit for the number of requests per minute/hour. you're correct that this will work, it will just mean the person has to wait for the script to run over a number of hours instead of working in a few minutes.
Also, @jruts managed to get a GitHub Web Hook with Elixir set up quite quickly: https://github.com/jruts/git_webooks_elixir so might be worth doing a bit of googling.
@nelsonic that is just to play around, it is far from complete :) Elixir is too much fun not to play around with it. I do think it is rather easy to implement this mini project. If you need a ready to use github lib I would recommend tentacat.
@jruts thanks for the tip! https://github.com/edgurgel/tentacat looks really good! 😍 (hope your day is going well...)
@nelsonic is this mini project no longer desired now you have seen tentacat?
@JMurphyWeb I think we just need to write a script that uses Tentacat to fetch all the issues for an org's repos.
If we could solve this issue: https://github.com/dear-github/dear-github/issues/129 the world (of GitHub) would be a better place!
Closing as 'Done' in the Projects board.
This repo was born out of the need identified in: https://github.com/dwyl/github-reference/issues/15
Why?
As a person who uses GitHub as their "single-source-of-truth" I need a backup of GitHub issues so that I can work "offline". (either when I have no network or GH is "down")
What?
Backup GitHub issues.
dwyl/github-reference/issues/15
store it asdwyl/github-reference/issues/15.json
Note: initially we do not need a Web-UI to let people backup their issues, but later we could build UI to make it more useable.
How?
I have a strong preference for using Elixir for this because we are transitioning all our projects to Elixir, but given that this script does not require parallelism/concurrency it's "OK" to write it in which ever language you are most comfortable using.