github rest api tutorial rest api support github
GitHub REST API - rozhraní pro programovou interakci s GitHub:
V našich dřívějších tutoriálech na GitHubu prozkoumáme různé aspekty použití z pohledu vývojáře pomocí webového rozhraní.
Dnes se většina organizací zabývá možnostmi automatizace téměř ve všech oblastech a rozhraní REST API jsou užitečná pro automatizaci různých scénářů pro různé nástroje.
Samozřejmě mohou existovat i jiné oblasti, kde by bylo možné použít rozhraní REST API.
=> Navštivte zde exkluzivní sérii výukových kurzů GitHub .
Co se naučíte:
Integrace GITHub REST API
Rozhraní REST API (Reprezentativní přenos stavu) primárně používají požadavky HTTP k provádění následujících akcí.
- DOSTAT - Načíst zdroj
- PUT / PATCH - Aktualizujte zdroj
- POŠTA - Vytvořte zdroj
- VYMAZAT - Smazat zdroj
Nebudeme se ponořit do hloubky toho, jak funguje REST API, ale přeskočíme přímo na podporu REST API v GitHubu KUČERA příkaz k provádění většiny úkolů, které jsme viděli v našich předchozích cvičeních na GitHubu prostřednictvím rozhraní REST API.
Aktuální verze GitHub API je v3 a tento tutoriál zahrnuje nejdůležitější aktivity, které by vývojář potřeboval prostřednictvím těchto API.
Vytvoření osobního přístupového tokenu
Aby rozhraní REST API fungovala prostřednictvím příkazového řádku, musíme se ověřit na serveru GitHub. Proto musíme poskytnout naše pověření. Nechceme vystavit naše heslo použité s naším účtem GitHub, proto vygenerujeme osobní přístupový token, který bude použit s příkazovým řádkem k ověření na GitHubu.
Přihlaste se ke svému účtu GitHub a klikněte na Nastavení pod vaším profilem.
Jít do Nastavení vývojáře -> Tokeny osobního přístupu. Vygenerujte nový token.
Přidejte název, vyberte rozsah přístupu API a klikněte na Vytvořit token.
Na další obrazovce nezapomeňte zkopírovat token a uložit jej do souboru. Tento token se použije v příkazovém řádku pro přístup k GitHub API.
scénář otázky vedoucího týmu vedoucího rozhovoru
Vytvořený token lze také použít během git klon operace, když budete požádáni o heslo. Nyní, když máme token na místě, uvidíme, jak přistupovat k API z příkazového řádku pomocí programu CURL.
Předpokladem je, že si budete muset stáhnout a nainstalovat 'kučera' .
Úložiště
Zde zobrazené příklady rozhraní REST API jsou spuštěny na počítači se systémem Windows. Tato část představí některé operace úložiště GitHub.
# 1) Chcete-li zobrazit seznam veřejných úložišť pro uživatele, spusťte následující příkaz na jednom řádku.
curl -X GET -u: https://api.github.com/users//repos | grep -w clone_url
#dva) Seznam veřejných úložišť v organizaci.
curl -X GET -u: https://api.github.com/orgs//repos | grep -w clone_url
# 3) Vytvořte osobní úložiště.
zvlnění -X POST -u: https://api.github.com/user/repos -d „{“ name ”: ” Demo_Repo ”}”
Ve výše uvedeném názvu příkazu je parametr. Podívejme se na některé další parametry, které lze použít při vytváření osobních úložišť uživatelů.
zvlnění -X POST -u: https://api.github.com/user/repos -d '{' name ': ' Demo_Repo ', ' description ': ' Toto je první repo prostřednictvím API ', ' homepage ': ' https: //github.com ' , 'Public ': 'true ', 'has_issues ': 'true ', 'has_projects ': 'true ', 'has_wiki ': 'true '} '
Ve výše uvedeném příkazu jsou název, popis, domovská stránka, veřejné, has_projects, has_wiki všechny parametry, které mají hodnotu řetězce a jsou uzavřeny v '. Všimněte si také, že je mezera mezi: a
Například, public parametr činí repo public. Příkaz také umožňuje vytváření problémů, projektů a wiki.
# 4) Přejmenujte úložiště.
curl -X POST -u: -X PATCH -d “{” name ”: ” ”}” https://api.github.com/repos//
# 5) Aktualizujte has_wiki parametr v úložišti a nastavte hodnotu na false.
curl -u: -X PATCH -d '{' has_wiki ': ' false '}' https://api.github.com/repos/user-name/
# 6) Odstraňte úložiště.
curl -X DELETE -u: https://api.github.com/repos//
# 7) Vytvořte úložiště v organizaci.
zvlnění -X POST -u: https://api.github.com/orgs//repos “{” Name ”: ” Demo_Repo_In_Org ”, ” description ”: ” Toto je první repo v org prostřednictvím API ”, ” homepage ”: ” https: //github.com ” , 'Public ': 'true ', 'has_issues ': 'true ', 'has_projects ': 'true ', 'has_wiki ': 'true '} '
# 8) Seznam vidlic pro úložiště.
curl -X GET -u: https://api.github.com/repos/// vidličky | grep -w html_url
Výše uvedený příkaz zobrazí seznam adres URL pro procházení vidlicovým repo. Totéž lze vidět v úložišti uživatelů a „Karta Statistiky => Vidlice“ .
curl -X GET -u: https://api.github.com/repos/// vidličky | grep -w clone_url
Výše uvedený příkaz zobrazí seznam adres URL pro klonování vidlicového úložiště.
# 9) Vidlice úložiště v organizaci.
curl -X POST -u: -d „{“ organizace ”: ” ”}” https://api.github.com/repos/// vidličky
Spolupracovníci
# 1) Seznam spolupracovníků pro úložiště.
curl -X GET -u: https://api.github.com/repos/// spolupracovníci | grep -w přihlášení
#dva) Zkontrolujte, zda je uživatel v seznamu Spolupracovník.
curl -X GET -u: https://api.github.com/repos///collaborators/
Pokud je uživatel součástí spolupracovníka, potom se jako výstup nezobrazí žádný obsah, jinak se zobrazí následující zpráva.
{
„Message“: „není uživatel“,
„Documentation_url“: „https://developer.github.com/v3/repos/collaborators/#get“
}
# 3) Zkontrolujte oprávnění uživatele.
curl -X GET -u: https://api.github.com/repos///collaborators/
# 4) Přidejte uživatele jako spolupracovníka do úložiště.
zvlnění -X PUT -u: https://api.github.com/repos///collaborators/
Zveřejněte toto, pozvaný bude muset přijmout pozvání, aby se připojil jako spolupracovník. Pokud je uživatel již přidán jako spolupracovník, pak se nezobrazí žádný obsah, jinak se zobrazí výstup.
# 5) Odebrání uživatele jako spolupracovníka.
curl -X DELETE -u: https://api.github.com/repos///collaborators/
Po úspěšném spuštění příkazu se nezobrazí žádný obsah.
Organizace
Poznámka: Vytváření organizací neposkytuje rozhraní GitHub API.
# 1) Seznam všech účtů organizace pro uživatele.
curl -X GET -u: https://api.github.com/repos/user/orgs | grep -w přihlášení
#dva) Aktualizujte organizaci.
curl -X PATCH -u: -d '{' name ': ' TeamVN ', ' billing_email ': ' vniranjan72@outlook.com ', ' e-mail ': ' vniranjan72 @ outlook .com ', ' location ': ' Bangalore ', ' 'description ': 'Aktualizace podrobností organizace '} 'https://api.github.com/orgs/
Pobočky
# 1) Seznam větví v úložišti uživatelů. Příkaz zobrazí seznam všech větví v úložišti.
curl -X GET -u: https://api.github.com/repos///branches | grep -w jméno
#dva) Seznam všech chráněných větví v úložišti uživatelů.
curl -X GET -u: https://api.github.com/repos///branches ? protected = true | grep -w jméno
# 3) Seznam všech nechráněných větví v úložišti uživatelů
curl -X GET -u: https://api.github.com/repos///branches ? protected = false | grep -w jméno
# 4) Odstraňte ochranu větve.
curl -X DELETE -u: https://api.github.com/repos///branches/master/protection
Žádosti o natažení
# 1) Seznam požadavků na vyžádání.
curl -X GET -u: https://api.github.com/repos///pulls?state=open | grep -w název
Možnosti parametru stavu jsou Otevřeno, Zavřeno, Vše.
#dva) Vytvořte požadavek Pull.
curl -X POST -u: -d '{' title ': ' Byla přidána skvělá funkce ', ' body ': ' Prosím, stáhněte velkou změnu provedenou v hlavní větvi ', ' head ”: ” Feature ”, ” base ”: ” master ”}” https://api.github.com/repos///pulls
# 3) Uveďte počet vytvořených požadavků na vyžádání.
curl -X GET -u: https://api.github.com/repos///pulls?state=open | grep -w číslo
# 4) Aktualizujte text požadavku Pull nebo jakýkoli jiný parametr (maximálně 250 potvrzení).
curl -X PATCH -u: -d '{' body ': ' Povinné k provedení velké změny provedené ve větvi funkcí do hlavní větve '}' https://api.github.com/repos///pulls / 31
# 5) Seznam Potvrdit požadavek na vytažení.
curl -X GET -u: https://api.github.com/repos///pulls/31/commits
# 6) Seznam souborů vyžádaných žádostí (maximálně 300 souborů).
curl -X GET -u: https://api.github.com/repos///pulls/31/files | grep -w název souboru
# 7) Sloučit požadavek na vytažení.
curl -X PUT -u: -d '{' commit_message ': ' Good Commit '}' https://api.github.com/repos///pulls/31 /jít
Odpověď při sloučení
{
'Sha': 'e5db2ce465f48ada4adfb571cca2d6cb859a53c6',
„Merged“: true,
„Message“: „Požadavek na vyžádání úspěšně sloučen“
}
Odpověď, pokud nelze požadavek na sloučení sloučit
{
“Message”: “Žádost o vyžádání nelze sloučit”,
„Documentation_url“: „https://developer.github.com/v3/pulls/#merge-a-pull-request-merge-button“
}
Štítky, milníky a problémy
Štítky
# 1) Seznam všech štítků v úložišti.
curl -X GET -u: https://api.github.com/repos///štítky | grep -w jméno
#dva) Seznam konkrétního štítku v úložišti.
curl -X GET -u: https://api.github.com/repos///štítky / Chyba
# 3) Chcete-li vytvořit štítek.
curl -X POST -u: -d '{' name ': ' defect ', ' description ': ' Chcete-li zvýšit defekt ', ' color ': ' ff493b '}' https://api.github.com/repos///štítky
Hexadecimální barevný kód pro barva parametr lze nastavit z Barva hex
# 4) Aktualizovat štítek
curl -X PATCH -u: -d '{' color ': ' 255b89 '}' https://api.github.com/repos///štítky /přeběhnout
# 5) Smazat štítek
curl -X DELETE -u: https://api.github.com/repos/vniranjan1972/Demo_Project_Repo_VN/labels/defect
Problémy
# 6) Uveďte konkrétní problém v úložišti.
curl -X GET -u: https://api.github.com/repos///issues/20 | grep -w název
# 7) Seznam všech problémů v úložišti.
curl -X GET -u: https://api.github.com/repos///vydání | grep -w název
# 8) Vytvořte problém.
curl -X POST -u: -d '{' title ': ' Nová uvítací stránka ', ' body ': ' Navrhnout novou stránku ', ' štítky ': (' vylepšení '), ' milník ': ' 3 ', ' postupníci ': (' ', '
Ve výše uvedeném příkazu štítky a postupníci parametry jsou pole řetězců, kde lze zadat více hodnot. Stát parametr bude mít hodnotu buď otevřené nebo zavřené.
# 9) Přidejte k problému štítek.
curl -X POST -u: -d „{“ štítky ”: (“ vylepšení ”)}” https://api.github.com/repos///vydání / 30 / štítky
# 10) Upravte problém a aktualizujte parametry Např, Štítky k tomu.
curl -X PATCH -u: -d „{“ štítky “: (“ chyba ”, “ vylepšení ”)}” https://api.github.com/repos///vydání / 30
Ve výše uvedeném příkazu aktualizujte štítky čísla 30.
#jedenáct) Odebrat štítek z konkrétního problému.
curl -X DELETE -u: https://api.github.com/repos///issues/30/labels/bug
# 12) Odeberte VŠECHNY štítky z konkrétního problému.
curl -X DELETE -u: https://api.github.com/repos///issues/30/labels
Milníky
# 13) Seznam všech milníků.
curl -X ZÍSKAT -u: -d „{“ stav “: (“ otevřít ”)}” https://api.github.com/repos///milestones | grep -w název
# 14) Seznam podrobností o konkrétním milníku.
curl -X GET -u: https://api.github.com/repos///milestones / 1 | grep -w název
#patnáct) Vytvořte milník.
curl -X POST -u: -d '{' title ': ' R5 ', ' stav ': ' otevřít ', ' popis ': ' Sledovat milník R5 ', 'Due_on ': '2019-12-05T17: 00: 01Z '} ' https://api.github.com/repos///milestones
Ve výše uvedeném příkazu splatné je časové razítko ISO 8601 v RRRR-MM-DDTHH: MM: SSZ formát. Více o tom najdete @ ISO 8601
# 16) Aktualizujte milník.
curl -X PATCH -u: -d '{' stav ': ' zavřeno '}' https://api.github.com/repos///milestones / 3
# 17) Odstranit milník.
curl -X DELETE -u: https://api.github.com/repos///milestones / 3
Týmy
# 1) Seznam týmů v organizaci.
curl -X GET -u: https://api.github.com/orgs//teams | grep -w jméno
Seznam podle ID týmu
curl -X GET -u: https://api.github.com/orgs//teams | grep -w id
#dva) Seznam týmů podle uživatelů.
curl -X GET -u: https://api.github.com/user/teams | grep -w jméno
# 3) Vytvořte tým, přidejte členy a přidejte do týmu úložiště.
curl -X POST -u: -d '{' name ': ' ', ' description ': ' Zadejte krátký popis ', ' udržovatelé ': (' '), ”Repo_names ”: ( ”/ ”)} ” https://api.github.com/orgs/Demo-Proj-Org/teams
# 4) Upravit název a popis týmu.
curl -X PATCH -u: -d '{' name ': ' New Team Name ', ' description ': ' Poslední popis '}' https://api.github.com/teams/
ID týmu lze získat spuštěním příkazu z kroku 1.
# 5) Přidat úložiště do existujícího týmu.
zvlnění -X PUT -u: https://api.github.com/teams//repos//
# 6) Odebrat úložiště z týmu.
curl -X DELETE -u: https://api.github.com/teams/
# 7) Smazat tým.
curl -X DELETE -u: https://api.github.com/teams/
Hledat v úložištích, kódu, problémech
Rozhraní API pro vyhledávání umožňuje vyhledat libovolnou položku.
# 1) Například, pokud chcete prohledat všechna úložiště vlastněná konkrétním uživatelem.
zvlnění -X ZÍSKAT https://api.github.com/search/repositories?q=user: | grep -w „jméno“
Požadovaný parametr je co , který obsahuje vyhledávací kritéria skládající se z klíčových slov a kvalifikátorů omezujících vyhledávání v konkrétní oblasti v Githubu.
#dva) Prohledat všechna úložiště vlastněná konkrétním uživatelem, která obsahuje slova V a Niranjan v souboru README
zvlnění -X ZÍSKAT https://api.github.com/search/repositories?q=V+Niranjan+in:readme+user: | grep -w jméno
# 3) Vyhledejte klíčové slovo v obsahu souboru. V níže uvedeném příkladu vyhledejte klíčová slova „Systém“ a „addEmployee“ v souboru v úložišti vlastněném uživatelem.
zvlnění -X ZÍSKAT https://api.github.com/search/code?q=System+addEmployee+in:file+language:java+repo:/ | grep -w jméno
# 4) Vyhledejte klíčové slovo „vítejte“ v rámci otevřených čísel a označte je jako vylepšení.
zvlnění -X ZÍSKAT https://api.github.com/search/issues?q=welcome+label:enhancement+state:open+repo:/
# 5) Vyhledejte klíčové slovo „adresa“ v rámci uzavřených čísel a označte je jako vylepšení.
zvlnění -X ZÍSKAT https://api.github.com/search/issues?q=address+label:enhancement+state:closed+repo:/
Zprávy
# 1) Seznam vydání v úložišti podle názvu značky a ID.
curl -X GET -u: https://api.github.com/repos///vydání | grep -w název_značky
curl -X GET -u: https://api.github.com/repos///vydání | grep -w id
zásobník datové struktury c ++
#dva) Získejte podrobnosti o jednom vydání.
curl -X GET -u: https://api.github.com/repos///vydání / | grep -w název_značky
curl -X GET -u: https://api.github.com/repos///vydání / | grep -w tělo
curl -X GET -u: https://api.github.com/repos///vydání / | grep -w jméno
# 3) Získejte podrobnosti o NEJNOVĚJŠÍ verzi.
curl -X GET -u: https://api.github.com/repos///releases/latest | grep -w název_značky
curl -X GET -u: https://api.github.com/repos///releases/latest | grep -w jméno
curl -X GET -u: https://api.github.com/repos///releases/latest | grep -w tělo
# 4) Získejte podrobnosti o vydání podle značky.
curl -X GET -u: https://api.github.com/repos///releases/t ags / | grep -w jméno
curl -X GET -u: https://api.github.com/repos///releases/t ags / | grep -w tělo
# 5) Vytvořte vydání.
curl -X POST -u: -d “{” tag_name “: “ R3.0 ”, “ target_commitish ”: “ master ”, “ name ”: “ Release 3.0 ”, 'Body ': 'Toto je pro verzi 3.0 produktu ', 'koncept ': 'false', 'předběžné vydání ': 'false'} ' https://api.github.com/repos//
Poznámka:V příkazu k vytvoření vydání přebírají parametry „draft“ a „prerelease“ booleovské hodnoty. Zadejte true nebo false bez “.
- Hodnota konceptu false znamená, že je publikované vydání vytvořeno, a pro true je to nezveřejněné vydání.
- Předběžné vydání false znamená, že se jedná o úplné vydání. Skutečná hodnota znamená, že se jedná o předprodej.
# 6) Upravte nebo aktualizujte vydání.
curl -X PATCH-u: -d „{“ tag_name “: „ R3.1 “}“ https://api.github.com/repos//
# 7) Odstranit vydání.
zvlnění -X DELETE-u: https://api.github.com/repos//
# 8) Seznam aktiv pro vydání.
zvlnění -X DELETE-u: https://api.github.com/repos//
Závěr
V tomto výukovém programu REST API v GitHubu jsme viděli, jak lze REST API použít pro různé akce pro GET, PUT, POST, PATCH, DELETE dat.
Adresa URL používaná pro rozhraní REST API pro přímou práci s GitHub.com je https://api.github.com. Vzhledem k tomu, že pokud týmy používají GitHub Enterprise ve své organizaci, pak by URL pro použití s REST API byla https: /// api / v3
Všechny výukové programy v této sérii se zatím soustředily na využití GitHubu z pohledu vývojáře spolu s osvědčenými postupy spolupráce při práci v týmu pro řízení verzí různých typů artefaktů přímo na GitHubu a ne lokálně.
Náš nadcházející výukový program se zaměří na to, jak bude vývojář pracovat offline v místním úložišti klonovaném z GitHubu pomocí rozhraní Git Client, jako je GitHub Desktop a TortoiseGit a posuňte změny zpět do vzdáleného úložiště.
=> Navštivte zde a dozvíte se GitHub od nuly.
Doporučené čtení
- Výukový program REST API: REST API Architecture And Constraints
- Kódy odezvy REST API a typy žádostí o odpočinek
- Výukový program GitHub pro vývojáře Jak používat GitHub
- Testování REST API s okurkou pomocí přístupu BDD
- 10 nejlepších nástrojů pro testování API v roce 2021 (nástroje pro testování API SOAP a REST)
- Testování REST API s Spring RestTemplate a TestNG
- Jak automatizovat požadavky API pomocí klidného a Jenkinse
- Výukový program Parasoft SOAtest: Nástroj pro testování API bez skriptů