Po przejściu do GitHub w obszarze Problemy wyświetla wszystkie otwarte problemy jako stronę HTML. Chcielibyśmy wdrożyć pulpit pokazujący wszystkie problemy w repozytorium, pogrupowane według etykiet, w tym te, które nie są poprawnie oznaczone.
Jest to odpowiedni interfejs API listy-problemów-dla-repozytorium .
Podczas gdy początkowo korzystałem z jQuery i JavaScript, teraz używam PHP do weryfikacji koncepcji, ponieważ jego wbudowana obsługa sesji pozwala mi używać tej samej strony do logowania, uwierzytelniania i oddzwaniania w GitHub i kontynuowania. Ale to nie ma dla mnie znaczenia, każdy język jest w porządku.
Udało mi się uzyskać dostęp do interfejsu GitHub API za pośrednictwem OAUTH2, ale kiedy dostaję listę repozytoriów https://api.github.com/orgs/{org}/repos
, pojawia się jako pusta tablica.
Ponieważ /orgs/{org}/repos
API zwraca pustą tablicę, oczywiście odpowiedni /repos/{org}/{repo}/issues
API zwróci błąd.
Edycja : zobacz poniższe rozwiązanie, aby znaleźć rozwiązanie! Cieszę się, że wreszcie to działa!
źródło
{ "message": "Not Found", "documentation_url": "https://developer.github.com/v3/issues/#list-issues-for-a-repository" }
, ale czytam i to najwyraźniej standardowa odpowiedź przy próbie dostępu do prywatnych repozytoriów, więc badanie OAuth itp. FWIW, używając JavaScript w ramach jQuery.Możesz użyć jQuery Ajax, aby uzyskać dostęp do interfejsu Github API i dodać podstawowy nagłówek uwierzytelniania w celu uwierzytelnienia (patrz tutaj ), przykład pokazano poniżej, spowoduje to usunięcie problemów dla danego repozytorium i wyświetlenie pierwszych 10 w oknie alertu.
Zobacz dokumentację dotyczącą pobierania problemów tutaj: https://developer.github.com/v3/issues/, aby zobaczyć, jakich parametrów możesz użyć do filtrowania, sortowania itp.
Na przykład możesz uzyskać wszystkie problemy oznaczone jako „błąd”, używając:
Może to obejmować wiele etykiet, np
Możesz łatwo zmodyfikować listę w tabeli itp.
Poniżej znajdują się problemy z listą fragmentów dla (publicznego) repozytorium używającego jQuery i interfejsu API Github:
(Uwaga: nie dodajemy tutaj nagłówka uwierzytelnienia!)
źródło
https://api.github.com/authorizations
wskazują, że może to być dostępne tylko z podstawowego pozwolenia:stdClass Object ( [message] => This API can only be accessed with username and password Basic Auth [documentation_url] => https://developer.github.com/v3 )
. Więc może to zadziała.