Używam GRAPHUB API GraphQL do wyszukiwania plików/kodu zawierającego dane słowo. Prostym (wymyślonym) przykładem wyszukiwania, które w tym przypadku jest znalezienie terminu "wołowina" w plikach znajdujących się w "przepisach" (repo) dla "someuser" (właściciela repozytorium) pokazano poniżej:Wyszukiwanie kodu w GitHub przy użyciu GraphQL (v4 API)
{
search(query: "beef repo:someuser/recipes", type: REPOSITORY, first: 10) {
repositoryCount
edges {
node {
... on Repository {
name
}
}
}
}
}
próbowałem to na gitHub za GraphQL Explorer (https://developer.github.com/v4/explorer/) i odbierać zerowe wyniki wyszukiwania, które jest błędne jak mogę potwierdzić, że słowo („wołowina” w powyższym przykładzie) jest plików w repo:
{
"data": {
"search": {
"repositoryCount": 0,
"edges": []
}
}
}
Kiedy próbuję to za pomocą gitHub za REST API (v3) poprzez zwinięcie, zdecydowanie uzyskać wyniki:
curl --header 'Accept: application/vnd.github.v3.raw' https://api.github.com/search/code?q=beef+repo:someuser/recipes
... Tak więc wiem, że zapytanie (API REST v3) jest poprawne i rozumiem, że ciąg zapytania w interfejsie API GraphQL (v4) jest identyczny jak w przypadku interfejsu API REST (v3).
Moje pytania są następujące:
- Am I niewłaściwie używając GitHub GraphQL (V4) API albo ja określający ciąg kwerendy nieprawidłowo, albo ja próbuje użyć funkcji, która nie jest jeszcze obsługiwany?
- Czy istnieje przykład tego, jak to zrobić, aby ktoś mógł podać (lub powiązać), który ilustruje sposób wyszukiwania kodu dla określonych słów?