This seems obvious, so I feel like I just haven’t found the existing solution yet. In fact, I’ve been trying to find a solution to this for quite a while and keep getting busy so I tried the lame solutions below… If anyone has experience doing this, or recommended tools/insights, I would very much appreciate it.
I have tried a few ways to compile a running, complete filterable list of all events across all repos in my organizations. I know there’s probably a developer API where I could invest time developing my own solution for this, but man, I feel so busy as it is, I was hoping there were good existing solutions already. Maybe this is something that GitHub feels is meant to be paid for (i.e. Insights). I might be willing to pay for a nice tool that does everything I need…
This looks promising, and I will investigate it next:
I need it for various reason:
- even with my lame solutions, it has helped me communicate with my students about what they are doing right and wrong, and gives me insight into how they are using it, and provides evidence for grading
- push time vs commit time for students who forget to submit (push) on time. if they push after assignment is graded, GitHub shows commit timestamp in history (for obvious good reasons), but I still need to know the difference as a teacher who is grading…
- graphing various metrics like when students (individual and whole class) are starting assignments (repo creation), activity over the week/month (number of commits, activity in general). Ultimately, I’d like to provide these activity graphs to the entire class as feedback and even student/project specific graphs during grading…
- fast searching across all events for a particular student, particular repo, particular organization, etc.
- daily / periodic queries to get ahead on grading early
- just better insight in general into how my students are working with their GitHub repos
At first I tried getting notification emails filtered into folders… which was admittedly a very horrible idea on my part. I’m embarrassed I even thought that was an acceptable approach for hundreds of repos per semester. Emails were sporadic, unreliable, waste of bandwidth, definitely not a good way to organize data, etc.
Then I tried the audit log of an organization, but it doesn’t seem to have all the information… I find plenty of admin events, but nothing by students (probably because they are not admins).
I found the Dashboard, which is filterable by organization, and is where I found the RSS/Atom feeds, but the web Dashboard isn’t searchable and is limited, both in terms of how I can interact with it and in content, I can’t export it, etc.
I am still currently using an RSS/Atom feed reader to read the Dashboard feeds from appropriate organizations, such as:
The problem I have with this solution is that you have to keep fetching often (daily at least) to get all events. If I don’t fetch for a day or two, there are definitely events missing. I don’t know how long the feed is, but it is limited. Also, sometimes events are missing in general whether I was fetching regularly or not… For example, I can find evidence of a commit on GitHub, but my feed reader never got the event Am I just using a poor reader? Did I just not turn my computer often enough that day/weekend? But no, I seem to have other events before and after it… And now I have no data on those events to compute with or to find dependencies between commit and push timestamps, etc. Wha?
I am currently using the free QuiteRSS feed reader. It’s clean and simple and I like the fast filterable searching, but it’s clearly dated and I can’t even figure out how to export the events to a simple .csv, .json, or .xml file of all (or multiple selected) events… which makes it pretty useless for processing the data in any algorithmic way. Here’s an example of some events in QuiteRSS
If anyone has suggestions for a better, free (or even affordable) solid feed reader with simple interface and fast searching and exporting support, I would appreciate recommendations. Something like Feedly seems like overkill and not appropriate I feel. Or any obvious existing solutions to this problem that I am missing?