आप जीथ्यू एपीआई तक पहुँचने के लिए jQuery Ajax का उपयोग कर सकते हैं और प्रमाणित करने के लिए एक बुनियादी प्रमाणीकरण शीर्षक जोड़ सकते हैं ( यहाँ देखें ), एक उदाहरण नीचे दिखाया गया है, यह किसी दिए गए रेपो के लिए मुद्दों को खींचेगा और पहले 10 को अलर्ट विंडो में दिखाएगा।
मुद्दों को यहाँ खींचने पर दस्तावेज़ीकरण देखें: https://developer.github.com/v3/issues/ यह देखने के लिए कि आप किन मापदंडों का उपयोग फ़िल्टर, सॉर्ट आदि के लिए कर सकते हैं।
उदाहरण के लिए आप 'बग' लेबल वाले सभी मुद्दों का उपयोग कर सकते हैं:
/issues?labels=bug
इसमें कई लेबल शामिल हो सकते हैं, जैसे
/issues?labels=enhancement,nicetohave
आप तालिका आदि में सूची को आसानी से संशोधित कर सकते हैं।
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));
}
});
});
नीचे jQuery और Github API का उपयोग करके (सार्वजनिक) रेपो के लिए एक स्निपेट लिस्टिंग मुद्दे हैं:
(ध्यान दें कि हम यहां प्रमाणीकरण शीर्षलेख नहीं जोड़ते हैं!)
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" }
, लेकिन मैंने पढ़ा है और यह स्पष्ट रूप से मानक प्रतिक्रिया है जब निजी रिपोज को एक्सेस करने की कोशिश की जा रही है, इसलिए OAuth, आदि FWIW पर शोध कर रहे हैं, जावास्क्रिप्ट के तहत jQuery फ्रेमवर्क का उपयोग कर रहे हैं।