Integrace

Kontrola pull requestů na GitHubu

Aktualizováno: 22. září 2026 Pro koho: vývojář Tarif: Enterprise

Změna v šabloně košíku projde code review, testy jsou zelené a o týden později chybí v reportu purchase. Kontrola pull requestů tohle přesouvá před merge: každý pull request přehrajeme na jeho preview prostředí stejnými cestami, jaké hlídáte na produkci, a výsledek zapíšeme do GitHubu jako check s názvem AnalyticsProof.

01 · GitHub pull request otevřen nový push znovu otevřen připraven k review 02 · adresa preview GitHub Deployments success · environment_url https://{branch}. preview.example.com 03 · přehrání cesty × N dry-run jen window.dataLayer nové vs. produkce cesta očekávaný stav jen čtení 04 · check AnalyticsProof prošlo neprošlo kritická změna neutrální
Pull request → adresa preview (z GitHub Deployments, nebo ze šablony) → přehrání všech aktivních cest v režimu dry-run → check. Uložený očekávaný stav se jen čte, nic se do něj nezapisuje. Červeně jen závěr, který blokuje: kritická změna v dataLayeru.

Co potřebujete

  • Projekt na plánu Enterprise a test webu nebo HbbTV aplikace s aspoň jednou nahranou cestou. Tlačítko „Připojit GitHub“ je na stránce testu. Propojení s GitHubem může měnit editor a výš, ostatní tlačítko vidí zašedlé.
  • Preview prostředí, které se pro pull request nasadí na vlastní adresu přes https. Může být za heslem nebo za IP allowlistem, obojí se nastaví ve třetím kroku.
  • Cesty nahrané v časovém pásmu země skenu. Když to nesedí, dialog cestu vyjmenuje a doporučí ji nahrát znovu, než kontrolu zapnete.

Nastavení má tři kroky: Repozitář, Preview URL a Přístup.

Krok 1: Repozitář

Klikněte na „Autorizovat GitHub“. V novém panelu povolíte na GitHubu přístup a my pak uvidíme repozitáře, které smíte měnit. Pokud aplikace AnalyticsProof ve vaší organizaci ještě není nainstalovaná, objeví se odkaz „Připojit AnalyticsProof App na GitHubu“. Při instalaci stačí zvolit „Only select repositories“ a zaškrtnout jen repozitář webu. Po návratu použijte „Obnovit repozitáře“ a vyberte repozitář v poli „Repozitář webu“.

Dialog Kontrola v pull requestech, krok Repozitář s vybraným repozitářem
Krok 1: repozitář webu. Jeden repozitář může být propojený jen s jedním testem.

Krok 2: Preview URL

V poli „Odkud vezmeme adresu preview“ jsou dvě možnosti.

Z GitHub Deployments. Hodí se, když váš hosting nebo pipeline zapisuje nasazení pull requestu do GitHubu. Čekáme na deployment commitu z pull requestu se stavem success a vyplněnou adresou prostředí (environment_url). Dokud se neobjeví, check ukazuje, že na adresu čeká. Když nepřijde do 10 min od spuštění checku, check skončí jako neutrální.

Ze šablony adresy. Hodí se, když má preview předvídatelnou adresu. Do šablony dáte zástupné symboly:

Zástupný symbol Dosadí se
{branch} Název větve malými písmeny, každý úsek jiných znaků nahradí pomlčka
{pr} Číslo pull requestu
{sha} Celý hash commitu
{sha7} Prvních sedm znaků hashe commitu

Pod polem hned vidíte ukázku, jak by adresa vypadala pro větev feature/checkout. Šablona musí vést na veřejnou doménu přes https://, bez čísla portu, bez jména a hesla v adrese a bez IP adresy. Lokální názvy (.local, .internal, .test, .example a podobné) dialog odmítne. Šablona bez zástupného symbolu projde, ale dialog upozorní, že by se každý pull request testoval na stejné adrese.

Krok Preview URL se šablonou adresy a ukázkou výsledné adresy
Krok 2: šablona adresy. Ukázka pod polem ukazuje adresu pro vzorovou větev.

Krok 3: Přístup

Heslo k preview. Pokud je preview za Basic auth, zaškrtněte „Preview vyžaduje jméno a heslo (Basic auth)“ a vyplňte údaje. Prohlížeč je pošle jen adrese preview, ne dalším službám na stránce. Heslo je uložené jako běžný text a editoři ho v dialogu vidí. Použijte proto samostatné přihlášení jen pro preview, ne osobní účet.

IP allowlist. V poli „Povolte naši IP“ je adresa, ze které skenujeme. Určuje ji země, kterou jste zvolili při vytvoření testu, a pod stejnou adresou běží i skeny pull requestů. Přidejte ji na allowlist preview prostředí.

„Ověřit a uložit“ nejdřív zkusí preview otevřít: DNS, TLS handshake, HTTP odpověď, vykreslení stránky a DataLayer. Uloží se, jen když ověření projde. Když selže, uvidíte, na kterém kroku a co s tím.

Žádný pull request v tu chvíli není, proto ověření použije výchozí větev repozitáře a její poslední commit. Do šablony dosadí název výchozí větve a {pr} vyplní nulou. Šablona postavená jen na čísle pull requestu tedy projde, jen pokud taková adresa existuje. U GitHub Deployments musí mít úspěšný deployment poslední commit výchozí větve. Když ho nemá, dialog nabídne „Uložit i tak“.

Po uložení je v dialogu „Spustit kontrolu“. Přehraje cesty na stejné adrese jako ověření a odkaz „Otevřít výsledky“ vede na výsledek v dashboardu. Je to nejrychlejší způsob, jak ověřit celé nastavení dřív, než ho uvidí kolegové na svém pull requestu.

Krok Přístup s vyplněným Basic auth, IP adresou a úspěšným ověřením
Krok 3: přístup k preview. Po uložení dialog ukáže výsledek ověření a nabídne zkušební kontrolu.

Co check hlásí

Kontrola běží, když pull request otevřete, pushnete do něj, znovu ho otevřete nebo ho označíte jako připravený k review. Rozpracovaný pull request (draft) dostane neutrální check a přehraje se, až bude připravený k review. Výsledek pro starší commit se nezapíše, pokud mezitím přišel novější push.

  • Přehrají se všechny aktivní cesty testu, každá od adresy preview. Běží v režimu dry-run: vzniknou rozdíly a výsledek pro check, ale do cesty ani do jejího očekávaného stavu se nic nezapíše. Víc o dry-runu je v referenci API.
  • Počítá se jen to, co web posílá přímo do window.dataLayer. Požadavky, které z toho dál posílají nástroje jako GA4, zůstávají v dashboardu. Za ty vývojář změnou webu přímo neodpovídá.
  • Posuzuje se jen to, co přinesl pull request. Rozdíly porovnáme s posledním produkčním skenem cesty. Komentář v pull requestu je rozdělí na „New in this PR“ a „Already on production“. Pokud produkce ještě skenovaná nebyla, bere se všechno jako nové.
  • Blokují jen kritické změny. Typicky je to událost, kterou očekávaný stav čeká a která v kroku chybí (pokud ji nemáte jako volitelnou). Nová událost, chybějící parametr nebo jiný typ parametru jsou varování: v komentáři je uvidíte, ale check kvůli nim nezčervená. Hodnoty parametrů neporovnáváme, jen jejich přítomnost a typ v JavaScriptu.
  • Neměřitelná cesta není zelená. Když se sken cesty nepovede nebo nic nezměří, check zčervená, i když žádnou změnu nenašel. Cesta, která nedojde do posledního kroku, je jen varování: nejspíš ji rozbila větší změna webu, ne tenhle pull request.

Text checku i komentáře je anglicky, i když máte dashboard česky. Čtou ho reviewři repozitáře a název checku musí zůstat stejný kvůli ochraně větve.

Povinný check

Až check poprvé projde, můžete ho v GitHubu nastavit jako povinný. V ochraně větve nebo v pravidlech repozitáře zapněte požadované status checky a vyberte AnalyticsProof. GitHub nabízí jen checky, které v repozitáři nedávno proběhly, proto to jde až po prvním běhu.

Počítejte s tím, že GitHub bere neutrální výsledek jako splněný. Pull request, pro který se preview nenašlo, draft nebo pull request, u kterého se nedala porovnat žádná cesta, tedy merge nezablokuje.

Když check nedělá, co čekáte

Titulek checku Co znamená Co s tím
AnalyticsProof — critical dataLayer change Některá cesta našla kritickou změnu, nebo se nedala změřit. V tabulce checku je u každé cesty stav. Detail je pod odkazem na výsledek.
AnalyticsProof — waiting for a preview URL Deployment s adresou zatím nepřišel, nebo adresu ze šablony nebylo možné použít. Zkontrolujte, že hosting zapisuje deployment ke commitu z pull requestu, nebo opravte šablonu.
AnalyticsProof — nothing measurable Nedala se porovnat ani jedna cesta, typicky proto, že žádná ještě nemá očekávaný stav. Jakmile jde porovnat aspoň jedna cesta, check je podle ní zelený nebo červený a ostatní cesty tabulka vypíše i s důvodem. Počkejte, až si cesty očekávaný stav vytvoří. Stav uvidíte u cesty v dashboardu.
AnalyticsProof — nothing to run Test nemá žádnou aktivní cestu. Nahrajte cestu nebo obnovte pozastavenou.
AnalyticsProof — could not run Chyba na naší straně. Check se zkusí znovu sám. Když zůstane, napište nám, opravíme to.
AnalyticsProof — Enterprise only Projekt není na plánu Enterprise. Kontrola pull requestů je součástí plánu Enterprise.
AnalyticsProof — not configured Aplikace je na repozitáři nainstalovaná, ale repozitář není propojený s žádným testem. Propojte ho v dialogu GitHubu na stránce testu, nebo repozitář z instalace aplikace odeberte.
AnalyticsProof — will run once the PR is ready for review Pull request je draft. Označte ho jako připravený k review, check se pak spustí sám.

Častý důvod červeného checku ale není v dataLayeru. Preview odmítne náš prohlížeč, protože chybí IP na allowlistu nebo nesedí heslo. Pusťte „Ověřit a uložit“ znovu, ukáže přesně, na kterém kroku přístup selhal.

Nepoužíváte GitHub, nebo chcete bránu poskládat po svém? Totéž umí API: postup popisuje návod CI/CD přes API, hotové recepty jsou v referenci pro CI.



Našli jste v návodu chybu, nebo vám v něm něco chybí? Napište nám

Všechny návody