Przejdź do głównej zawartości

GitHub

Integracja z serwisem GitHub umożliwia Speedwave bezpośrednią pracę na repozytoriach w serwisie GitHub.com: przeglądanie kodu, analizę diffów w pull requestach, dodawanie komentarzy inline w trakcie przeglądu kodu, zarządzanie zgłoszeniami oraz uruchamianie potoków GitHub Actions.

GitHub działa w odrębnym kontenerze workera. Tokeny są zapisywane w pliku ~/.speedwave/tokens/<projekt>/github/token i montowane do kontenera w trybie tylko do odczytu pod ścieżką /tokens/token.

Uwierzytelnienie przebiega za pomocą mechanizmu OAuth Device Flow: aplikacja wyświetla jednorazowy kod urządzenia, który zatwierdzasz w przeglądarce pod adresem https://github.com/login/device. Aplikacja prosi o zakresy uprawnień repo oraz read:user. Istnieje również możliwość podania ręcznego tokena Personal Access Token (np. fine-grained github_pat_ lub klasycznego ghp_).

Żądania z sesji Claude Code trafiają przez bezstanowy Tool Gateway do workera GitHub, który łączy się bezpośrednio z API https://api.github.com.

Worker GitHub udostępnia 45 operacji pogrupowanych według obszarów:

NarzędzieZakres działania
listReposPrzegląd i wyszukiwanie repozytoriów dostępnych dla konta.
getRepoPobieranie szczegółowych metadanych repozytorium.
searchCodeWyszukiwanie fraz w kodzie źródłowym repozytoriów.
listBranchesLista gałęzi w repozytorium.
getBranchPobieranie szczegółów wybranej gałęzi.
createBranchTworzenie nowej gałęzi ze wskazanego commita lub innej gałęzi.
deleteBranchTrwałe usunięcie gałęzi z repozytorium.
compareBranchesPorównywanie różnic w commitach między gałęziami.
getTreePobieranie rekurencyjnego drzewa plików i katalogów.
getFileContentsOdczyt surowej zawartości pliku z repozytorium.
createOrUpdateFileBezpośredni commit tworzący lub modyfikujący plik.
NarzędzieZakres działania
listPullRequestsWyszukiwanie pull requestów według stanu, gałęzi lub celu.
getPullRequestOdczyt pełnych danych pull requesta.
createPullRequestOtwieranie nowych pull requestów (roboczych lub gotowych).
updatePullRequestModyfikacja tytułu, opisu, gałęzi bazowej lub stanu pull requesta.
mergePullRequestScalanie pull requestów.
getPrDiffPobieranie ujednoliconego diffa zmian w pull requeście.
getPrFilesWykaz zmodyfikowanych plików wraz ze statystykami linii.
listPrCommitsLista commitów powiązanych z pull requestem.
listPrReviewsWykaz formalnych ocen w pull requeście.
createPrReviewZgłaszanie formalnego przeglądu kodu (APPROVE, REQUEST_CHANGES, COMMENT).
listPrCommentsOdczyt ogólnych komentarzy dyskusyjnych pod pull requestem.
createPrCommentDodawanie ogólnego komentarza do dyskusji.
createPrReviewCommentDodawanie komentarza inline przypiętego do konkretnej linii w diffie.
NarzędzieZakres działania
listCommitsPrzegląd historii commitów z filtrowaniem według autora i daty.
listBranchCommitsLista commitów na wybranej gałęzi.
searchCommitsWyszukiwanie w treściach wiadomości commitów.
getCommitDiffPobieranie diffa dla pojedynczego commita.
createTagTworzenie tagów Git (lekkich lub opisowych).
deleteTagUsunięcie tagu Git.
createReleaseTworzenie wydań GitHub Releases (z opcją automatycznego tagowania).
NarzędzieZakres działania
listWorkflowRunsPrzegląd uruchomień potoków GitHub Actions.
getWorkflowRunOdczyt szczegółów wykonania potoku CI.
getRunLogsPobieranie tymczasowego adresu URL do archiwum ZIP z logami.
rerunWorkflowPonowne uruchomienie potoku CI/CD.
triggerWorkflowRęczne wyzwalanie zdarzeń typu workflow_dispatch.
listWorkflowRunArtifactsLista artefaktów wygenerowanych przez potok Actions.
downloadArtifactPobieranie adresu URL do archiwum artefaktów.
listIssuesPrzegląd zgłoszeń (z wyłączeniem pull requestów).
getIssuePobieranie szczegółów pojedynczego zgłoszenia.
createIssueZakładanie nowego zgłoszenia.
updateIssueModyfikacja tytułu, opisu, stanu, etykiet i osób przypisanych.
closeIssueZamykanie zgłoszenia.
listLabelsWykaz etykiet w repozytorium.
createLabelTworzenie nowej etykiety.
  1. Otwórz projekt w aplikacji Desktop i przejdź do sekcji Integracje -> GitHub.
  2. Kliknij Sign in with GitHub i potwierdź kod urządzenia w oknie przeglądarki.
  3. Po autoryzacji token zostaje zapisany na dysku, a integracja staje się aktywna.

Kontener workera GitHub podlega standardowym zasadom izolacji kontenerowej Speedwave: nieuprzywilejowany użytkownik, system plików tylko do odczytu i brak dostępu do tokenów innych usług. Szczegóły dotyczące separacji poświadczeń znajdziesz w rozdziale Zarządzanie poświadczeniami.