I've recently launched a new open source project to help people conduct code reviews (www.CodeReviewChecklist.com) and have a dedicated page stating how people can get involved in helping make it better (https://www.codereviewchecklist.com/opensource/).
Initially things were pretty sparse on that page with just a heading and paragraph stating the site was open source with a link to the Git repository.
So I wondered if GitHub had some kind of widget that would let people embed GitHub issues onto a webpage. Alas I couldn't find such a widget (perhaps I wasn't looking hard enough). What I did find and extend however, was a code sample that calls the GitHub api and displays issues from your chose repository on a page all from client side code.
Here is the code snippet:
<div id="github-issues"></div> <script src="~/lib/jquery/dist/jquery.min.js"></script> <script> var urlToGetAllOpenBugs = "https://api.github.com/repos/leeenglestone/codereviewchecklist/issues?state=open"; $(document).ready(function () { $.getJSON(urlToGetAllOpenBugs, function (allIssues) { $("div#github-issues").append("There are " + allIssues.length + " outstanding issues:</br>"); $.each(allIssues, function (i, issue) { // Get assignee (if applicable) var assigneeName = "Unassigned"; if (issue.assignee) { assigneeName = issue.assignee.login; } // Calculate number of days ago created var today = new Date(); var timeDifference = today - Date.parse(issue.created_at); var daysAgo = (timeDifference / (1000 * 3600 * 24)).toFixed(); $("div#github-issues") .append("<div style=\"margin-bottom:20px;\">") .append("<strong><a href=\"" + issue.html_url + "\">" + issue.title + "</a></strong></br>") .append("#" + issue.number + " opened " + daysAgo + " days ago by " + issue.user.login + "</br>") .append("Assigned to: " + assigneeName) .append("</div>"); }); }); }); </script>
Which can obviously be seen on GitHub.
And here is the resulting page (and I've just noticed the 'suggests' spelling mistake).
Not a bad way to show relevant GitHub issues on your webpage. Now people can go straight to the issues they may be interested in helping out with.
-- Lee