Sie können jQuery Ajax verwenden, um auf die Github-API zuzugreifen und einen grundlegenden Authentifizierungsheader zur Authentifizierung hinzuzufügen (siehe hier ). Ein Beispiel wird unten gezeigt. Dadurch werden die Probleme für ein bestimmtes Repo behoben und die ersten 10 in einem Warnfenster angezeigt.
In der Dokumentation zum Abrufen von Problemen finden Sie hier: https://developer.github.com/v3/issues/ , welche Parameter Sie zum Filtern, Sortieren usw. verwenden können.
Zum Beispiel können Sie alle Probleme mit der Bezeichnung "Fehler" erhalten, indem Sie:
/issues?labels=bug
Dies kann mehrere Etiketten umfassen, z
/issues?labels=enhancement,nicetohave
Sie können leicht ändern, um in einer Tabelle usw. aufzulisten.
const username = 'github_username'; // Set your username here
const password = 'github_password'; // Set your password here
const repoPath = "organization/repo" // Set your Repo path e.g. microsoft/typescript here
$(document).ready(function() {
$.ajax({
url: `https://api.github.com/repos/${repoPath}/issues`,
type: "GET",
crossDomain: true,
// Send basic authentication header.
beforeSend: function (xhr) {
xhr.setRequestHeader ("Authorization", "Basic " + btoa(username + ":" + password));
},
success: function (response) {
console.log("Response:", response);
alert(`${repoPath} issue list (first 10):\n - ` + response.slice(0,10).map(issue => issue.title).join("\n - "))
},
error: function (xhr, status) {
alert("error: " + JSON.stringify(xhr));
}
});
});
Im Folgenden finden Sie einen Ausschnitt mit Problemen für ein (öffentliches) Repo mit jQuery und der Github-API:
(Beachten Sie, dass wir hier keinen Authentifizierungsheader hinzufügen!)
const repoPath = "leachim6/hello-world" //
$(document).ready(function() {
$.ajax({
url: `https://api.github.com/repos/${repoPath}/issues`,
type: "GET",
crossDomain: true,
success: function (response) {
tbody = "";
response.forEach(issue => {
tbody += `<tr><td>${issue.number}</td><td>${issue.title}</td><td>${issue.created_at}</td><td>${issue.state}</td></tr>`;
});
$('#output-element').html(tbody);
},
error: function (xhr, status) {
alert("error: " + JSON.stringify(xhr));
}
});
});
<head>
<meta charset="utf-8">
<title>Issue Example</title>
<link rel="stylesheet" href="css/styles.css?v=1.0">
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css" integrity="sha384-ggOyR0iXCbMQv3Xipma34MD+dH/1fQ784/j6cY/iJTQUOhcWr7x9JvoRxT2MZw1T" crossorigin="anonymous">
<script src="https://code.jquery.com/jquery-3.4.1.min.js" crossorigin="anonymous"></script>
</head>
<body style="margin:50px;padding:25px">
<h3>Issues in Repo</h3>
<table class="table table-striped">
<thead>
<tr>
<th scope="col">Issue #</th>
<th scope="col">Title</th>
<th scope="col">Created</th>
<th scope="col">State</th>
</tr>
</thead>
<tbody id="output-element">
</tbody>
</table>
</body>
{ "message": "Not Found", "documentation_url": "https://developer.github.com/v3/issues/#list-issues-for-a-repository" }
, aber ich habe es gelesen und das ist anscheinend die Standardantwort, wenn ich versuche, auf private Repos zuzugreifen, also nach OAuth usw. zu suchen. FWIW, mit JavaScript unter jQuery Framework.