github rest api tutorial rest api support github
GitHub REST API - rozhranie na programovú interakciu s GitHub:
V našich starších tutoriáloch na GitHub skúmame rôzne aspekty použitia z pohľadu vývojára pomocou webového rozhrania.
Dnes sa väčšina organizácií pozerá na možnosti automatizácie takmer vo všetkých oblastiach a rozhrania REST API sú užitočné na automatizáciu rôznych scenárov pre rôzne nástroje.
Samozrejme môžu existovať aj ďalšie oblasti, kde by sa dali použiť REST API.
=> Navštívte tu exkluzívnu sériu výcvikových kurzov GitHub .
Čo sa dozviete:
Integrácia GITHub REST API
Rozhrania REST API (Reprezentatívny prenos stavu) primárne používajú požiadavky HTTP na nasledujúce účely.
- ZÍSKAJTE - Načítať zdroj
- PUT / PATCH - Aktualizácia zdroja
- POST - Vytvorte zdroj
- ODSTRÁNIŤ - Odstrániť zdroj
Nebudeme sa hlboko venovať tomu, ako funguje REST API, ale skôr skočíme priamo do podpory REST API v GitHube pomocou CURL príkaz na vykonanie väčšiny úloh, ktoré sme videli v našich predchádzajúcich tutoriáloch na GitHub prostredníctvom rozhraní REST API.
Aktuálna verzia rozhrania GitHub API je v3 a tento tutoriál obsahuje najdôležitejšie činnosti, ktoré by vývojár prostredníctvom týchto rozhraní API potreboval.
Vytvorenie osobného prístupového tokenu
Aby REST API fungovali cez príkazový riadok, musíme sa autentifikovať na serveri GitHub. Preto musíme poskytnúť svoje poverenia. Nechceme vystaviť naše heslo použité v našom účte GitHub, preto vygenerujeme osobný prístupový token, ktorý sa použije v príkazovom riadku na autentifikáciu na GitHub.
Prihláste sa do svojho účtu GitHub a kliknite na nastavenie pod tvojim profilom.
Ísť do Nastavenia pre vývojárov -> Tokeny osobného prístupu. Vygenerujte nový token.
Pridajte názov, vyberte rozsah prístupu API a kliknite na Vytvorte token.
Na nasledujúcej obrazovke nezabudnite skopírovať token a uložiť ho do súboru. Tento token sa použije v príkazovom riadku na prístup k GitHub API.
java ako vytvoriť rad objektov
Vytvorený token je možné použiť aj počas git klon operácia, keď sa zobrazí výzva na zadanie hesla. Teraz, keď máme token na mieste, uvidíme, ako sa k API dostanete z príkazového riadku pomocou programu CURL.
Ako predbežnú požiadavku si budete musieť stiahnuť a nainštalovať „Zvlnenie“ .
Úložisko
Tu zobrazené príklady rozhrania REST API sú spustené v počítači so systémom Windows. V tejto časti sa predstavia niektoré operácie úložiska GitHub.
# 1) Ak chcete pre používateľa uviesť verejné úložiská, spustite nasledujúci príkaz v jednom riadku.
zvlnenie -X ZÍSKAŤ -u: https://api.github.com/users//repos | grep -w clone_url
#dva) Ak chcete uviesť zoznam verejných úložísk v rámci organizácie.
zvlnenie -X ZÍSKAŤ -u: https://api.github.com/orgs//repos | grep -w clone_url
# 3) Vytvorte si osobné úložisko.
zvlnenie -X POST -u: https://api.github.com/user/repos -d „{“ meno ': ' Demo_Repo '}'
Vo vyššie uvedenom názve príkazu je parameter. Pozrime sa na niektoré ďalšie parametre, ktoré možno použiť pri vytváraní osobných úložísk používateľov.
zvlnenie -X POST -u: https://api.github.com/user/repos -d „{“ name ': ' Demo_Repo ', ' description ': ' Toto je prvé repo prostredníctvom API ', ' domovská stránka ': ' https: //github.com ' , 'Public ': 'true ', 'has_issues ': 'true ', 'has_projects ': 'true ', 'has_wiki ': 'true '} '
Vo vyššie uvedenom príkaze sú názov, popis, domovská stránka, verejné, has_projects, has_wiki všetky parametre, ktoré majú hodnotu reťazca a sú uzavreté v '. Tiež si všimnite, že medzi: a je medzera.
Napríklad, public parameter robí repo public. Príkaz tiež umožňuje vytváranie čísel, projektov a wiki.
# 4) Premenujte úložisko.
zvlnenie -X POST -u: -X PATCH -d '{' name ': ' '}' https://api.github.com/repos//
# 5) Aktualizujte has_wiki parameter v úložisku a nastavte hodnotu na false.
curl -u: -X PATCH -d '{' has_wiki ': ' false '}' https://api.github.com/repos/user-name/
# 6) Odstrániť úložisko.
curl -X DELETE -u: https://api.github.com/repos//
# 7) Vytvorte úložisko v organizácii.
zvlnenie -X POST -u: https://api.github.com/orgs//repos „{' Name ': ' Demo_Repo_In_Org ', ' description ': ' Toto je prvé repo v org prostredníctvom API ', ' domovská stránka ': ' https: //github.com ' , 'Public ': 'true ', 'has_issues ': 'true ', 'has_projects ': 'true ', 'has_wiki ': 'true '} '
# 8) Zoznam vidlíc pre úložisko.
zvlnenie -X ZÍSKAŤ -u: https://api.github.com/repos/// vidličky | grep -w html_url
Vyššie uvedený príkaz vypíše zoznam adries URL na prehliadanie vidlicového úložiska. To isté možno vidieť v úložisku používateľov a „Tabuľka so štatistikami => vidlice“ .
zvlnenie -X ZÍSKAŤ -u: https://api.github.com/repos/// vidličky | grep -w clone_url
Vyššie uvedený príkaz vypíše zoznam adries URL na klonovanie vidlicového úložiska.
# 9) Vidlica úložiska v organizácii.
zvlnenie -X POST -u: -d '{' organizácia ': ' '}' https://api.github.com/repos/// vidličky
Spolupracovníci
# 1) Zoznam spolupracovníkov pre úložisko.
zvlnenie -X ZÍSKAŤ -u: https://api.github.com/repos///spolupracovníci | grep -w prihlásenie
#dva) Skontrolujte, či sa používateľ nachádza v zozname Spolupracovník.
zvlnenie -X ZÍSKAŤ -u: https://api.github.com/repos///collaborators/
Ak je používateľ súčasťou spolupracovníka, potom sa ako výstup nezobrazí žiadny obsah, inak sa zobrazí nasledujúca správa.
{
“Message”: “nie je užívateľ”,
„Documentation_url“: „https://developer.github.com/v3/repos/collaborators/#get“
}
# 3) Skontrolujte povolenie používateľa.
zvlnenie -X ZÍSKAŤ -u: https://api.github.com/repos///collaborators/
# 4) Pridajte používateľa ako spolupracovníka do úložiska.
zvlnenie -X PUT -u: https://api.github.com/repos///collaborators/
Ak to zverejníte, pozvaný bude musieť prijať pozvanie, aby sa mohol stať spolupracovníkom. Ak je používateľ už pridaný ako spolupracovník, potom sa nezobrazí žiadny obsah, inak sa zobrazí výstup.
# 5) Odstraňuje sa používateľ ako spolupracovník.
curl -X DELETE -u: https://api.github.com/repos///collaborators/
Po úspešnom spustení príkazu sa nezobrazí žiadny obsah.
Organizácia
Poznámka: Rozhranie GitHub API neposkytuje vytváranie organizácií.
# 1) Zoznam všetkých účtov organizácie pre používateľa.
zvlnenie -X ZÍSKAŤ -u: https://api.github.com/repos/user/orgs | grep -w prihlásenie
#dva) Aktualizujte organizáciu.
curl -X PATCH -u: -d „{“ name ”: ” TeamVN ”, ” billing_email ”: ” vniranjan72@outlook.com ”, ” email ”: ” vniranjan72 @ outlook .com ', ' location ': ' Bangalore ', ' 'description ': 'Aktualizácia podrobností organizácie '} 'https://api.github.com/orgs/
Pobočky
# 1) Zoznam pobočiek v úložisku používateľov. Príkaz vypíše všetky vetvy v úložisku.
zvlnenie -X ZÍSKAŤ -u: https://api.github.com/repos///branches | grep -w meno
#dva) Zoznam všetkých chránených pobočiek v úložisku používateľov.
zvlnenie -X ZÍSKAŤ -u: https://api.github.com/repos///branches ? protected = true | grep -w meno
# 3) Zoznam všetkých nechránených pobočiek v úložisku používateľov
zvlnenie -X ZÍSKAŤ -u: https://api.github.com/repos///branches ? protected = false | grep -w meno
# 4) Odstráňte ochranu pobočiek.
curl -X DELETE -u: https://api.github.com/repos///branches/master/protection
Žiadosti o stiahnutie
# 1) Zoznam požiadaviek na stiahnutie.
zvlnenie -X ZÍSKAŤ -u: https://api.github.com/repos///pulls?state=open | grep -w nadpis
Možnosti pre parameter stavu sú Otvorené, Zatvorené, Všetky.
#dva) Vytvorte žiadosť o stiahnutie.
curl -X POST -u: -d '{' title ': ' Vynikajúca vlastnosť pridaná ', ' body ': ' Prosím potiahnite skvelú zmenu vykonanú v hlavnej vetve ', ' hlava ”: ” Feature ”, ” base ”: ” master ”}” https://api.github.com/repos///tiahne
# 3) Uveďte počet vytvorených požiadaviek na stiahnutie.
zvlnenie -X ZÍSKAŤ -u: https://api.github.com/repos///pulls?state=open | grep -w cislo
# 4) Aktualizujte text žiadosti Pull alebo akýkoľvek iný parameter (maximálne 250 záväzkov).
curl -X PATCH -u: -d '{' body ': ' Povinné na vykonanie veľkej zmeny vykonanej vo vetve funkcií do hlavnej vetvy '}' https://api.github.com/repos///tiahne / 31
# 5) Zoznam Potvrdenie žiadosti o stiahnutie.
zvlnenie -X ZÍSKAŤ -u: https://api.github.com/repos///pulls/31/commits
# 6) Uveďte zoznam žiadostí o stiahnutie (iba 300 súborov).
zvlnenie -X ZÍSKAŤ -u: https://api.github.com/repos///pulls/31/files | grep -w nazov souboru
# 7) Zlúčiť žiadosť Pull.
curl -X PUT -u: -d “{” commit_message ”: ” Good Commit ”}” https://api.github.com/repos///pulls/31 / choď
Odpoveď v prípade zlúčenia
{
'Sha': 'e5db2ce465f48ada4adfb571cca2d6cb859a53c6',
„Merged“: pravda,
“Message”: “Pull Request úspešne zlúčený”
}
Odpoveď, ak nie je možné zlúčiť požiadavku na načítanie
{
“Message”: “Žiadosť o stiahnutie nie je zlúčiteľná”,
„Documentation_url“: „https://developer.github.com/v3/pulls/#merge-a-pull-request-merge-button“
}
Štítky, míľniky a problémy
Etikety
# 1) Zoznam všetkých štítkov v úložisku.
zvlnenie -X ZÍSKAŤ -u: https://api.github.com/repos///štítky | grep -w meno
#dva) Uveďte konkrétny štítok v úložisku.
zvlnenie -X ZÍSKAŤ -u: https://api.github.com/repos///štítky / chyba
# 3) Ak chcete vytvoriť štítok.
zvlnenie -X POST -u: -d '{' meno ': ' defekt ', ' popis ': ' Na zvýšenie defektu ', ' farba ': ' ff493b '}' https://api.github.com/repos///štítky
Hexadecimálny kód farby pre farba parameter je možné nastaviť od Farba hex
# 4) Aktualizovať štítok
zvlnenie -X PATCH -u: -d '{' color ': ' 255b89 '}' https://api.github.com/repos///štítky / vada
# 5) Odstrániť štítok
curl -X DELETE -u: https://api.github.com/repos/vniranjan1972/Demo_Project_Repo_VN/labels/defect
Problémy
# 6) Uveďte konkrétny problém v úložisku.
zvlnenie -X ZÍSKAŤ -u: https://api.github.com/repos///issues/20 | grep -w nadpis
# 7) Uveďte všetky problémy v úložisku.
zvlnenie -X ZÍSKAŤ -u: https://api.github.com/repos///vydania | grep -w nadpis
# 8) Vytvorte problém.
curl -X POST -u: -d „{“ title ”: ” Nová uvítacia stránka ”, ” body ”: ” Navrhnúť novú stránku ”, ” štítky ”: [“ vylepšenie '], ' míľnik ': ' 3 ', ' postupníci ': [' ', '
Vo vyššie uvedenom príkaze etikety a postupníci parametre sú pole reťazcov, kde je možné poskytnúť viac hodnôt. Štát parameter bude mať hodnotu buď otvorené alebo zatvorené.
# 9) Pridajte k problému štítok.
zvlnenie -X POST -u: -d „{“ štítky ”: [“ vylepšenie ”]}” https://api.github.com/repos///vydania / 30 / štítky
# 10) Upravte problém a aktualizujte parametre Napr. Štítky k tomu.
zvlnenie -X PATCH -u: -d „{“ štítky ”: [“ chyba ”, “ vylepšenie ”]}” https://api.github.com/repos///vydania / 30
Vo vyššie uvedenom príkaze aktualizujte štítky čísla 30.
#eleven) Odstráňte štítok z konkrétneho problému.
curl -X DELETE -u: https://api.github.com/repos///issues/30/labels/bug
# 12) Odstráňte VŠETKY štítky z konkrétneho problému.
curl -X DELETE -u: https://api.github.com/repos///issues/30/labels
Míľniky
# 13) Zoznam všetkých míľnikov.
zvlnenie -X ZÍSKAŤ -u: -d „{“ stav “: [“ otvorené ”]}” https://api.github.com/repos///milestones | grep -w nadpis
# 14) Zoznam podrobností konkrétneho míľnika.
zvlnenie -X ZÍSKAŤ -u: https://api.github.com/repos///milestones / 1 | grep -w nadpis
# pätnásť) Vytvorte míľnik.
curl -X POST -u: -d „{“ title ”: ” R5 ”, ” state ”: ” open ”, ” description ”: ” Sledovanie míľnika R5 ”, ”Due_on ”: ”2019-12-05T17: 00: 01Z ”} ” https://api.github.com/repos///milestones
Vo vyššie uvedenom príkaze Splatný je časová známka ISO 8601 v RRRR-MM-DDTHH: MM: SSZ formát. Viac o tom nájdete @ ISO 8601
# 16) Aktualizujte míľnik.
zvlnenie -X PATCH -u: -d '{' stav ': ' zatvorené '}' https://api.github.com/repos///milestones / 3
# 17) Odstrániť míľnik.
curl -X DELETE -u: https://api.github.com/repos///milestones / 3
Tímy
# 1) Zoznam tímov v organizácii.
zvlnenie -X ZÍSKAŤ -u: https://api.github.com/orgs//tímy | grep -w meno
Zoznam podľa ID tímu
zvlnenie -X ZÍSKAŤ -u: https://api.github.com/orgs//tímy | grep -w id
#dva) Zoznam tímov podľa používateľov.
zvlnenie -X ZÍSKAŤ -u: https://api.github.com/user/teams | grep -w meno
# 3) Vytvorte tím, pridajte členov a pridajte do tímu úložisko.
curl -X POST -u: -d “{” name ”: ” ”, ” description ”: ” Zadajte stručný popis ”, ” údržbári ”: [“ ”], ”Repo_names ”: [ ”/ ”]} ” https://api.github.com/orgs/Demo-Proj-Org/teams
# 4) Upravte názov a popis tímu.
curl -X PATCH -u: -d '{' name ': ' Nový názov tímu ', ' description ': ' Posledný popis '}' https://api.github.com/teams/
ID tímu je možné získať spustením príkazu z kroku 1.
# 5) Pridať archív k existujúcemu tímu.
zvlnenie -X PUT -u: https://api.github.com/teams//repos//
# 6) Odstrániť úložisko z tímu.
curl -X DELETE -u: https://api.github.com/teams/
# 7) Odstrániť tím.
curl -X DELETE -u: https://api.github.com/teams/
Hľadajte v úložiskách, v kóde, v problémoch
Rozhranie Search API umožňuje vyhľadávať ľubovoľné položky.
# 1) Napríklad, ak chcete prehľadať všetky úložiská vlastnené konkrétnym používateľom.
zvlnenie -X ZÍSKAŤ https://api.github.com/search/repositories?q=user: | grep -w „meno“
Požadovaný parameter je čo ktorý obsahuje kritériá vyhľadávania pozostávajúce z kľúčových slov a kvalifikátorov na obmedzenie vyhľadávania v konkrétnej oblasti v Github.
#dva) Vyhľadajte všetky úložiská vlastnené konkrétnym používateľom, ktorý obsahuje slová V a Niranjan v súbore README
zvlnenie -X ZÍSKAŤ https://api.github.com/search/repositories?q=V+Niranjan+in:readme+user: | grep -w meno
# 3) Vyhľadajte kľúčové slovo v obsahu súboru. V nasledujúcom príklade vyhľadajte kľúčové slová „Systém“ a „addEmployee“ v súbore v úložisku, ktoré vlastní používateľ.
zvlnenie -X ZÍSKAŤ https://api.github.com/search/code?q=System+addEmployee+in:file+language:java+repo:/ | grep -w meno
# 4) Vyhľadajte kľúčové slovo „vitajte“ v rámci otvorených čísel a označte ich ako vylepšenie.
zvlnenie -X ZÍSKAŤ https://api.github.com/search/issues?q=welcome+label:enhancement+state:open+repo:/
aký ide použiť pre python
# 5) Vyhľadajte kľúčové slovo „adresa“ v rámci uzavretých čísel a označte ich vylepšením.
zvlnenie -X ZÍSKAŤ https://api.github.com/search/issues?q=address+label:enhancement+state:closed+repo:/
Správy
# 1) Zoznam vydaní v úložisku podľa názvu značky a ID.
zvlnenie -X ZÍSKAŤ -u: https://api.github.com/repos///vydania | grep -w nazov znacky
zvlnenie -X ZÍSKAŤ -u: https://api.github.com/repos///vydania | grep -w id
#dva) Získajte podrobnosti o jednom vydaní.
zvlnenie -X ZÍSKAŤ -u: https://api.github.com/repos///vydania / | grep -w nazov znacky
zvlnenie -X ZÍSKAŤ -u: https://api.github.com/repos///vydania / | grep -w telo
zvlnenie -X ZÍSKAŤ -u: https://api.github.com/repos///vydania / | grep -w meno
# 3) Získajte podrobnosti o POSLEDNOM vydaní.
zvlnenie -X ZÍSKAŤ -u: https://api.github.com/repos///releases/latest | grep -w nazov znacky
zvlnenie -X ZÍSKAŤ -u: https://api.github.com/repos///releases/latest | grep -w meno
zvlnenie -X ZÍSKAŤ -u: https://api.github.com/repos///releases/latest | grep -w telo
# 4) Získajte podrobnosti o vydaní podľa značky.
zvlnenie -X ZÍSKAŤ -u: https://api.github.com/repos///releases/t ags / | grep -w meno
zvlnenie -X ZÍSKAŤ -u: https://api.github.com/repos///releases/t ags / | grep -w telo
# 5) Vytvorte vydanie.
curl -X POST -u: -d „{“ tag_name ': ' R3.0 ', ' target_commitish ': ' master ', ' name ': ' Vydanie 3.0 ', 'Body ': 'Toto je pre vydanie 3.0 produktu ', 'koncept ': 'false', 'predbežné vydanie': 'false'} ' https://api.github.com/repos//
Poznámka:V príkaze na vytvorenie vydania majú parametre „draft“ a „prerelease“ booleovské hodnoty. Zadajte true alebo false bez “.
- Hodnota konceptu false znamená, že je publikované vydanie vytvorené, a pre true ide o nezverejnené vydanie.
- Predbežné vydanie false znamená, že sa jedná o úplné vydanie. Skutočná hodnota znamená, že ide o predbežnú verziu.
# 6) Upravte alebo aktualizujte vydanie.
curl -X PATCH-u: -d „{“ tag_name ': ' R3.1 '}' https://api.github.com/repos//
# 7) Odstrániť vydanie.
zvlnenie -X DELETE-u: https://api.github.com/repos//
# 8) Zoznam prvkov pre vydanie.
zvlnenie -X DELETE-u: https://api.github.com/repos//
Záver
V tomto výučbe GITHub REST API sme videli, ako možno REST API použiť na rôzne akcie na získanie údajov GET, PUT, POST, PATCH, DELETE.
Adresa URL používaná pre REST API na priamu prácu s GitHub.com je https://api.github.com. Zatiaľ čo v prípade, že tímy používajú vo svojej organizácii podnik GitHub, potom by adresa URL použitá v rozhraní REST API bola https: /// api / v3
Všetky výukové programy v tejto sérii sa zatiaľ sústreďovali na využitie GitHubu z pohľadu vývojárov spolu s osvedčenými postupmi spolupráce pri práci v tíme pre riadenie verzií rôznych druhov artefaktov priamo na GitHube a nie lokálne.
Náš nadchádzajúci tutoriál sa zameria na to, ako bude vývojár pracovať offline v lokálnom úložisku klonovanom z GitHubu pomocou rozhraní klienta Git ako GitHub Desktop a TortoiseGit a posuňte zmeny späť do vzdialeného úložiska.
=> Navštívte tu a dozviete sa GitHub od nuly.
Odporúčané čítanie
- Výukový program Rest API: REST API Architecture and Constraints
- Kódy odozvy Rest API a typy žiadostí o odpočinok
- Výukový program GitHub pre vývojárov Ako používať GitHub
- Testovanie REST API s uhorkou pomocou prístupu BDD
- 10 najlepších nástrojov na testovanie API v roku 2021 (nástroje na testovanie SOAP a REST API)
- Testovanie REST API s pružinou RestTemplate a TestNG
- Ako automatizovať požiadavky API pomocou nástroja Assurance Rest a Jenkins
- Výukový program Parasoft SOAtest: Bezskriptový testovací nástroj API