CINXE.COM
Quick Start
<!DOCTYPE html><html lang="en" style="" data-color-mode="system" class=" useReactApp "><head><meta charset="utf-8"><meta name="readme-deploy" content="5.311.1"><meta name="readme-subdomain" content="codecov"><meta name="readme-version" content="2023"><title>Quick Start</title><meta name="description" content="A quick start guide for those that are brand new to Codecov."><meta property="og:title" content="Codecov Documentation"><meta property="og:description" content="A quick start guide for those that are brand new to Codecov."><meta property="og:site_name" content="Codecov"><meta name="twitter:title" content="Codecov Documentation"><meta name="twitter:description" content="A quick start guide for those that are brand new to Codecov."><meta name="twitter:card" content="summary_large_image"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta property="og:image" content="https://files.readme.io/5affb88-codecov.svg"><meta name="twitter:image" content="https://files.readme.io/5affb88-codecov.svg"><link id="favicon" rel="shortcut icon" href="https://files.readme.io/f743cbc-small-Codecov_Mark_Circle_Pink.png" type="image/png"><link rel="canonical" href="https://docs.codecov.com/docs/quick-start"><script src="https://cdn.readme.io/public/js/cash-dom.min.js?1742594407869"></script><link data-chunk="List" rel="preload" as="style" href="https://cdn.readme.io/public/hub/web/List.0b0b64406047e2a3670a.css"> <link data-chunk="routes-Changelog" rel="preload" as="style" href="https://cdn.readme.io/public/hub/web/routes-Changelog.28957affcff81e852361.css"> <link data-chunk="routes-SuperHub-Routes" rel="preload" as="style" href="https://cdn.readme.io/public/hub/web/routes-SuperHub-Routes.121e43a311e7e40b8656.css"> <link data-chunk="CustomPage" rel="preload" as="style" href="https://cdn.readme.io/public/hub/web/CustomPage.38a39d6ce8b0e2afad5a.css"> <link data-chunk="Editor" rel="preload" as="style" href="https://cdn.readme.io/public/hub/web/Editor.23606d783f007047768a.css"> <link data-chunk="routes-Landing" rel="preload" as="style" href="https://cdn.readme.io/public/hub/web/routes-Landing.332d7eed7b2d976c458e.css"> <link data-chunk="routes-Reference" rel="preload" as="style" href="https://cdn.readme.io/public/hub/web/routes-Reference.883d037c9b5898d42a5d.css"> <link data-chunk="routes-Doc" rel="preload" as="style" href="https://cdn.readme.io/public/hub/web/routes-Doc.0ab6d6e327e2be33020a.css"> <link data-chunk="Footer" rel="preload" as="style" href="https://cdn.readme.io/public/hub/web/Footer.7ca87f1efe735da787ba.css"> <link data-chunk="routes-PageNotFound" rel="preload" as="style" href="https://cdn.readme.io/public/hub/web/routes-PageNotFound.d8afd1171cf7a455eed7.css"> <link data-chunk="Header" rel="preload" as="style" href="https://cdn.readme.io/public/hub/web/Header.4c8c34bca506869e518a.css"> <link data-chunk="routes-SuperHub" rel="preload" as="style" href="https://cdn.readme.io/public/hub/web/routes-SuperHub.99a5d42d4a6e4f0fafbc.css"> <link data-chunk="routes-SuperHub" rel="preload" as="style" href="https://cdn.readme.io/public/hub/web/7188.75e3fc491ee8103c63a3.css"> <link data-chunk="routes-SuperHub" rel="preload" as="style" href="https://cdn.readme.io/public/hub/web/2395.593cd7b6ba0bdb6787a8.css"> <link data-chunk="main" rel="preload" as="style" href="https://cdn.readme.io/public/hub/web/main.4c43266695a6f2b7b2bf.css"> <link data-chunk="main" rel="preload" as="style" href="https://cdn.readme.io/public/hub/web/ui-styles.fabafc9dbb50aa8c5ad2.css"> <link data-chunk="main" rel="preload" as="script" href="https://cdn.readme.io/public/hub/web/main.b27df384fec525ca9bac.js"> <link data-chunk="routes-SuperHub" rel="preload" as="script" href="https://cdn.readme.io/public/hub/web/6601.cef2fa12a9b5e2b9df03.js"> <link data-chunk="routes-SuperHub" rel="preload" as="script" href="https://cdn.readme.io/public/hub/web/1802.00a1e88cc0d9da2aae1b.js"> <link data-chunk="routes-SuperHub" rel="preload" as="script" href="https://cdn.readme.io/public/hub/web/6563.fbd3d15eee3b5e94f665.js"> <link data-chunk="routes-SuperHub" rel="preload" as="script" href="https://cdn.readme.io/public/hub/web/9772.2b0a744b76cb77e0dced.js"> <link data-chunk="routes-SuperHub" rel="preload" as="script" href="https://cdn.readme.io/public/hub/web/4904.1067704c85da57778e22.js"> <link data-chunk="routes-SuperHub" rel="preload" as="script" href="https://cdn.readme.io/public/hub/web/7449.dae0332305a8704415a6.js"> <link data-chunk="routes-SuperHub" rel="preload" as="script" href="https://cdn.readme.io/public/hub/web/7372.fbd27ab77e6e47de9931.js"> <link data-chunk="routes-SuperHub" rel="preload" as="script" href="https://cdn.readme.io/public/hub/web/2249.cb1f4fb7d2cce2c5e425.js"> <link data-chunk="routes-SuperHub" rel="preload" as="script" href="https://cdn.readme.io/public/hub/web/5382.f3d48dea01a7ee0548c9.js"> <link data-chunk="routes-SuperHub" rel="preload" as="script" href="https://cdn.readme.io/public/hub/web/734.2949e3d7010fa5c21ffd.js"> <link data-chunk="routes-SuperHub" rel="preload" as="script" href="https://cdn.readme.io/public/hub/web/954.53ce7f86793664155f78.js"> <link data-chunk="routes-SuperHub" rel="preload" as="script" href="https://cdn.readme.io/public/hub/web/6903.75b9333e2c99d6924d0e.js"> <link data-chunk="routes-SuperHub" rel="preload" as="script" href="https://cdn.readme.io/public/hub/web/2395.0e49c51ab8d22525f6ff.js"> <link data-chunk="routes-SuperHub" rel="preload" as="script" href="https://cdn.readme.io/public/hub/web/8161.a15ebcbf0b5b4748c0fd.js"> <link data-chunk="routes-SuperHub" rel="preload" as="script" href="https://cdn.readme.io/public/hub/web/1008.828e1c3ad92702b30f8b.js"> <link data-chunk="routes-SuperHub" rel="preload" as="script" href="https://cdn.readme.io/public/hub/web/7188.006f6f7e3184fb873f71.js"> <link data-chunk="routes-SuperHub" rel="preload" as="script" href="https://cdn.readme.io/public/hub/web/5753.19245c7129f056485c33.js"> <link data-chunk="routes-SuperHub" rel="preload" as="script" href="https://cdn.readme.io/public/hub/web/routes-SuperHub.80f0348ff5861a413a46.js"> <link data-chunk="Header" rel="preload" as="script" href="https://cdn.readme.io/public/hub/web/3901.9a23139e8c32bd6a1186.js"> <link data-chunk="Header" rel="preload" as="script" href="https://cdn.readme.io/public/hub/web/7783.4d5a6e419a35233ebd3c.js"> <link data-chunk="Header" rel="preload" as="script" href="https://cdn.readme.io/public/hub/web/Header.e076d4e6ea766318a213.js"> <link data-chunk="routes-PageNotFound" rel="preload" as="script" href="https://cdn.readme.io/public/hub/web/routes-PageNotFound.7f382f4941474998a761.js"> <link data-chunk="Footer" rel="preload" as="script" href="https://cdn.readme.io/public/hub/web/Footer.f3a023593089686064a9.js"> <link data-chunk="core-icons-chevron-up-down-svg" rel="preload" as="script" href="https://cdn.readme.io/public/hub/web/core-icons-chevron-up-down-svg.6aae957df71e6f4c5e24.js"> <link data-chunk="routes-Doc" rel="preload" as="script" href="https://cdn.readme.io/public/hub/web/4287.916cdd386055d2c5d238.js"> <link data-chunk="routes-Doc" rel="preload" as="script" href="https://cdn.readme.io/public/hub/web/4201.ae4918ddf0595a4bfca6.js"> <link data-chunk="routes-Doc" rel="preload" as="script" href="https://cdn.readme.io/public/hub/web/routes-Doc.a69d1038565eec3baddc.js"> <link data-chunk="core-icons-arrow-up-right-svg" rel="preload" as="script" href="https://cdn.readme.io/public/hub/web/core-icons-arrow-up-right-svg.8ec73f7e322d79a2695b.js"> <link data-chunk="routes-Reference" rel="preload" as="script" href="https://cdn.readme.io/public/hub/web/5948.a51402657e2eb40ab43b.js"> <link data-chunk="routes-Reference" rel="preload" as="script" href="https://cdn.readme.io/public/hub/web/8230.69318b242a05e8e74cd8.js"> <link data-chunk="routes-Reference" rel="preload" as="script" href="https://cdn.readme.io/public/hub/web/routes-Reference.52b5b8c183631200e8bc.js"> <link data-chunk="core-icons-alert-circle-svg" rel="preload" as="script" href="https://cdn.readme.io/public/hub/web/core-icons-alert-circle-svg.4cee8264c97045599b56.js"> <link data-chunk="routes-Landing" rel="preload" as="script" href="https://cdn.readme.io/public/hub/web/6591.ebe74884cadb175806e0.js"> <link data-chunk="routes-Landing" rel="preload" as="script" href="https://cdn.readme.io/public/hub/web/routes-Landing.55eccb79070682a90c02.js"> <link data-chunk="Editor" rel="preload" as="script" href="https://cdn.readme.io/public/hub/web/Editor.778b5192afd13371d8ec.js"> <link data-chunk="core-icons-x-circle-svg" rel="preload" as="script" href="https://cdn.readme.io/public/hub/web/core-icons-x-circle-svg.abc0e0ea5b7f9dff667c.js"> <link data-chunk="core-icons-suggested-edits-svg" rel="preload" as="script" href="https://cdn.readme.io/public/hub/web/core-icons-suggested-edits-svg.8d2d8ac2fd22ded9238d.js"> <link data-chunk="core-icons-more-vertical-svg" rel="preload" as="script" href="https://cdn.readme.io/public/hub/web/core-icons-more-vertical-svg.4822b3f831e11095980d.js"> <link data-chunk="CustomPage" rel="preload" as="script" href="https://cdn.readme.io/public/hub/web/3457.54b5f96a07aafc769550.js"> <link data-chunk="CustomPage" rel="preload" as="script" href="https://cdn.readme.io/public/hub/web/2859.dc9d7bf83dcb38e2167f.js"> <link data-chunk="core-icons-arrow-right-svg" rel="preload" as="script" href="https://cdn.readme.io/public/hub/web/core-icons-arrow-right-svg.eadb74658f93b4e7d75f.js"> <link data-chunk="core-icons-search-svg" rel="preload" as="script" href="https://cdn.readme.io/public/hub/web/core-icons-search-svg.ad9cac962958d30983a7.js"> <link data-chunk="core-icons-custom-pages-svg" rel="preload" as="script" href="https://cdn.readme.io/public/hub/web/core-icons-custom-pages-svg.444e514638d9afbec182.js"> <link data-chunk="core-icons-lock-svg" rel="preload" as="script" href="https://cdn.readme.io/public/hub/web/core-icons-lock-svg.70942d3ee6bad6267696.js"> <link data-chunk="routes-SuperHub-Routes" rel="preload" as="script" href="https://cdn.readme.io/public/hub/web/7717.c3f46aef4dac129abcfb.js"> <link data-chunk="routes-SuperHub-Routes" rel="preload" as="script" href="https://cdn.readme.io/public/hub/web/5359.fb0c48929b1827a8a2b2.js"> <link data-chunk="routes-SuperHub-Routes" rel="preload" as="script" href="https://cdn.readme.io/public/hub/web/routes-SuperHub-Routes.f7a42c9e7ca76978c49b.js"> <link data-chunk="RMDX" rel="preload" as="script" href="https://cdn.readme.io/public/hub/web/RMDX.6966846032c03969e44f.js"> <link data-chunk="routes-Changelog" rel="preload" as="script" href="https://cdn.readme.io/public/hub/web/routes-Changelog.c2ef3ef5eb8f547c5186.js"> <link data-chunk="List" rel="preload" as="script" href="https://cdn.readme.io/public/hub/web/2637.910d32e664cf986b636e.js"> <link data-chunk="List" rel="preload" as="script" href="https://cdn.readme.io/public/hub/web/4674.b77d8e6ddbdaef99bf47.js"> <link data-chunk="List" rel="preload" as="script" href="https://cdn.readme.io/public/hub/web/List.ff2cf58cdb1ec8d5703f.js"> <link data-chunk="main" rel="stylesheet" href="https://cdn.readme.io/public/hub/web/ui-styles.fabafc9dbb50aa8c5ad2.css"> <link data-chunk="main" rel="stylesheet" href="https://cdn.readme.io/public/hub/web/main.4c43266695a6f2b7b2bf.css"> <link data-chunk="routes-SuperHub" rel="stylesheet" href="https://cdn.readme.io/public/hub/web/2395.593cd7b6ba0bdb6787a8.css"> <link data-chunk="routes-SuperHub" rel="stylesheet" href="https://cdn.readme.io/public/hub/web/7188.75e3fc491ee8103c63a3.css"> <link data-chunk="routes-SuperHub" rel="stylesheet" href="https://cdn.readme.io/public/hub/web/routes-SuperHub.99a5d42d4a6e4f0fafbc.css"> <link data-chunk="Header" rel="stylesheet" href="https://cdn.readme.io/public/hub/web/Header.4c8c34bca506869e518a.css"> <link data-chunk="routes-PageNotFound" rel="stylesheet" href="https://cdn.readme.io/public/hub/web/routes-PageNotFound.d8afd1171cf7a455eed7.css"> <link data-chunk="Footer" rel="stylesheet" href="https://cdn.readme.io/public/hub/web/Footer.7ca87f1efe735da787ba.css"> <link data-chunk="routes-Doc" rel="stylesheet" href="https://cdn.readme.io/public/hub/web/routes-Doc.0ab6d6e327e2be33020a.css"> <link data-chunk="routes-Reference" rel="stylesheet" href="https://cdn.readme.io/public/hub/web/routes-Reference.883d037c9b5898d42a5d.css"> <link data-chunk="routes-Landing" rel="stylesheet" href="https://cdn.readme.io/public/hub/web/routes-Landing.332d7eed7b2d976c458e.css"> <link data-chunk="Editor" rel="stylesheet" href="https://cdn.readme.io/public/hub/web/Editor.23606d783f007047768a.css"> <link data-chunk="CustomPage" rel="stylesheet" href="https://cdn.readme.io/public/hub/web/CustomPage.38a39d6ce8b0e2afad5a.css"> <link data-chunk="routes-SuperHub-Routes" rel="stylesheet" href="https://cdn.readme.io/public/hub/web/routes-SuperHub-Routes.121e43a311e7e40b8656.css"> <link data-chunk="routes-Changelog" rel="stylesheet" href="https://cdn.readme.io/public/hub/web/routes-Changelog.28957affcff81e852361.css"> <link data-chunk="List" rel="stylesheet" href="https://cdn.readme.io/public/hub/web/List.0b0b64406047e2a3670a.css"><!-- CUSTOM CSS--><style title="rm-custom-css">:root{--project-color-primary:#F01F7A;--project-color-inverse:#fff;--recipe-button-color:#5bb3f2;--recipe-button-color-hover:#1184d6;--recipe-button-color-active:#0d67a7;--recipe-button-color-focus:rgba(91, 179, 242, 0.25);--recipe-button-color-disabled:#ffffff}[id=enterprise] .ReadMeUI[is=AlgoliaSearch]{--project-color-primary:#F01F7A;--project-color-inverse:#fff}a{color:var(--color-link-primary,#5bb3f2)}a:hover{color:var(--color-link-primary-darken-5,#1184d6)}a.text-muted:hover{color:var(--color-link-primary,#5bb3f2)}.btn.btn-primary{background-color:#5bb3f2}.btn.btn-primary:hover{background-color:#1184d6}.theme-line #hub-landing-top h2{color:#5bb3f2}#hub-landing-top .btn:hover{color:#5bb3f2}.theme-line #hub-landing-top .btn:hover{color:#fff}.theme-solid header#hub-header #header-top{background-color:#f01f7a}.theme-solid.header-gradient header#hub-header #header-top{background:linear-gradient(to bottom,#f01f7a,#38591e)}.theme-solid.header-custom header#hub-header #header-top{background-image:url(undefined)}.theme-line header#hub-header #header-top{border-bottom-color:#f01f7a}.theme-line header#hub-header #header-top .btn{background-color:#f01f7a}header#hub-header #header-top #header-logo{width:40px;height:40px;margin-top:0;background-image:url(https://files.readme.io/5affb88-codecov.svg)}#hub-subheader-parent #hub-subheader .hub-subheader-breadcrumbs .dropdown-menu a:hover{background-color:#f01f7a}#subheader-links a.active{color:#f01f7a!important;box-shadow:inset 0 -2px 0 #f01f7a}#subheader-links a:hover{color:#f01f7a!important;box-shadow:inset 0 -2px 0 #f01f7a;opacity:.7}.discussion .submit-vote.submit-vote-parent.voted a.submit-vote-button{background-color:#5bb3f2}section#hub-discuss .discussion a .discuss-body h4{color:#5bb3f2}section#hub-discuss .discussion a:hover .discuss-body h4{color:#1184d6}#hub-subheader-parent #hub-subheader.sticky-header.sticky{border-bottom-color:#5bb3f2}#hub-subheader-parent #hub-subheader.sticky-header.sticky .search-box{border-bottom-color:#5bb3f2}#hub-search-results h3 em{color:#5bb3f2}.main_background,.tag-item{background:#5bb3f2!important}.main_background:hover{background:#1184d6!important}.main_color{color:#f01f7a!important}.border_bottom_main_color{border-bottom:2px solid #f01f7a}.main_color_hover:hover{color:#f01f7a!important}section#hub-discuss h1{color:#5bb3f2}#hub-reference .hub-api .api-definition .api-try-it-out.active{border-color:#5bb3f2;background-color:#5bb3f2}#hub-reference .hub-api .api-definition .api-try-it-out.active:hover{background-color:#1184d6;border-color:#1184d6}#hub-reference .hub-api .api-definition .api-try-it-out:hover{border-color:#5bb3f2;color:#5bb3f2}#hub-reference .hub-reference .logs .logs-empty .logs-login-button,#hub-reference .hub-reference .logs .logs-login .logs-login-button{background-color:var(--project-color-primary,#5bb3f2);border-color:var(--project-color-primary,#5bb3f2)}#hub-reference .hub-reference .logs .logs-empty .logs-login-button:hover,#hub-reference .hub-reference .logs .logs-login .logs-login-button:hover{background-color:#1184d6;border-color:#1184d6}#hub-reference .hub-reference .logs .logs-empty>svg>path,#hub-reference .hub-reference .logs .logs-login>svg>path{fill:#5bb3f2;fill:var(--project-color-primary,#5bb3f2)}#hub-reference .hub-reference .logs:last-child .logs-empty,#hub-reference .hub-reference .logs:last-child .logs-login{margin-bottom:35px}#hub-reference .hub-reference .hub-reference-section .hub-reference-left header .hub-reference-edit:hover{color:#5bb3f2}.main-color-accent{border-bottom:3px solid #f01f7a;padding-bottom:8px}/*! BEGIN HUB_CUSTOM_STYLES */.theme-solid header#hub-header #header-top{background-color:#0f1b29!important}.suggestEdits::before{content:"🤓"}.suggestEdits::after{content:"🤓"}.suggestEdits{display:flex;flex-direction:row;justify-content:center;font-size:16px!important}code{background:#eee;padding:2px 5px}pre>code{background:inherit;padding:0}div.PageThumbs-helpful{font-size:20px}.markdown-body.markdown-body.markdown-body strong{font-weight:700!important}/*! END HUB_CUSTOM_STYLES */</style><meta name="loadedProject" content="codecov"><script>var storedColorMode = `system` === 'system' ? window.localStorage.getItem('color-scheme') : `system` document.querySelector('[data-color-mode]').setAttribute('data-color-mode', storedColorMode)</script><script id="config" type="application/json" data-json="{"algoliaIndex":"readme_search_v2","amplitude":{"apiKey":"dc8065a65ef83d6ad23e37aaf014fc84","enabled":true},"asset_url":"https://cdn.readme.io","domain":"readme.io","domainFull":"https://dash.readme.com","encryptedLocalStorageKey":"ekfls-2025-03","fullstory":{"enabled":true,"orgId":"FSV9A"},"metrics":{"billingCronEnabled":"true","dashUrl":"https://m.readme.io","defaultUrl":"https://m.readme.io","exportMaxRetries":12,"wsUrl":"wss://m.readme.io"},"proxyUrl":"https://try.readme.io","readmeRecaptchaSiteKey":"6LesVBYpAAAAAESOCHOyo2kF9SZXPVb54Nwf3i2x","releaseVersion":"5.311.1","sentry":{"dsn":"https://3bbe57a973254129bcb93e47dc0cc46f@o343074.ingest.sentry.io/2052166","enabled":true,"tracesSampleRate":0},"shMigration":{"promoVideo":"","forceWaitlist":false},"sslBaseDomain":"readmessl.com","sslGenerationService":"ssl.readmessl.com","stripePk":"pk_live_5103PML2qXbDukVh7GDAkQoR4NSuLqy8idd5xtdm9407XdPR6o3bo663C1ruEGhXJjpnb2YCpj8EU1UvQYanuCjtr00t1DRCf2a","superHub":{"newProjectsEnabled":true},"wootric":{"accountToken":"NPS-122b75a4","enabled":true}}"></script></head><body class="body-none theme-line header-solid header-bg-size-tile-x header-bg-pos-tl header-overlay-circuits reference-layout-row lumosity-normal "><div id="ssr-top"></div><div id="ssr-main"><div class="App ThemeContext ThemeContext_dark ThemeContext_line" style="--color-primary:#F01F7A;--color-primary-inverse:#fff;--color-primary-alt:#38591e;--color-primary-darken-10:#ce0e62;--color-primary-darken-20:#9e0b4b;--color-primary-alpha-25:rgba(240, 31, 122, 0.25);--color-link-primary:#5bb3f2;--color-link-primary-darken-5:#43a8f0;--color-link-primary-darken-10:#2c9dee;--color-link-primary-darken-20:#1184d6;--color-link-primary-alpha-50:rgba(91, 179, 242, 0.5);--color-link-primary-alpha-25:rgba(91, 179, 242, 0.25);--color-link-background:rgba(91, 179, 242, 0.09);--color-link-text:#fff;--color-login-link:#018ef5;--color-login-link-text:#fff;--color-login-link-darken-10:#0171c2;--color-login-link-primary-alpha-50:rgba(1, 142, 245, 0.5)"><header class="Header3zzata9F_ZPQ rm-Header "><div class="rm-Header-top Header-topuTMpygDG4e1V"><div class="rm-Container rm-Container_flex"><div style="outline:none" tabindex="-1"><a href="#content" target="_self" class="Button Button_md rm-JumpTo Header-jumpTo3IWKQXmhSI5D Button_primary">Jump to Content</a></div><div class="rm-Header-left Header-leftADQdGVqx1wqU"><a class="rm-Logo Header-logo1Xy41PtkzbdG" href="/docs" target="_self"><img alt="Codecov" class="rm-Logo-img Header-logo-img3YvV4lcGKkeb" src="https://files.readme.io/5affb88-codecov.svg"/></a><a aria-current="page" class="Button Button_md rm-Header-link rm-Header-top-link Button_slate_text rm-Header-top-link_active Header-link2tXYTgXq85zW active" href="/docs" target="_self">Guides</a><a class="Button Button_md rm-Header-link rm-Header-top-link Button_slate_text Header-link2tXYTgXq85zW" href="https://docs.codecov.com/reference" target="_self" to="https://docs.codecov.com/reference">API</a><a class="Button Button_md rm-Header-link rm-Header-top-link Button_slate_text Header-link2tXYTgXq85zW" href="/changelog" target="_self">Changelog</a><a class="Button Button_md rm-Header-link rm-Header-top-link Button_slate_text Header-link2tXYTgXq85zW" href="https://codecovpro.zendesk.com/" target="_self" to="https://codecovpro.zendesk.com/">Support</a><a class="Button Button_md rm-Header-link rm-Header-top-link Button_slate_text Header-link2tXYTgXq85zW" href="https://status.codecov.com" target="_self" to="https://status.codecov.com">Status</a><a class="Button Button_md rm-Header-link rm-Header-top-link Button_slate_text Header-link2tXYTgXq85zW" href="https://about.codecov.io" target="_self" to="https://about.codecov.io">Codecov Home</a><a class="Button Button_md rm-Header-link rm-Header-top-link Button_slate_text Header-link2tXYTgXq85zW" href="https://about.codecov.io/codecov-free-trial/" target="_self" to="https://about.codecov.io/codecov-free-trial/">Try Codecov for Free</a></div><div class="rm-Header-left Header-leftADQdGVqx1wqU Header-left_mobile1RG-X93lx6PF"><div><button aria-label="Toggle navigation menu" class="icon-menu menu3d6DYNDa3tk5" type="button"></button><div class=""><div class="Flyout95xhYIIoTKtc undefined rm-Flyout" data-testid="flyout"><div class="MobileFlyout1hHJpUd-nYkd"><a aria-current="page" class="rm-MobileFlyout-item NavItem-item1gDDTqaXGhm1 NavItem-item_mobile1qG3gd-Mkck- active" href="/docs" target="_self"><i class="icon-guides NavItem-badge1qOxpfTiALoz"></i><span class="NavItem-textSlZuuL489uiw">Guides</span></a><a class="rm-MobileFlyout-item NavItem-item1gDDTqaXGhm1 NavItem-item_mobile1qG3gd-Mkck- " href="/reference" target="_self"><i class="icon-references NavItem-badge1qOxpfTiALoz"></i><span class="NavItem-textSlZuuL489uiw">API Endpoints</span></a><a class="rm-MobileFlyout-item NavItem-item1gDDTqaXGhm1 NavItem-item_mobile1qG3gd-Mkck- " href="/changelog" target="_self"><i class="icon-changelog NavItem-badge1qOxpfTiALoz"></i><span class="NavItem-textSlZuuL489uiw">Changelog</span></a><select class="Select Select_md NavItem-item1gDDTqaXGhm1 NavItem-item_select3UEfLN-oSjxp NavItem-item_mobile1qG3gd-Mkck-"><option data-url="/v4.6/docs" value="4.6">v4.6</option><option data-url="/v5.0/docs" value="5.0">v5.0</option><option selected="" data-url="#" value="2023">v2023</option></select><hr class="MobileFlyout-divider10xf7R2X1MeW"/><a aria-current="page" class="rm-MobileFlyout-item NavItem-item1gDDTqaXGhm1 NavItem-item_mobile1qG3gd-Mkck- NavItem_dropdown-muted1xJVuczwGc74 active" href="/docs" target="_self">Guides</a><a class="rm-MobileFlyout-item NavItem-item1gDDTqaXGhm1 NavItem-item_mobile1qG3gd-Mkck- NavItem_dropdown-muted1xJVuczwGc74" href="https://docs.codecov.com/reference" rel="noopener" target="_blank" to="https://docs.codecov.com/reference">API</a><a class="rm-MobileFlyout-item NavItem-item1gDDTqaXGhm1 NavItem-item_mobile1qG3gd-Mkck- NavItem_dropdown-muted1xJVuczwGc74" href="/changelog" target="_self">Changelog</a><a class="rm-MobileFlyout-item NavItem-item1gDDTqaXGhm1 NavItem-item_mobile1qG3gd-Mkck- NavItem_dropdown-muted1xJVuczwGc74" href="https://codecovpro.zendesk.com/" rel="noopener" target="_blank" to="https://codecovpro.zendesk.com/">Support</a><a class="rm-MobileFlyout-item NavItem-item1gDDTqaXGhm1 NavItem-item_mobile1qG3gd-Mkck- NavItem_dropdown-muted1xJVuczwGc74" href="https://status.codecov.com" rel="noopener" target="_blank" to="https://status.codecov.com">Status</a><a class="rm-MobileFlyout-item NavItem-item1gDDTqaXGhm1 NavItem-item_mobile1qG3gd-Mkck- NavItem_dropdown-muted1xJVuczwGc74" href="https://about.codecov.io" rel="noopener" target="_blank" to="https://about.codecov.io">Codecov Home</a><a class="rm-MobileFlyout-item NavItem-item1gDDTqaXGhm1 NavItem-item_mobile1qG3gd-Mkck- NavItem_dropdown-muted1xJVuczwGc74" href="https://about.codecov.io/codecov-free-trial/" rel="noopener" target="_blank" to="https://about.codecov.io/codecov-free-trial/">Try Codecov for Free</a><a class="MobileFlyout-logo3Lq1eTlk1K76 Header-logo1Xy41PtkzbdG rm-Logo" href="/docs" target="_self"><img alt="Codecov" class="Header-logo-img3YvV4lcGKkeb rm-Logo-img" src="https://files.readme.io/5affb88-codecov.svg"/></a></div></div></div></div><div class="Header-left-nav2xWPWMNHOGf_"><i class="icon-guides Header-left-nav-icon10glJKFwewOv"></i>Guides</div></div><div class="rm-Header-right Header-right21PC2XTT6aMg"><span class="Header-right_desktop14ja01RUQ7HE"></span><div class="ThemeToggle-wrapper1M_iJESXCpGR Dropdown Dropdown_closed"><button aria-label="Toggle to light mode" id="ThemeToggle-button-static-id-placeholder" aria-haspopup="dialog" class="Button Button_slate_text Button_sm rm-ThemeToggle ThemeToggle2tVPbUyQbWDo Dropdown-toggle Button_primary" type="button"><svg aria-labelledby="ThemeToggle-button-static-id-placeholder" class="Icon ThemeToggle-Icon3g9ZT7pRMwCv " role="img" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><title>Moon (Dark Mode)</title><path d="M19 14.79C18.8427 16.4922 18.2039 18.1144 17.1582 19.4668C16.1126 20.8192 14.7035 21.8458 13.0957 22.4265C11.4879 23.0073 9.74798 23.1181 8.0795 22.7461C6.41102 22.3741 4.88299 21.5345 3.67423 20.3258C2.46546 19.117 1.62594 17.589 1.25391 15.9205C0.881876 14.252 0.992717 12.5121 1.57346 10.9043C2.1542 9.29651 3.18083 7.88737 4.53321 6.84175C5.8856 5.79614 7.5078 5.15731 9.21 5C8.21341 6.34827 7.73385 8.00945 7.85853 9.68141C7.98322 11.3534 8.70386 12.9251 9.8894 14.1106C11.0749 15.2961 12.6466 16.0168 14.3186 16.1415C15.9906 16.2662 17.6517 15.7866 19 14.79Z"></path><path class="ThemeToggle-Icon-star3wweJby1gM4w" d="M18.3707 1C18.3707 3.22825 16.2282 5.37069 14 5.37069C16.2282 5.37069 18.3707 7.51313 18.3707 9.74138C18.3707 7.51313 20.5132 5.37069 22.7414 5.37069C20.5132 5.37069 18.3707 3.22825 18.3707 1Z"></path></svg><svg aria-labelledby="ThemeToggle-button-static-id-placeholder" class="Icon ThemeToggle-Icon3g9ZT7pRMwCv ThemeToggle-Icon_active18I2-19CkbgD" role="img" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><title>Sun (Light Mode)</title><path class="ThemeToggle-Icon-ray2ab8_BwBkrTx" d="M12 1V3"></path><path class="ThemeToggle-Icon-ray2ab8_BwBkrTx" d="M18.36 5.64L19.78 4.22"></path><path class="ThemeToggle-Icon-ray2ab8_BwBkrTx" d="M21 12H23"></path><path class="ThemeToggle-Icon-ray2ab8_BwBkrTx" d="M18.36 18.36L19.78 19.78"></path><path class="ThemeToggle-Icon-ray2ab8_BwBkrTx" d="M12 21V23"></path><path class="ThemeToggle-Icon-ray2ab8_BwBkrTx" d="M4.22 19.78L5.64 18.36"></path><path class="ThemeToggle-Icon-ray2ab8_BwBkrTx" d="M1 12H3"></path><path class="ThemeToggle-Icon-ray2ab8_BwBkrTx" d="M4.22 4.22L5.64 5.64"></path><path d="M12 17C14.7614 17 17 14.7614 17 12C17 9.23858 14.7614 7 12 7C9.23858 7 7 9.23858 7 12C7 14.7614 9.23858 17 12 17Z"></path></svg></button></div><div class="Header-searchtb6Foi0-D9Vx"><button aria-label="Search ⌘k" class="rm-SearchToggle" data-symbol="⌘"><div class="rm-SearchToggle-icon icon-search1"></div></button></div></div></div></div><div class="Header-bottom2eLKOFXMEmh5 rm-Header-bottom "><div class="rm-Container rm-Container_flex"><nav aria-label="Primary navigation" class="Header-leftADQdGVqx1wqU" role="navigation"><div class="rm-VersionDropdown Dropdown Dropdown_closed"><button aria-haspopup="dialog" class="Button Button_slate_text Button_md rm-Header-bottom-link Dropdown-toggle Button_primary" type="button"><span class="Truncate1OzxBYrNNfH3" style="--Truncate-max-width:150px">v2023</span><i class="icon icon-chevron-down"></i></button></div><div class="Dropdown Dropdown_closed"><div class="Dropdown-toggle" aria-haspopup="dialog"><button class="rm-Header-link rm-Header-bottom-link undefined Button Button_slate_text Button_md" type="button"><span>Guides</span><i class="undefined icon-chevron-down"></i></button></div></div><span class="rm-Header-link rm-Header-bottom-link undefined NavItem_inactive1YE6SGanIJp5">Quick Start</span></nav><button align="center" justify="between" style="--flex-gap:var(--xs)" class="Button Button_sm Flex Flex_row MobileSubnav1DsTfasXloM2 Button_contrast Button_contrast_outline" type="button"><span class="Button-label">Quick Start</span><span class="IconWrapper Icon-wrapper2z2wVIeGsiUy"><svg fill="none" viewBox="0 0 24 24" class="Icon Icon3_D2ysxFZ_ll Icon-svg2Lm7f6G9Ly5a" data-name="chevron-up-down" role="img" style="--icon-color:inherit;--icon-size:inherit;--icon-stroke-width:2px"><path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" d="m6 16 6 6 6-6M18 8l-6-6-6 6" class="icon-stroke-width"></path></svg></span></button><div class="rm-Header-search Header-searchtb6Foi0-D9Vx rm-Header-search_feather Header-search_featherYsmQBn55F3d9"><button aria-label="Search ⌘k" class="rm-SearchToggle" data-symbol="⌘"><div class="rm-SearchToggle-icon icon-search1"></div><div class="Header-search-placeholder3Vx4OmMPcjAi rm-SearchToggle-placeholder">Search</div><div class="rm-SearchToggle-shortcut"></div></button></div></div></div><div class="hub-search-results--reactApp " id="hub-search-results"><div class="hub-container"><div class="modal-backdrop show-modal rm-SearchModal" role="button" tabindex="0"></div></div></div></header><main class="rm-Guides"><div class="rm-Container rm-Container_flex"><nav aria-label="Secondary navigation" class="rm-Sidebar hub-sidebar reference-redesign Nav3C5f8FcjkaHj rm-Sidebar_guides" id="hub-sidebar" role="navigation"><div class="Sidebar1t2G1ZJq-vU1 rm-Sidebar hub-sidebar-content"><section class="Sidebar-listWrapper6Q9_yUrG906C rm-Sidebar-section"><h2 class="Sidebar-headingTRQyOa2pk0gh rm-Sidebar-heading">Getting Started</h2><ul class="Sidebar-list3cZWQLaBf9k8 rm-Sidebar-list"><li class="Sidebar-item23D-2Kd61_k3"><a aria-current="page" class="Sidebar-link2Dsha-r-GKh2 childless text-wrap rm-Sidebar-link active" target="_self" href="/docs/quick-start"><span class="Sidebar-link-textLuTE1ySm4Kqn"><span class="Sidebar-link-text_label1gCT_uPnx7Gu">Quick Start</span></span></a></li><li class="Sidebar-item23D-2Kd61_k3"><a class="Sidebar-link2Dsha-r-GKh2 childless text-wrap rm-Sidebar-link" target="_self" data-active="" href="https://about.codecov.io/sign-up/"><span class="Sidebar-link-textLuTE1ySm4Kqn"><span class="Sidebar-link-text_label1gCT_uPnx7Gu">Sign up for Codecov</span></span><i aria-label="Link opens in a new tab" class="Sidebar-link-externalIcon1RcnjKm-3Ft8 icon-arrow-up-right"></i></a></li><li class="Sidebar-item23D-2Kd61_k3"><a class="Sidebar-link2Dsha-r-GKh2 Sidebar-link_parent3OBrzjAJRSfq text-wrap rm-Sidebar-link" target="_self" href="/docs/github-tutorial"><span class="Sidebar-link-textLuTE1ySm4Kqn"><button aria-expanded="false" aria-label="Show subpages for GitHub Tutorial" class="Sidebar-link-buttonWrapper3hnFHNku8_BJ"><i class="Sidebar-link-expandIcon2yVH6SarI6NW icon-chevron-rightward"></i></button><span class="Sidebar-link-text_label1gCT_uPnx7Gu">GitHub Tutorial</span></span></a><ul class="subpages Sidebar-list3cZWQLaBf9k8 rm-Sidebar-list"><li class="Sidebar-item23D-2Kd61_k3"><a class="Sidebar-link2Dsha-r-GKh2 childless subpage text-wrap rm-Sidebar-link" target="_self" href="/docs/github-0-setting-up-the-repository"><span class="Sidebar-link-textLuTE1ySm4Kqn"><span class="Sidebar-link-text_label1gCT_uPnx7Gu">0 - Setting up the demo repository</span></span></a></li><li class="Sidebar-item23D-2Kd61_k3"><a class="Sidebar-link2Dsha-r-GKh2 childless subpage text-wrap rm-Sidebar-link" target="_self" href="/docs/github-1-setting-and-getting-code-coverage"><span class="Sidebar-link-textLuTE1ySm4Kqn"><span class="Sidebar-link-text_label1gCT_uPnx7Gu">1 - Setting and getting code coverage</span></span></a></li><li class="Sidebar-item23D-2Kd61_k3"><a class="Sidebar-link2Dsha-r-GKh2 childless subpage text-wrap rm-Sidebar-link" target="_self" href="/docs/github-2-getting-a-codecov-account-and-uploading-coverage"><span class="Sidebar-link-textLuTE1ySm4Kqn"><span class="Sidebar-link-text_label1gCT_uPnx7Gu">2 - Getting a Codecov account and uploading coverage</span></span></a></li><li class="Sidebar-item23D-2Kd61_k3"><a class="Sidebar-link2Dsha-r-GKh2 childless subpage text-wrap rm-Sidebar-link" target="_self" href="/docs/github-3-customizing-codecov"><span class="Sidebar-link-textLuTE1ySm4Kqn"><span class="Sidebar-link-text_label1gCT_uPnx7Gu">3 - Customizing Codecov</span></span></a></li><li class="Sidebar-item23D-2Kd61_k3"><a class="Sidebar-link2Dsha-r-GKh2 childless subpage text-wrap rm-Sidebar-link" target="_self" href="/docs/github-4a-merging-reports"><span class="Sidebar-link-textLuTE1ySm4Kqn"><span class="Sidebar-link-text_label1gCT_uPnx7Gu">4a - Merging reports</span></span></a></li><li class="Sidebar-item23D-2Kd61_k3"><a class="Sidebar-link2Dsha-r-GKh2 childless subpage text-wrap rm-Sidebar-link" target="_self" href="/docs/github-4b-getting-aggregate-coverage"><span class="Sidebar-link-textLuTE1ySm4Kqn"><span class="Sidebar-link-text_label1gCT_uPnx7Gu">4b - Filtering Coverage by Directory</span></span></a></li><li class="Sidebar-item23D-2Kd61_k3"><a class="Sidebar-link2Dsha-r-GKh2 childless subpage text-wrap rm-Sidebar-link" target="_self" href="/docs/github-5a-writing-a-frontend"><span class="Sidebar-link-textLuTE1ySm4Kqn"><span class="Sidebar-link-text_label1gCT_uPnx7Gu">5a - Writing a frontend</span></span></a></li><li class="Sidebar-item23D-2Kd61_k3"><a class="Sidebar-link2Dsha-r-GKh2 childless subpage text-wrap rm-Sidebar-link" target="_self" href="/docs/github-5b-setting-coverage-standards-with-flags"><span class="Sidebar-link-textLuTE1ySm4Kqn"><span class="Sidebar-link-text_label1gCT_uPnx7Gu">5b - Setting coverage standards with Flags</span></span></a></li><li class="Sidebar-item23D-2Kd61_k3"><a class="Sidebar-link2Dsha-r-GKh2 childless subpage text-wrap rm-Sidebar-link" target="_self" href="/docs/github-6-carryforward-flags"><span class="Sidebar-link-textLuTE1ySm4Kqn"><span class="Sidebar-link-text_label1gCT_uPnx7Gu">6 - Test what you change with Carryforward Flags</span></span></a></li></ul></li><li class="Sidebar-item23D-2Kd61_k3"><a class="Sidebar-link2Dsha-r-GKh2 Sidebar-link_parent3OBrzjAJRSfq text-wrap rm-Sidebar-link" target="_self" href="/docs/gitlab-tutorial"><span class="Sidebar-link-textLuTE1ySm4Kqn"><button aria-expanded="false" aria-label="Show subpages for GitLab Tutorial" class="Sidebar-link-buttonWrapper3hnFHNku8_BJ"><i class="Sidebar-link-expandIcon2yVH6SarI6NW icon-chevron-rightward"></i></button><span class="Sidebar-link-text_label1gCT_uPnx7Gu">GitLab Tutorial</span></span></a><ul class="subpages Sidebar-list3cZWQLaBf9k8 rm-Sidebar-list"><li class="Sidebar-item23D-2Kd61_k3"><a class="Sidebar-link2Dsha-r-GKh2 childless subpage text-wrap rm-Sidebar-link" target="_self" href="/docs/gitlab-0-setting-up-the-demo-repository"><span class="Sidebar-link-textLuTE1ySm4Kqn"><span class="Sidebar-link-text_label1gCT_uPnx7Gu">0 - Setting up the demo repository</span></span></a></li><li class="Sidebar-item23D-2Kd61_k3"><a class="Sidebar-link2Dsha-r-GKh2 childless subpage text-wrap rm-Sidebar-link" target="_self" href="/docs/gitlab-1-setting-and-getting-code-coverage"><span class="Sidebar-link-textLuTE1ySm4Kqn"><span class="Sidebar-link-text_label1gCT_uPnx7Gu">1 - Setting and getting code coverage</span></span></a></li><li class="Sidebar-item23D-2Kd61_k3"><a class="Sidebar-link2Dsha-r-GKh2 childless subpage text-wrap rm-Sidebar-link" target="_self" href="/docs/gitlab-2-getting-a-codecov-account-and-uploading-coverage"><span class="Sidebar-link-textLuTE1ySm4Kqn"><span class="Sidebar-link-text_label1gCT_uPnx7Gu">2 - Getting a Codecov account and uploading coverage</span></span></a></li><li class="Sidebar-item23D-2Kd61_k3"><a class="Sidebar-link2Dsha-r-GKh2 childless subpage text-wrap rm-Sidebar-link" target="_self" href="/docs/gitlab-3-customizing-codecov"><span class="Sidebar-link-textLuTE1ySm4Kqn"><span class="Sidebar-link-text_label1gCT_uPnx7Gu">3 - Customizing Codecov</span></span></a></li><li class="Sidebar-item23D-2Kd61_k3"><a class="Sidebar-link2Dsha-r-GKh2 childless subpage text-wrap rm-Sidebar-link" target="_self" href="/docs/gitlab-4a-merging-reports"><span class="Sidebar-link-textLuTE1ySm4Kqn"><span class="Sidebar-link-text_label1gCT_uPnx7Gu">4a - Merging reports</span></span></a></li><li class="Sidebar-item23D-2Kd61_k3"><a class="Sidebar-link2Dsha-r-GKh2 childless subpage text-wrap rm-Sidebar-link" target="_self" href="/docs/gitlab-4b-setting-coverage-standards-with-flags"><span class="Sidebar-link-textLuTE1ySm4Kqn"><span class="Sidebar-link-text_label1gCT_uPnx7Gu">4b - Setting coverage standards with Flags</span></span></a></li><li class="Sidebar-item23D-2Kd61_k3"><a class="Sidebar-link2Dsha-r-GKh2 childless subpage text-wrap rm-Sidebar-link" target="_self" href="/docs/gitlab-5-test-what-you-change-with-carryforward-flags"><span class="Sidebar-link-textLuTE1ySm4Kqn"><span class="Sidebar-link-text_label1gCT_uPnx7Gu">5 - Test what you change with Carryforward Flags</span></span></a></li></ul></li><li class="Sidebar-item23D-2Kd61_k3"><a class="Sidebar-link2Dsha-r-GKh2 Sidebar-link_parent3OBrzjAJRSfq text-wrap rm-Sidebar-link" target="_self" href="/docs/bitbucket-tutorial"><span class="Sidebar-link-textLuTE1ySm4Kqn"><button aria-expanded="false" aria-label="Show subpages for Bitbucket Tutorial" class="Sidebar-link-buttonWrapper3hnFHNku8_BJ"><i class="Sidebar-link-expandIcon2yVH6SarI6NW icon-chevron-rightward"></i></button><span class="Sidebar-link-text_label1gCT_uPnx7Gu">Bitbucket Tutorial</span></span></a><ul class="subpages Sidebar-list3cZWQLaBf9k8 rm-Sidebar-list"><li class="Sidebar-item23D-2Kd61_k3"><a class="Sidebar-link2Dsha-r-GKh2 childless subpage text-wrap rm-Sidebar-link" target="_self" href="/docs/bitbucket-0-setting-up-the-demo-repository"><span class="Sidebar-link-textLuTE1ySm4Kqn"><span class="Sidebar-link-text_label1gCT_uPnx7Gu">0 - Setting up the demo repository</span></span></a></li><li class="Sidebar-item23D-2Kd61_k3"><a class="Sidebar-link2Dsha-r-GKh2 childless subpage text-wrap rm-Sidebar-link" target="_self" href="/docs/bitbucket-1-setting-and-getting-code-coverage"><span class="Sidebar-link-textLuTE1ySm4Kqn"><span class="Sidebar-link-text_label1gCT_uPnx7Gu">1 - Setting and getting code coverage</span></span></a></li><li class="Sidebar-item23D-2Kd61_k3"><a class="Sidebar-link2Dsha-r-GKh2 childless subpage text-wrap rm-Sidebar-link" target="_self" href="/docs/bitbucket-2-getting-a-codecov-account-and-uploading-coverage"><span class="Sidebar-link-textLuTE1ySm4Kqn"><span class="Sidebar-link-text_label1gCT_uPnx7Gu">2 - Getting a Codecov account and uploading coverage</span></span></a></li><li class="Sidebar-item23D-2Kd61_k3"><a class="Sidebar-link2Dsha-r-GKh2 childless subpage text-wrap rm-Sidebar-link" target="_self" href="/docs/bitbucket-step-3-customizing-codecov"><span class="Sidebar-link-textLuTE1ySm4Kqn"><span class="Sidebar-link-text_label1gCT_uPnx7Gu">3 - Customizing Codecov</span></span></a></li><li class="Sidebar-item23D-2Kd61_k3"><a class="Sidebar-link2Dsha-r-GKh2 childless subpage text-wrap rm-Sidebar-link" target="_self" href="/docs/bitbucket-4a-merging-reports"><span class="Sidebar-link-textLuTE1ySm4Kqn"><span class="Sidebar-link-text_label1gCT_uPnx7Gu">4a - Merging reports</span></span></a></li><li class="Sidebar-item23D-2Kd61_k3"><a class="Sidebar-link2Dsha-r-GKh2 childless subpage text-wrap rm-Sidebar-link" target="_self" href="/docs/bitbucket-4b-setting-coverage-standards-with-flags"><span class="Sidebar-link-textLuTE1ySm4Kqn"><span class="Sidebar-link-text_label1gCT_uPnx7Gu">4b - Setting coverage standards with Flags</span></span></a></li><li class="Sidebar-item23D-2Kd61_k3"><a class="Sidebar-link2Dsha-r-GKh2 childless subpage text-wrap rm-Sidebar-link" target="_self" href="/docs/bitbucket-5-test-what-you-change-with-carryforward-flags"><span class="Sidebar-link-textLuTE1ySm4Kqn"><span class="Sidebar-link-text_label1gCT_uPnx7Gu">5 - Test what you change with Carryforward Flags</span></span></a></li></ul></li><li class="Sidebar-item23D-2Kd61_k3"><a class="Sidebar-link2Dsha-r-GKh2 childless text-wrap rm-Sidebar-link" target="_self" href="/docs/common-recipe-list"><span class="Sidebar-link-textLuTE1ySm4Kqn"><span class="Sidebar-link-text_label1gCT_uPnx7Gu">Common Configurations</span></span></a></li><li class="Sidebar-item23D-2Kd61_k3"><a class="Sidebar-link2Dsha-r-GKh2 childless text-wrap rm-Sidebar-link" target="_self" href="/docs/about-code-coverage"><span class="Sidebar-link-textLuTE1ySm4Kqn"><span class="Sidebar-link-text_label1gCT_uPnx7Gu">About Code Coverage</span></span></a></li><li class="Sidebar-item23D-2Kd61_k3"><a class="Sidebar-link2Dsha-r-GKh2 childless text-wrap rm-Sidebar-link" target="_self" href="/docs/frequently-asked-questions"><span class="Sidebar-link-textLuTE1ySm4Kqn"><span class="Sidebar-link-text_label1gCT_uPnx7Gu">Frequently Asked Questions</span></span></a></li><li class="Sidebar-item23D-2Kd61_k3"><a class="Sidebar-link2Dsha-r-GKh2 Sidebar-link_parent3OBrzjAJRSfq text-wrap rm-Sidebar-link" target="_self" href="/docs/language-specific-guides"><span class="Sidebar-link-textLuTE1ySm4Kqn"><button aria-expanded="false" aria-label="Show subpages for Language Specific Guides" class="Sidebar-link-buttonWrapper3hnFHNku8_BJ"><i class="Sidebar-link-expandIcon2yVH6SarI6NW icon-chevron-rightward"></i></button><span class="Sidebar-link-text_label1gCT_uPnx7Gu">Language Specific Guides</span></span></a><ul class="subpages Sidebar-list3cZWQLaBf9k8 rm-Sidebar-list"><li class="Sidebar-item23D-2Kd61_k3"><a class="Sidebar-link2Dsha-r-GKh2 childless subpage text-wrap rm-Sidebar-link" target="_self" href="/docs/code-coverage-with-javascript"><span class="Sidebar-link-textLuTE1ySm4Kqn"><span class="Sidebar-link-text_label1gCT_uPnx7Gu">Code coverage with JavaScript</span></span></a></li><li class="Sidebar-item23D-2Kd61_k3"><a class="Sidebar-link2Dsha-r-GKh2 childless subpage text-wrap rm-Sidebar-link" target="_self" href="/docs/code-coverage-with-python"><span class="Sidebar-link-textLuTE1ySm4Kqn"><span class="Sidebar-link-text_label1gCT_uPnx7Gu">Code coverage with Python</span></span></a></li></ul></li><li class="Sidebar-item23D-2Kd61_k3"><a class="Sidebar-link2Dsha-r-GKh2 childless text-wrap rm-Sidebar-link" target="_self" href="/docs/codecov-uploader"><span class="Sidebar-link-textLuTE1ySm4Kqn"><span class="Sidebar-link-text_label1gCT_uPnx7Gu">Uploading Reports to Codecov using the Codecov CLI</span></span></a></li></ul></section><section class="Sidebar-listWrapper6Q9_yUrG906C rm-Sidebar-section"><h2 class="Sidebar-headingTRQyOa2pk0gh rm-Sidebar-heading">Concepts</h2><ul class="Sidebar-list3cZWQLaBf9k8 rm-Sidebar-list"><li class="Sidebar-item23D-2Kd61_k3"><a class="Sidebar-link2Dsha-r-GKh2 childless text-wrap rm-Sidebar-link" target="_self" href="/docs/ci-service-relationship"><span class="Sidebar-link-textLuTE1ySm4Kqn"><span class="Sidebar-link-text_label1gCT_uPnx7Gu">CI Provider Relationship</span></span></a></li><li class="Sidebar-item23D-2Kd61_k3"><a class="Sidebar-link2Dsha-r-GKh2 childless text-wrap rm-Sidebar-link" target="_self" href="/docs/team-bot"><span class="Sidebar-link-textLuTE1ySm4Kqn"><span class="Sidebar-link-text_label1gCT_uPnx7Gu">Github App or Team Bot</span></span></a></li><li class="Sidebar-item23D-2Kd61_k3"><a class="Sidebar-link2Dsha-r-GKh2 childless text-wrap rm-Sidebar-link" target="_self" href="/docs/merging-reports"><span class="Sidebar-link-textLuTE1ySm4Kqn"><span class="Sidebar-link-text_label1gCT_uPnx7Gu">Merging Reports</span></span></a></li><li class="Sidebar-item23D-2Kd61_k3"><a class="Sidebar-link2Dsha-r-GKh2 childless text-wrap rm-Sidebar-link" target="_self" href="/docs/coverage-percentages"><span class="Sidebar-link-textLuTE1ySm4Kqn"><span class="Sidebar-link-text_label1gCT_uPnx7Gu">Coverage Percentages</span></span></a></li><li class="Sidebar-item23D-2Kd61_k3"><a class="Sidebar-link2Dsha-r-GKh2 childless text-wrap rm-Sidebar-link" target="_self" href="/docs/comparing-commits"><span class="Sidebar-link-textLuTE1ySm4Kqn"><span class="Sidebar-link-text_label1gCT_uPnx7Gu">Comparing Coverage Across Commits</span></span></a></li><li class="Sidebar-item23D-2Kd61_k3"><a class="Sidebar-link2Dsha-r-GKh2 childless text-wrap rm-Sidebar-link" target="_self" href="/docs/merge-commits"><span class="Sidebar-link-textLuTE1ySm4Kqn"><span class="Sidebar-link-text_label1gCT_uPnx7Gu">Merge Commits</span></span></a></li><li class="Sidebar-item23D-2Kd61_k3"><a class="Sidebar-link2Dsha-r-GKh2 childless text-wrap rm-Sidebar-link" target="_self" href="/docs/fixing-reports"><span class="Sidebar-link-textLuTE1ySm4Kqn"><span class="Sidebar-link-text_label1gCT_uPnx7Gu">Fixing Reports</span></span></a></li><li class="Sidebar-item23D-2Kd61_k3"><a class="Sidebar-link2Dsha-r-GKh2 childless text-wrap rm-Sidebar-link" target="_self" href="/docs/unexpected-coverage-changes"><span class="Sidebar-link-textLuTE1ySm4Kqn"><span class="Sidebar-link-text_label1gCT_uPnx7Gu">Unexpected Coverage Changes</span></span></a></li><li class="Sidebar-item23D-2Kd61_k3"><a class="Sidebar-link2Dsha-r-GKh2 childless text-wrap rm-Sidebar-link" target="_self" href="/docs/viewing-source-code"><span class="Sidebar-link-textLuTE1ySm4Kqn"><span class="Sidebar-link-text_label1gCT_uPnx7Gu">Viewing Source Code</span></span></a></li><li class="Sidebar-item23D-2Kd61_k3"><a class="Sidebar-link2Dsha-r-GKh2 childless text-wrap rm-Sidebar-link" target="_self" href="/docs/graphs"><span class="Sidebar-link-textLuTE1ySm4Kqn"><span class="Sidebar-link-text_label1gCT_uPnx7Gu">Graphs</span></span></a></li><li class="Sidebar-item23D-2Kd61_k3"><a class="Sidebar-link2Dsha-r-GKh2 childless text-wrap rm-Sidebar-link" target="_self" href="/docs/codecov-tokens"><span class="Sidebar-link-textLuTE1ySm4Kqn"><span class="Sidebar-link-text_label1gCT_uPnx7Gu">Codecov Tokens</span></span></a></li></ul></section><section class="Sidebar-listWrapper6Q9_yUrG906C rm-Sidebar-section"><h2 class="Sidebar-headingTRQyOa2pk0gh rm-Sidebar-heading">Features</h2><ul class="Sidebar-list3cZWQLaBf9k8 rm-Sidebar-list"><li class="Sidebar-item23D-2Kd61_k3"><a class="Sidebar-link2Dsha-r-GKh2 childless text-wrap rm-Sidebar-link" target="_self" href="/docs/status-badges"><span class="Sidebar-link-textLuTE1ySm4Kqn"><span class="Sidebar-link-text_label1gCT_uPnx7Gu">Status Badges</span></span></a></li><li class="Sidebar-item23D-2Kd61_k3"><a class="Sidebar-link2Dsha-r-GKh2 childless text-wrap rm-Sidebar-link" target="_self" href="/docs/components"><span class="Sidebar-link-textLuTE1ySm4Kqn"><span class="Sidebar-link-text_label1gCT_uPnx7Gu">Components</span></span></a></li><li class="Sidebar-item23D-2Kd61_k3"><a class="Sidebar-link2Dsha-r-GKh2 childless text-wrap rm-Sidebar-link" target="_self" href="/docs/flags"><span class="Sidebar-link-textLuTE1ySm4Kqn"><span class="Sidebar-link-text_label1gCT_uPnx7Gu">Flags</span></span></a></li><li class="Sidebar-item23D-2Kd61_k3"><a class="Sidebar-link2Dsha-r-GKh2 childless text-wrap rm-Sidebar-link" target="_self" href="/docs/carryforward-flags"><span class="Sidebar-link-textLuTE1ySm4Kqn"><span class="Sidebar-link-text_label1gCT_uPnx7Gu">Carryforward Flags</span></span></a></li><li class="Sidebar-item23D-2Kd61_k3"><a class="Sidebar-link2Dsha-r-GKh2 Sidebar-link_parent3OBrzjAJRSfq text-wrap rm-Sidebar-link" target="_self" href="/docs/pull-request-comments"><span class="Sidebar-link-textLuTE1ySm4Kqn"><button aria-expanded="false" aria-label="Show subpages for Pull Request Comments" class="Sidebar-link-buttonWrapper3hnFHNku8_BJ"><i class="Sidebar-link-expandIcon2yVH6SarI6NW icon-chevron-rightward"></i></button><span class="Sidebar-link-text_label1gCT_uPnx7Gu">Pull Request Comments</span></span></a><ul class="subpages Sidebar-list3cZWQLaBf9k8 rm-Sidebar-list"><li class="Sidebar-item23D-2Kd61_k3"><a class="Sidebar-link2Dsha-r-GKh2 childless subpage text-wrap rm-Sidebar-link" target="_self" href="/docs/changing-your-pr-comment-format"><span class="Sidebar-link-textLuTE1ySm4Kqn"><span class="Sidebar-link-text_label1gCT_uPnx7Gu">PR comment for Git diff only ("Patch" coverage)</span></span></a></li></ul></li><li class="Sidebar-item23D-2Kd61_k3"><a class="Sidebar-link2Dsha-r-GKh2 Sidebar-link_parent3OBrzjAJRSfq text-wrap rm-Sidebar-link" target="_self" href="/docs/commit-status"><span class="Sidebar-link-textLuTE1ySm4Kqn"><button aria-expanded="false" aria-label="Show subpages for Status Checks" class="Sidebar-link-buttonWrapper3hnFHNku8_BJ"><i class="Sidebar-link-expandIcon2yVH6SarI6NW icon-chevron-rightward"></i></button><span class="Sidebar-link-text_label1gCT_uPnx7Gu">Status Checks</span></span></a><ul class="subpages Sidebar-list3cZWQLaBf9k8 rm-Sidebar-list"><li class="Sidebar-item23D-2Kd61_k3"><a class="Sidebar-link2Dsha-r-GKh2 childless subpage text-wrap rm-Sidebar-link" target="_self" href="/docs/removed-code-behavior"><span class="Sidebar-link-textLuTE1ySm4Kqn"><span class="Sidebar-link-text_label1gCT_uPnx7Gu">Removed Code Behavior</span></span></a></li></ul></li><li class="Sidebar-item23D-2Kd61_k3"><a class="Sidebar-link2Dsha-r-GKh2 childless text-wrap rm-Sidebar-link" target="_self" href="/docs/github-checks"><span class="Sidebar-link-textLuTE1ySm4Kqn"><span class="Sidebar-link-text_label1gCT_uPnx7Gu">GitHub Checks</span></span></a></li><li class="Sidebar-item23D-2Kd61_k3"><a class="Sidebar-link2Dsha-r-GKh2 childless text-wrap rm-Sidebar-link" target="_self" href="/docs/fixing-paths"><span class="Sidebar-link-textLuTE1ySm4Kqn"><span class="Sidebar-link-text_label1gCT_uPnx7Gu">Path Fixing</span></span></a></li><li class="Sidebar-item23D-2Kd61_k3"><a class="Sidebar-link2Dsha-r-GKh2 childless text-wrap rm-Sidebar-link" target="_self" href="/docs/path-regexp"><span class="Sidebar-link-textLuTE1ySm4Kqn"><span class="Sidebar-link-text_label1gCT_uPnx7Gu">Path Regexp</span></span></a></li><li class="Sidebar-item23D-2Kd61_k3"><a class="Sidebar-link2Dsha-r-GKh2 childless text-wrap rm-Sidebar-link" target="_self" href="/docs/ignoring-paths"><span class="Sidebar-link-textLuTE1ySm4Kqn"><span class="Sidebar-link-text_label1gCT_uPnx7Gu">Ignoring Paths</span></span></a></li><li class="Sidebar-item23D-2Kd61_k3"><a class="Sidebar-link2Dsha-r-GKh2 childless text-wrap rm-Sidebar-link" target="_self" href="/docs/notifications"><span class="Sidebar-link-textLuTE1ySm4Kqn"><span class="Sidebar-link-text_label1gCT_uPnx7Gu">Notifications</span></span></a></li><li class="Sidebar-item23D-2Kd61_k3"><a class="Sidebar-link2Dsha-r-GKh2 childless text-wrap rm-Sidebar-link" target="_self" href="/docs/organization-analytics"><span class="Sidebar-link-textLuTE1ySm4Kqn"><span class="Sidebar-link-text_label1gCT_uPnx7Gu">Organization Analytics</span></span></a></li><li class="Sidebar-item23D-2Kd61_k3"><a class="Sidebar-link2Dsha-r-GKh2 Sidebar-link_parent3OBrzjAJRSfq text-wrap rm-Sidebar-link" target="_self" href="/docs/sentry-and-codecov"><span class="Sidebar-link-textLuTE1ySm4Kqn"><button aria-expanded="false" aria-label="Show subpages for Sentry and Codecov" class="Sidebar-link-buttonWrapper3hnFHNku8_BJ"><i class="Sidebar-link-expandIcon2yVH6SarI6NW icon-chevron-rightward"></i></button><span class="Sidebar-link-text_label1gCT_uPnx7Gu">Sentry and Codecov</span></span></a><ul class="subpages Sidebar-list3cZWQLaBf9k8 rm-Sidebar-list"><li class="Sidebar-item23D-2Kd61_k3"><a class="Sidebar-link2Dsha-r-GKh2 childless subpage text-wrap rm-Sidebar-link" target="_self" href="/docs/code-coverage-in-the-stack-trace"><span class="Sidebar-link-textLuTE1ySm4Kqn"><span class="Sidebar-link-text_label1gCT_uPnx7Gu">Code Coverage in the Stack Trace</span></span></a></li></ul></li><li class="Sidebar-item23D-2Kd61_k3"><a class="Sidebar-link2Dsha-r-GKh2 Sidebar-link_parent3OBrzjAJRSfq text-wrap rm-Sidebar-link" target="_self" href="/docs/the-codecov-cli"><span class="Sidebar-link-textLuTE1ySm4Kqn"><button aria-expanded="false" aria-label="Show subpages for Codecov CLI" class="Sidebar-link-buttonWrapper3hnFHNku8_BJ"><i class="Sidebar-link-expandIcon2yVH6SarI6NW icon-chevron-rightward"></i></button><span class="Sidebar-link-text_label1gCT_uPnx7Gu">Codecov CLI</span></span></a><ul class="subpages Sidebar-list3cZWQLaBf9k8 rm-Sidebar-list"><li class="Sidebar-item23D-2Kd61_k3"><a class="Sidebar-link2Dsha-r-GKh2 childless subpage text-wrap rm-Sidebar-link" target="_self" href="/docs/cli-options"><span class="Sidebar-link-textLuTE1ySm4Kqn"><span class="Sidebar-link-text_label1gCT_uPnx7Gu">CLI Options</span></span></a></li><li class="Sidebar-item23D-2Kd61_k3"><a class="Sidebar-link2Dsha-r-GKh2 childless subpage text-wrap rm-Sidebar-link" target="_self" href="/docs/contributing-to-the-cli"><span class="Sidebar-link-textLuTE1ySm4Kqn"><span class="Sidebar-link-text_label1gCT_uPnx7Gu">Contributing to the CLI</span></span></a></li></ul></li><li class="Sidebar-item23D-2Kd61_k3"><a class="Sidebar-link2Dsha-r-GKh2 childless text-wrap rm-Sidebar-link" target="_self" href="/docs/slack-integration"><span class="Sidebar-link-textLuTE1ySm4Kqn"><span class="Sidebar-link-text_label1gCT_uPnx7Gu">Slack Integration</span></span></a></li><li class="Sidebar-item23D-2Kd61_k3"><a class="Sidebar-link2Dsha-r-GKh2 childless text-wrap rm-Sidebar-link" target="_self" href="/docs/vscode-extension"><span class="Sidebar-link-textLuTE1ySm4Kqn"><span class="Sidebar-link-text_label1gCT_uPnx7Gu">VSCode Extension</span></span></a></li><li class="Sidebar-item23D-2Kd61_k3"><a class="Sidebar-link2Dsha-r-GKh2 childless text-wrap rm-Sidebar-link" target="_self" href="/docs/the-codecov-browser-extension"><span class="Sidebar-link-textLuTE1ySm4Kqn"><span class="Sidebar-link-text_label1gCT_uPnx7Gu">Codecov Browser Extension</span></span></a></li><li class="Sidebar-item23D-2Kd61_k3"><a class="Sidebar-link2Dsha-r-GKh2 childless text-wrap rm-Sidebar-link" target="_self" href="/docs/test-analytics"><span class="Sidebar-link-textLuTE1ySm4Kqn"><span class="Sidebar-link-text_label1gCT_uPnx7Gu">Test Analytics</span></span></a></li><li class="Sidebar-item23D-2Kd61_k3"><a class="Sidebar-link2Dsha-r-GKh2 childless text-wrap rm-Sidebar-link" target="_self" href="/docs/beta-codecov-ai"><span class="Sidebar-link-textLuTE1ySm4Kqn"><span class="Sidebar-link-text_label1gCT_uPnx7Gu">[Beta] Codecov AI</span></span></a></li></ul></section><section class="Sidebar-listWrapper6Q9_yUrG906C rm-Sidebar-section"><h2 class="Sidebar-headingTRQyOa2pk0gh rm-Sidebar-heading">Reference</h2><ul class="Sidebar-list3cZWQLaBf9k8 rm-Sidebar-list"><li class="Sidebar-item23D-2Kd61_k3"><a class="Sidebar-link2Dsha-r-GKh2 childless text-wrap rm-Sidebar-link" target="_self" href="/docs/supported-languages"><span class="Sidebar-link-textLuTE1ySm4Kqn"><span class="Sidebar-link-text_label1gCT_uPnx7Gu">Supported Languages</span></span></a></li><li class="Sidebar-item23D-2Kd61_k3"><a class="Sidebar-link2Dsha-r-GKh2 Sidebar-link_parent3OBrzjAJRSfq text-wrap rm-Sidebar-link" target="_self" href="/docs/supported-ci-providers"><span class="Sidebar-link-textLuTE1ySm4Kqn"><button aria-expanded="false" aria-label="Show subpages for Supported CI Providers" class="Sidebar-link-buttonWrapper3hnFHNku8_BJ"><i class="Sidebar-link-expandIcon2yVH6SarI6NW icon-chevron-rightward"></i></button><span class="Sidebar-link-text_label1gCT_uPnx7Gu">Supported CI Providers</span></span></a><ul class="subpages Sidebar-list3cZWQLaBf9k8 rm-Sidebar-list"><li class="Sidebar-item23D-2Kd61_k3"><a class="Sidebar-link2Dsha-r-GKh2 childless subpage text-wrap rm-Sidebar-link" target="_self" href="/docs/detecting-ci-services"><span class="Sidebar-link-textLuTE1ySm4Kqn"><span class="Sidebar-link-text_label1gCT_uPnx7Gu">Detecting Other CI Services</span></span></a></li></ul></li><li class="Sidebar-item23D-2Kd61_k3"><a class="Sidebar-link2Dsha-r-GKh2 childless text-wrap rm-Sidebar-link" target="_self" href="/docs/supported-report-formats"><span class="Sidebar-link-textLuTE1ySm4Kqn"><span class="Sidebar-link-text_label1gCT_uPnx7Gu">Supported Coverage Report Formats</span></span></a></li><li class="Sidebar-item23D-2Kd61_k3"><a class="Sidebar-link2Dsha-r-GKh2 childless text-wrap rm-Sidebar-link" target="_self" href="/docs/codecov-custom-coverage-format"><span class="Sidebar-link-textLuTE1ySm4Kqn"><span class="Sidebar-link-text_label1gCT_uPnx7Gu">Codecov Custom Coverage Format</span></span></a></li><li class="Sidebar-item23D-2Kd61_k3"><a class="Sidebar-link2Dsha-r-GKh2 childless text-wrap rm-Sidebar-link" target="_self" href="/docs/testing-with-docker"><span class="Sidebar-link-textLuTE1ySm4Kqn"><span class="Sidebar-link-text_label1gCT_uPnx7Gu">Testing with Docker</span></span></a></li><li class="Sidebar-item23D-2Kd61_k3"><a class="Sidebar-link2Dsha-r-GKh2 childless text-wrap rm-Sidebar-link" target="_self" href="/docs/administration"><span class="Sidebar-link-textLuTE1ySm4Kqn"><span class="Sidebar-link-text_label1gCT_uPnx7Gu">Administration</span></span></a></li><li class="Sidebar-item23D-2Kd61_k3"><a class="Sidebar-link2Dsha-r-GKh2 childless text-wrap rm-Sidebar-link" target="_self" href="/docs/error-reference"><span class="Sidebar-link-textLuTE1ySm4Kqn"><span class="Sidebar-link-text_label1gCT_uPnx7Gu">Error Reference</span></span></a></li><li class="Sidebar-item23D-2Kd61_k3"><a class="Sidebar-link2Dsha-r-GKh2 childless text-wrap rm-Sidebar-link" target="_self" href="/docs/adding-the-codecov-token"><span class="Sidebar-link-textLuTE1ySm4Kqn"><span class="Sidebar-link-text_label1gCT_uPnx7Gu">Adding the Codecov token</span></span></a></li><li class="Sidebar-item23D-2Kd61_k3"><a class="Sidebar-link2Dsha-r-GKh2 Sidebar-link_parent3OBrzjAJRSfq text-wrap rm-Sidebar-link" target="_self" href="/docs/codecov-yaml"><span class="Sidebar-link-textLuTE1ySm4Kqn"><button aria-expanded="false" aria-label="Show subpages for Codecov YAML" class="Sidebar-link-buttonWrapper3hnFHNku8_BJ"><i class="Sidebar-link-expandIcon2yVH6SarI6NW icon-chevron-rightward"></i></button><span class="Sidebar-link-text_label1gCT_uPnx7Gu">Codecov YAML</span></span></a><ul class="subpages Sidebar-list3cZWQLaBf9k8 rm-Sidebar-list"><li class="Sidebar-item23D-2Kd61_k3"><a class="Sidebar-link2Dsha-r-GKh2 childless subpage text-wrap rm-Sidebar-link" target="_self" href="/docs/codecovyml-reference"><span class="Sidebar-link-textLuTE1ySm4Kqn"><span class="Sidebar-link-text_label1gCT_uPnx7Gu">codecov.yml Reference</span></span></a></li><li class="Sidebar-item23D-2Kd61_k3"><a class="Sidebar-link2Dsha-r-GKh2 childless subpage text-wrap rm-Sidebar-link" target="_self" href="/docs/coverage-configuration"><span class="Sidebar-link-textLuTE1ySm4Kqn"><span class="Sidebar-link-text_label1gCT_uPnx7Gu">Coverage Configuration</span></span></a></li></ul></li><li class="Sidebar-item23D-2Kd61_k3"><a class="Sidebar-link2Dsha-r-GKh2 Sidebar-link_parent3OBrzjAJRSfq text-wrap rm-Sidebar-link" target="_self" href="/docs/about-the-codecov-bash-uploader"><span class="Sidebar-link-textLuTE1ySm4Kqn"><button aria-expanded="false" aria-label="Show subpages for [Deprecating] Bash Uploader" class="Sidebar-link-buttonWrapper3hnFHNku8_BJ"><i class="Sidebar-link-expandIcon2yVH6SarI6NW icon-chevron-rightward"></i></button><span class="Sidebar-link-text_label1gCT_uPnx7Gu">[Deprecating] Bash Uploader</span></span></a><ul class="subpages Sidebar-list3cZWQLaBf9k8 rm-Sidebar-list"><li class="Sidebar-item23D-2Kd61_k3"><a class="Sidebar-link2Dsha-r-GKh2 childless subpage text-wrap rm-Sidebar-link" target="_self" href="/docs/deprecated-uploader-migration-guide"><span class="Sidebar-link-textLuTE1ySm4Kqn"><span class="Sidebar-link-text_label1gCT_uPnx7Gu">Deprecating (Bash) Uploader Migration Guide</span></span></a></li></ul></li><li class="Sidebar-item23D-2Kd61_k3"><a class="Sidebar-link2Dsha-r-GKh2 childless text-wrap rm-Sidebar-link" target="_self" href="/docs/github-oauth-application-authorization"><span class="Sidebar-link-textLuTE1ySm4Kqn"><span class="Sidebar-link-text_label1gCT_uPnx7Gu">GitHub Admin Authorization</span></span></a></li><li class="Sidebar-item23D-2Kd61_k3"><a class="Sidebar-link2Dsha-r-GKh2 childless text-wrap rm-Sidebar-link" target="_self" href="/docs/securing-access-to-codecov-ui-with-okta"><span class="Sidebar-link-textLuTE1ySm4Kqn"><span class="Sidebar-link-text_label1gCT_uPnx7Gu">Securing access to Codecov UI with Okta</span></span></a></li></ul></section><section class="Sidebar-listWrapper6Q9_yUrG906C rm-Sidebar-section"><h2 class="Sidebar-headingTRQyOa2pk0gh rm-Sidebar-heading">JavaScript Bundle Analysis</h2><ul class="Sidebar-list3cZWQLaBf9k8 rm-Sidebar-list"><li class="Sidebar-item23D-2Kd61_k3"><a class="Sidebar-link2Dsha-r-GKh2 childless text-wrap rm-Sidebar-link" target="_self" href="/docs/javascript-bundle-analysis"><span class="Sidebar-link-textLuTE1ySm4Kqn"><span class="Sidebar-link-text_label1gCT_uPnx7Gu">Overview - Bundle Analysis</span></span></a></li><li class="Sidebar-item23D-2Kd61_k3"><a class="Sidebar-link2Dsha-r-GKh2 childless text-wrap rm-Sidebar-link" target="_self" href="/docs/bundle-names"><span class="Sidebar-link-textLuTE1ySm4Kqn"><span class="Sidebar-link-text_label1gCT_uPnx7Gu">Bundle Names</span></span></a></li><li class="Sidebar-item23D-2Kd61_k3"><a class="Sidebar-link2Dsha-r-GKh2 childless text-wrap rm-Sidebar-link" target="_self" href="/docs/supported-build-environments"><span class="Sidebar-link-textLuTE1ySm4Kqn"><span class="Sidebar-link-text_label1gCT_uPnx7Gu">Supported Build Environments</span></span></a></li><li class="Sidebar-item23D-2Kd61_k3"><a class="Sidebar-link2Dsha-r-GKh2 childless text-wrap rm-Sidebar-link" target="_self" href="/docs/environment-specific-requirements"><span class="Sidebar-link-textLuTE1ySm4Kqn"><span class="Sidebar-link-text_label1gCT_uPnx7Gu">Environment Specific Requirements</span></span></a></li><li class="Sidebar-item23D-2Kd61_k3"><a class="Sidebar-link2Dsha-r-GKh2 childless text-wrap rm-Sidebar-link" target="_self" href="/docs/bundle-analysis-faq"><span class="Sidebar-link-textLuTE1ySm4Kqn"><span class="Sidebar-link-text_label1gCT_uPnx7Gu">FAQ - Bundle Analysis</span></span></a></li><li class="Sidebar-item23D-2Kd61_k3"><a class="Sidebar-link2Dsha-r-GKh2 childless text-wrap rm-Sidebar-link" target="_self" href="/docs/tokenless-bundle-analysis"><span class="Sidebar-link-textLuTE1ySm4Kqn"><span class="Sidebar-link-text_label1gCT_uPnx7Gu">Tokenless - Bundle Analysis</span></span></a></li><li class="Sidebar-item23D-2Kd61_k3"><a class="Sidebar-link2Dsha-r-GKh2 childless text-wrap rm-Sidebar-link" target="_self" href="/docs/github-oidc-bundle-analysis"><span class="Sidebar-link-textLuTE1ySm4Kqn"><span class="Sidebar-link-text_label1gCT_uPnx7Gu">GitHub OIDC - Bundle Analysis</span></span></a></li><li class="Sidebar-item23D-2Kd61_k3"><a class="Sidebar-link2Dsha-r-GKh2 childless text-wrap rm-Sidebar-link" target="_self" href="/docs/astro-quick-start"><span class="Sidebar-link-textLuTE1ySm4Kqn"><span class="Sidebar-link-text_label1gCT_uPnx7Gu">Astro Quick Start</span></span></a></li><li class="Sidebar-item23D-2Kd61_k3"><a class="Sidebar-link2Dsha-r-GKh2 childless text-wrap rm-Sidebar-link" target="_self" href="/docs/nextjs-webpack-quick-start"><span class="Sidebar-link-textLuTE1ySm4Kqn"><span class="Sidebar-link-text_label1gCT_uPnx7Gu">NextJS (Webpack) Quick Start</span></span></a></li><li class="Sidebar-item23D-2Kd61_k3"><a class="Sidebar-link2Dsha-r-GKh2 childless text-wrap rm-Sidebar-link" target="_self" href="/docs/nuxt-quick-start"><span class="Sidebar-link-textLuTE1ySm4Kqn"><span class="Sidebar-link-text_label1gCT_uPnx7Gu">Nuxt Quick Start</span></span></a></li><li class="Sidebar-item23D-2Kd61_k3"><a class="Sidebar-link2Dsha-r-GKh2 childless text-wrap rm-Sidebar-link" target="_self" href="/docs/remix-vite-quick-start"><span class="Sidebar-link-textLuTE1ySm4Kqn"><span class="Sidebar-link-text_label1gCT_uPnx7Gu">Remix (Vite) Quick Start</span></span></a></li><li class="Sidebar-item23D-2Kd61_k3"><a class="Sidebar-link2Dsha-r-GKh2 childless text-wrap rm-Sidebar-link" target="_self" href="/docs/rollup-quick-start"><span class="Sidebar-link-textLuTE1ySm4Kqn"><span class="Sidebar-link-text_label1gCT_uPnx7Gu">Rollup Quick Start</span></span></a></li><li class="Sidebar-item23D-2Kd61_k3"><a class="Sidebar-link2Dsha-r-GKh2 childless text-wrap rm-Sidebar-link" target="_self" href="/docs/sveltekit-quick-start"><span class="Sidebar-link-textLuTE1ySm4Kqn"><span class="Sidebar-link-text_label1gCT_uPnx7Gu">SvelteKit Quick Start</span></span></a></li><li class="Sidebar-item23D-2Kd61_k3"><a class="Sidebar-link2Dsha-r-GKh2 childless text-wrap rm-Sidebar-link" target="_self" href="/docs/solidstart-quick-start"><span class="Sidebar-link-textLuTE1ySm4Kqn"><span class="Sidebar-link-text_label1gCT_uPnx7Gu">SolidStart Quick Start</span></span></a></li><li class="Sidebar-item23D-2Kd61_k3"><a class="Sidebar-link2Dsha-r-GKh2 childless text-wrap rm-Sidebar-link" target="_self" href="/docs/vite-quick-start"><span class="Sidebar-link-textLuTE1ySm4Kqn"><span class="Sidebar-link-text_label1gCT_uPnx7Gu">Vite Quick Start (React, Vue, Svelte, SolidJS, etc.)</span></span></a></li><li class="Sidebar-item23D-2Kd61_k3"><a class="Sidebar-link2Dsha-r-GKh2 childless text-wrap rm-Sidebar-link" target="_self" href="/docs/webpack-quick-start"><span class="Sidebar-link-textLuTE1ySm4Kqn"><span class="Sidebar-link-text_label1gCT_uPnx7Gu">Webpack 5 Quick Start (Angular, CRACO)</span></span></a></li><li class="Sidebar-item23D-2Kd61_k3"><a class="Sidebar-link2Dsha-r-GKh2 childless text-wrap rm-Sidebar-link" target="_self" href="/docs/bundle-analyzer-quick-start"><span class="Sidebar-link-textLuTE1ySm4Kqn"><span class="Sidebar-link-text_label1gCT_uPnx7Gu">Bundle Analyzer Quick Start</span></span></a></li></ul></section><section class="Sidebar-listWrapper6Q9_yUrG906C rm-Sidebar-section"><h2 class="Sidebar-headingTRQyOa2pk0gh rm-Sidebar-heading">Codecov DEDICATED ENTERPRISE CLOUD</h2><ul class="Sidebar-list3cZWQLaBf9k8 rm-Sidebar-list"><li class="Sidebar-item23D-2Kd61_k3"><a class="Sidebar-link2Dsha-r-GKh2 childless text-wrap rm-Sidebar-link" target="_self" href="/docs/codecov-dedicated-enterprise-cloud-install-steps"><span class="Sidebar-link-textLuTE1ySm4Kqn"><span class="Sidebar-link-text_label1gCT_uPnx7Gu">Dedicated Enterprise Cloud Guide</span></span></a></li><li class="Sidebar-item23D-2Kd61_k3"><a class="Sidebar-link2Dsha-r-GKh2 Sidebar-link_parent3OBrzjAJRSfq text-wrap rm-Sidebar-link" target="_self" href="/docs/github-app-integration-for-codecov-dedicated-cloud"><span class="Sidebar-link-textLuTE1ySm4Kqn"><button aria-expanded="false" aria-label="Show subpages for GitHub App Integration for Dedicated Cloud" class="Sidebar-link-buttonWrapper3hnFHNku8_BJ"><i class="Sidebar-link-expandIcon2yVH6SarI6NW icon-chevron-rightward"></i></button><span class="Sidebar-link-text_label1gCT_uPnx7Gu">GitHub App Integration for Dedicated Cloud</span></span></a><ul class="subpages Sidebar-list3cZWQLaBf9k8 rm-Sidebar-list"><li class="Sidebar-item23D-2Kd61_k3"><a class="Sidebar-link2Dsha-r-GKh2 childless subpage text-wrap rm-Sidebar-link" target="_self" href="/docs/prefilled-github-app-creation"><span class="Sidebar-link-textLuTE1ySm4Kqn"><span class="Sidebar-link-text_label1gCT_uPnx7Gu">Prefilled Github App Creation</span></span></a></li><li class="Sidebar-item23D-2Kd61_k3"><a class="Sidebar-link2Dsha-r-GKh2 childless subpage text-wrap rm-Sidebar-link" target="_self" href="/docs/manual-github-app-creation"><span class="Sidebar-link-textLuTE1ySm4Kqn"><span class="Sidebar-link-text_label1gCT_uPnx7Gu">Manual GitHub App Creation</span></span></a></li><li class="Sidebar-item23D-2Kd61_k3"><a class="Sidebar-link2Dsha-r-GKh2 childless subpage text-wrap rm-Sidebar-link" target="_self" href="/docs/secure-credential-transmission"><span class="Sidebar-link-textLuTE1ySm4Kqn"><span class="Sidebar-link-text_label1gCT_uPnx7Gu">Secure Credential Transmission</span></span></a></li></ul></li><li class="Sidebar-item23D-2Kd61_k3"><a class="Sidebar-link2Dsha-r-GKh2 childless text-wrap rm-Sidebar-link" target="_self" href="/docs/ip-acl-restrictions"><span class="Sidebar-link-textLuTE1ySm4Kqn"><span class="Sidebar-link-text_label1gCT_uPnx7Gu">IP Access Control List Restrictions</span></span></a></li><li class="Sidebar-item23D-2Kd61_k3"><a class="Sidebar-link2Dsha-r-GKh2 Sidebar-link_parent3OBrzjAJRSfq text-wrap rm-Sidebar-link" target="_self" href="/docs/peering"><span class="Sidebar-link-textLuTE1ySm4Kqn"><button aria-expanded="false" aria-label="Show subpages for Peering" class="Sidebar-link-buttonWrapper3hnFHNku8_BJ"><i class="Sidebar-link-expandIcon2yVH6SarI6NW icon-chevron-rightward"></i></button><span class="Sidebar-link-text_label1gCT_uPnx7Gu">Peering</span></span></a><ul class="subpages Sidebar-list3cZWQLaBf9k8 rm-Sidebar-list"><li class="Sidebar-item23D-2Kd61_k3"><a class="Sidebar-link2Dsha-r-GKh2 childless subpage text-wrap rm-Sidebar-link" target="_self" href="/docs/aws"><span class="Sidebar-link-textLuTE1ySm4Kqn"><span class="Sidebar-link-text_label1gCT_uPnx7Gu">AWS Peering</span></span></a></li></ul></li></ul></section><section class="Sidebar-listWrapper6Q9_yUrG906C rm-Sidebar-section"><h2 class="Sidebar-headingTRQyOa2pk0gh rm-Sidebar-heading">Codecov Self-Hosted</h2><ul class="Sidebar-list3cZWQLaBf9k8 rm-Sidebar-list"><li class="Sidebar-item23D-2Kd61_k3"><a class="Sidebar-link2Dsha-r-GKh2 Sidebar-link_parent3OBrzjAJRSfq text-wrap rm-Sidebar-link" target="_self" href="/docs/installing-codecov-self-hosted"><span class="Sidebar-link-textLuTE1ySm4Kqn"><button aria-expanded="false" aria-label="Show subpages for Codecov Self-Hosted Install Guide" class="Sidebar-link-buttonWrapper3hnFHNku8_BJ"><i class="Sidebar-link-expandIcon2yVH6SarI6NW icon-chevron-rightward"></i></button><span class="Sidebar-link-text_label1gCT_uPnx7Gu">Codecov Self-Hosted Install Guide</span></span></a><ul class="subpages Sidebar-list3cZWQLaBf9k8 rm-Sidebar-list"><li class="Sidebar-item23D-2Kd61_k3"><a class="Sidebar-link2Dsha-r-GKh2 childless subpage text-wrap rm-Sidebar-link" target="_self" href="/docs/configuration"><span class="Sidebar-link-textLuTE1ySm4Kqn"><span class="Sidebar-link-text_label1gCT_uPnx7Gu">Self-Hosted Configuration</span></span></a></li><li class="Sidebar-item23D-2Kd61_k3"><a class="Sidebar-link2Dsha-r-GKh2 childless subpage text-wrap rm-Sidebar-link" target="_self" href="/docs/set-up-oauth-login"><span class="Sidebar-link-textLuTE1ySm4Kqn"><span class="Sidebar-link-text_label1gCT_uPnx7Gu">Set Up Oauth Login (Self-Hosted)</span></span></a></li><li class="Sidebar-item23D-2Kd61_k3"><a class="Sidebar-link2Dsha-r-GKh2 childless subpage text-wrap rm-Sidebar-link" target="_self" href="/docs/install-guide"><span class="Sidebar-link-textLuTE1ySm4Kqn"><span class="Sidebar-link-text_label1gCT_uPnx7Gu">Other Install Notes and Updates</span></span></a></li></ul></li><li class="Sidebar-item23D-2Kd61_k3"><a class="Sidebar-link2Dsha-r-GKh2 Sidebar-link_parent3OBrzjAJRSfq text-wrap rm-Sidebar-link" target="_self" href="/docs/integrations-for-codecov-self-hosted"><span class="Sidebar-link-textLuTE1ySm4Kqn"><button aria-expanded="false" aria-label="Show subpages for Integrations for Codecov Self-Hosted" class="Sidebar-link-buttonWrapper3hnFHNku8_BJ"><i class="Sidebar-link-expandIcon2yVH6SarI6NW icon-chevron-rightward"></i></button><span class="Sidebar-link-text_label1gCT_uPnx7Gu">Integrations for Codecov Self-Hosted</span></span></a><ul class="subpages Sidebar-list3cZWQLaBf9k8 rm-Sidebar-list"><li class="Sidebar-item23D-2Kd61_k3"><a class="Sidebar-link2Dsha-r-GKh2 childless subpage text-wrap rm-Sidebar-link" target="_self" href="/docs/how-to-create-a-github-app-for-codecov-enterprise"><span class="Sidebar-link-textLuTE1ySm4Kqn"><span class="Sidebar-link-text_label1gCT_uPnx7Gu">GitHub App Integration for Codecov Self-Hosted</span></span></a></li></ul></li><li class="Sidebar-item23D-2Kd61_k3"><a class="Sidebar-link2Dsha-r-GKh2 childless text-wrap rm-Sidebar-link" target="_self" href="/docs/frequently-asked-questions-1"><span class="Sidebar-link-textLuTE1ySm4Kqn"><span class="Sidebar-link-text_label1gCT_uPnx7Gu">Frequently Asked Questions - Self-Hosted</span></span></a></li></ul></section><section class="Sidebar-listWrapper6Q9_yUrG906C rm-Sidebar-section"><h2 class="Sidebar-headingTRQyOa2pk0gh rm-Sidebar-heading">Site</h2><ul class="Sidebar-list3cZWQLaBf9k8 rm-Sidebar-list"><li class="Sidebar-item23D-2Kd61_k3"><a class="Sidebar-link2Dsha-r-GKh2 childless text-wrap rm-Sidebar-link" target="_self" data-active="" href="https://about.codecov.io/privacy/"><span class="Sidebar-link-textLuTE1ySm4Kqn"><span class="Sidebar-link-text_label1gCT_uPnx7Gu">Privacy Policy</span></span><i aria-label="Link opens in a new tab" class="Sidebar-link-externalIcon1RcnjKm-3Ft8 icon-arrow-up-right"></i></a></li><li class="Sidebar-item23D-2Kd61_k3"><a class="Sidebar-link2Dsha-r-GKh2 childless text-wrap rm-Sidebar-link" target="_self" data-active="" href="https://about.codecov.io/security/"><span class="Sidebar-link-textLuTE1ySm4Kqn"><span class="Sidebar-link-text_label1gCT_uPnx7Gu">Security Policy</span></span><i aria-label="Link opens in a new tab" class="Sidebar-link-externalIcon1RcnjKm-3Ft8 icon-arrow-up-right"></i></a></li><li class="Sidebar-item23D-2Kd61_k3"><a class="Sidebar-link2Dsha-r-GKh2 childless text-wrap rm-Sidebar-link" target="_self" data-active="" href="https://about.codecov.io/terms-and-conditions/"><span class="Sidebar-link-textLuTE1ySm4Kqn"><span class="Sidebar-link-text_label1gCT_uPnx7Gu">Terms of Use</span></span><i aria-label="Link opens in a new tab" class="Sidebar-link-externalIcon1RcnjKm-3Ft8 icon-arrow-up-right"></i></a></li></ul></section></div></nav><article class="rm-Article " id="content"><header id="content-head"><div class="row clearfix"><div class="col-xs-9"><h1>Quick Start</h1><div class="excerpt"><div class="rm-Markdown markdown-body" data-testid="RDMD"><p>A quick start guide for those that are brand new to Codecov.</p></div></div></div><div class="col-xs-3"><a class="suggestEdits" rel="nofollow" href="/edit/quick-start"><i aria-hidden="true" class="icon icon-edit"></i> Suggest Edits</a></div></div></header><div class="grid-container-fluid" id="content-container"><section class="content-body grid-75"><div dehydrated="<p>This guide is meant to help you get started with Codecov as quickly as possible. By the end of the guide, you will have:</p> <ul> <li>Integrated Codecov into your CI pipeline</li> <li>Uploaded coverage to Codecov</li> <li>Viewed coverage reports in Codecov&#x27;s app as well as in your pull requests / merge requests</li> </ul> <h2 class="heading heading-2 header-scroll" align=""><div class="heading-anchor anchor waypoint" id="prerequisites"></div><div class="heading-text"><div id="section-prerequisites" class="heading-anchor_backwardsCompatibility"></div>Prerequisites</div><a aria-label="Skip link to Prerequisites" class="heading-anchor-icon fa fa-anchor" href="#prerequisites"></a></h2> <p>In order to get started, you will need the following:</p> <ol> <li>Access to a repository with <a href="https://github.com/" target="_blank" title="">GitHub</a>, <a href="https://bitbucket.org" target="_blank" title="">Bitbucket</a>, or <a href="https://gitlab.com/" target="_blank" title="">GitLab</a>. <ol> <li>If you are a GitHub user you <strong>MUST</strong> install the <a href="https://github.com/apps/codecov" target="" title="">Codecov GitHub app</a> for your organization - Codecov can&#x27;t function without it.</li> </ol> </li> <li>A CI environment that runs tests and generates coverage reports.</li> </ol> <blockquote class="callout callout_info" theme="📘"><h2 class="callout-heading"><span class="callout-icon">📘</span><p>Not ready to use Codecov on your own repositories?</p></h2><p>Try it out for yourself with the Codecov tutorials for <a href="/docs/github-tutorial" target="" title="" class="doc-link" data-sidebar="github-tutorial">GitHub</a>, <a href="/docs/bitbucket-tutorial" target="" title="" class="doc-link" data-sidebar="bitbucket-tutorial">Bitbucket</a>, or <a href="/docs/gitlab-tutorial" target="" title="" class="doc-link" data-sidebar="gitlab-tutorial">GitLab</a> to see what Codecov has to offer.</p></blockquote> <h2 class="heading heading-2 header-scroll" align=""><div class="heading-anchor anchor waypoint" id="getting-started"></div><div class="heading-text"><div id="section-getting-started" class="heading-anchor_backwardsCompatibility"></div>Getting Started</div><a aria-label="Skip link to Getting Started" class="heading-anchor-icon fa fa-anchor" href="#getting-started"></a></h2> <h3 class="heading heading-3 header-scroll" align=""><div class="heading-anchor anchor waypoint" id="step-1-sign-up-for-codecov"></div><div class="heading-text"><div id="section-step-1-sign-up-for-codecov" class="heading-anchor_backwardsCompatibility"></div>Step 1: Sign up for Codecov</div><a aria-label="Skip link to Step 1: Sign up for Codecov" class="heading-anchor-icon fa fa-anchor" href="#step-1-sign-up-for-codecov"></a></h3> <p><a href="https://app.codecov.io/signup/" target="_blank" title="">Sign up</a> for a Codecov account to connect your individual code host account with Codecov. You will be brought to a page with a list of repositories.</p> <span aria-label="" class="img lightbox closed" role="button" tabindex="0"><span class="lightbox-inner"><img alt="" loading="lazy" src="https://files.readme.io/025fa9c-codecov_onboarding.png" align="center" class="" caption="" height="auto" title="" width="auto"/></span></span> <p>Not seeing any repositories? Try clicking <button aria-label="Copy Code" class="rdmd-code-copy fa"></button><code class="rdmd-code lang- theme-light" data-lang="" name="" tabindex="0">Not Configured</code> on the left toggle. If you&#x27;re a GitHub user, you may need to allow additional repositories to access Codecov in the <a href="https://github.com/apps/codecov/installations/new" target="" title="">app configuration.</a>. Note that if this is your first time logging into Codecov, it may take a few moments for your repositories to sync and appear in the UI.</p> <p><span aria-label="" class="img lightbox closed" role="button" tabindex="0"><span class="lightbox-inner"><img alt="" loading="lazy" src="https://files.readme.io/6b59d0c-image.png" align="" caption="" height="auto" title="" width="auto"/></span></span></p> <p><strong>Additional Admin Approval for GitHub users</strong><br/> If you are signing up via GitHub and not an admin of your Github organization, you may need to request access from an admin to authorize Codecov as a third-party GitHub application. For more information see <a href="/docs/github-oauth-application-authorization" target="" title="" class="doc-link" data-sidebar="github-oauth-application-authorization">GitHub Admin Authorization</a>.</p> <h3 class="heading heading-3 header-scroll" align=""><div class="heading-anchor anchor waypoint" id="step-2-get-the-repository-upload-token"></div><div class="heading-text"><div id="section-step-2-get-the-repository-upload-token" class="heading-anchor_backwardsCompatibility"></div>Step 2: Get the repository upload token</div><a aria-label="Skip link to Step 2: Get the repository upload token" class="heading-anchor-icon fa fa-anchor" href="#step-2-get-the-repository-upload-token"></a></h3> <p>Click on <button aria-label="Copy Code" class="rdmd-code-copy fa"></button><code class="rdmd-code lang- theme-light" data-lang="" name="" tabindex="0">setup repo</code> for the repository you would like to use Codecov. This should take you to the setup screen for the repository.</p> <span aria-label="Screenshot of the Getting started page, showing the upload token and instructions on how to use the GiHub Action to upload" class="img lightbox closed" role="button" tabindex="0"><span class="lightbox-inner"><img alt="Screenshot of the Getting started page, showing the upload token and instructions on how to use the GiHub Action to upload" loading="lazy" src="https://files.readme.io/d5416fd-app.codecov.io_github_codecov_codecov-demo_new.png" align="center" class="" caption="" height="auto" title="" width="auto"/></span></span> <p>Copy the token as shown in step one for later. It will be used to authenticate and verify coverage reports uploaded for this repository.</p> <h3 class="heading heading-3 header-scroll" align=""><div class="heading-anchor anchor waypoint" id="step-3-setup-integrationteam-bot-gitlab-and-bitbucket-only"></div><div class="heading-text"><div id="section-step-3-setup-integration-team-bot-git-lab-and-bitbucket-only" class="heading-anchor_backwardsCompatibility"></div>Step 3: Setup integration/team bot (GitLab and Bitbucket only)</div><a aria-label="Skip link to Step 3: Setup integration/team bot (GitLab and Bitbucket only)" class="heading-anchor-icon fa fa-anchor" href="#step-3-setup-integrationteam-bot-gitlab-and-bitbucket-only"></a></h3> <p>To communicate between your code host and Codecov, you will need to <a href="/docs/team-bot" target="" title="" class="doc-link" data-sidebar="team-bot">add a Team Bot</a> for Bitbucket and GitLab. </p> <p>No further action is required for GitHub users at this step. GitHub utilizes Codecov&#x27;s GitHub app for this functionality and is handled in Step 1: Signing up for Codecov. </p> <h3 class="heading heading-3 header-scroll" align=""><div class="heading-anchor anchor waypoint" id="step-4-upload-coverage-reports-to-codecov"></div><div class="heading-text"><div id="section-step-4-upload-coverage-reports-to-codecov" class="heading-anchor_backwardsCompatibility"></div>Step 4: Upload coverage reports to Codecov</div><a aria-label="Skip link to Step 4: Upload coverage reports to Codecov" class="heading-anchor-icon fa fa-anchor" href="#step-4-upload-coverage-reports-to-codecov"></a></h3> <p>Use the <a href="/docs/codecov-uploader" target="" title="" class="doc-link" data-sidebar="codecov-uploader">Codecov CLI</a> and the repository upload token to upload your coverage report(s) to Codecov. <strong>These tools should be added as a step in your CI pipeline.</strong></p> <p>The following CI providers have built-in utilities that will also verify the <a href="https://docs.codecov.com/docs/codecov-uploader#integrity-checking-the-uploader" target="" title="">uploader integrity</a> before uploading to Codecov:</p> <ul> <li><a href="https://www.bitrise.io/integrations/steps/codecov" target="_blank" title="">Bitrise</a></li> <li><a href="https://circleci.com/developer/orbs/orb/codecov/codecov" target="" title="">CircleCI</a></li> <li><a href="https://github.com/codecov/codecov-action" target="_blank" title="">GitHub Actions</a></li> </ul> <p>We <strong>highly recommend</strong> using these built-in Codecov utilities in their respective workflows.</p> <p>An example of a workflow using the CLI with GitHub Actions is shown below.</p> <div class="CodeTabs CodeTabs_initial theme-light"><div class="CodeTabs-toolbar" role="tablist"><button aria-selected="true" class="CodeTabs_active" role="tab" type="button">.github/workflows/test.yml</button></div><div class="CodeTabs-inner" role="tabpanel"><pre><button aria-label="Copy Code" class="rdmd-code-copy fa"></button><code class="rdmd-code lang-yaml theme-light" data-lang="yaml" name=".github/workflows/test.yml" tabindex="0">name: API workflow on: [push, pull_request] jobs: build: runs-on: ubuntu-latest name: Test python API steps: - uses: actions/checkout@v4 - name: Install requirements run: pip install -r requirements.txt - name: Run tests and collect coverage run: pytest --cov . - name: Upload coverage reports to Codecov run: | # Replace `linux` below with the appropriate OS # Options are `alpine`, `linux`, `macos`, `windows` curl -Os https://cli.codecov.io/latest/linux/codecov chmod +x codecov ./codecov --verbose upload-process --fail-on-error -t ${{ secrets.CODECOV_TOKEN }} -n &#x27;service&#x27;-${{ github.run_id }} -F service -f coverage-service.xml </code></pre></div></div> <p>You can check out some of our <a href="https://docs.codecov.com/docs/supported-languages" target="_blank" title="">example repositories</a> for more help on this step.</p> <h3 class="heading heading-3 header-scroll" align=""><div class="heading-anchor anchor waypoint" id="step-5-get-coverage-analysis-from-codecov"></div><div class="heading-text"><div id="section-step-5-get-coverage-analysis-from-codecov" class="heading-anchor_backwardsCompatibility"></div>Step 5: Get coverage analysis from Codecov</div><a aria-label="Skip link to Step 5: Get coverage analysis from Codecov" class="heading-anchor-icon fa fa-anchor" href="#step-5-get-coverage-analysis-from-codecov"></a></h3> <p>After making the above edits, commit your changes and run your CI pipeline. You should see something similar in the build logs</p> <span aria-label="CI logs showing Codecov CLI in action" class="img lightbox closed" role="button" tabindex="0"><span class="lightbox-inner"><img alt="CI logs showing Codecov CLI in action" loading="lazy" src="https://files.readme.io/9ce18f6-Screenshot_2024-04-30_at_9.51.03_AM.png" title="upload.png" align="center" class="" caption="" height="auto" width="auto"/></span></span> <p>In your pull request, you should see a single <a href="/docs/commit-status" target="" title="" class="doc-link" data-sidebar="commit-status">status checks</a> like</p> <span aria-label="Patch coverage check from Codecov" class="img lightbox closed" role="button" tabindex="0"><span class="lightbox-inner"><img alt="Patch coverage check from Codecov" loading="lazy" src="https://files.readme.io/8a2787d-Screenshot_2024-04-30_at_9.51.45_AM.png" title="checks.png" align="center" class="" caption="" height="auto" width="auto"/></span></span> <p>and a <a href="/docs/pull-request-comments" target="" title="" class="doc-link" data-sidebar="pull-request-comments">pull request comment</a> similar to</p> <span aria-label="PR comment with Patch Coverage info only" class="img lightbox closed" role="button" tabindex="0"><span class="lightbox-inner"><img alt="PR comment with Patch Coverage info only" loading="lazy" src="https://files.readme.io/bd7ed7e-Screenshot_2024-04-30_at_9.57.28_AM.png" title="comment.png" align="center" class="" caption="" height="auto" width="auto"/></span></span> <p>By default, Codecov will gate and report on <a href="https://docs.codecov.com/docs/changing-your-pr-comment-format" target="" title="">coverage changes on Git diff</a>in the Pull request; with overall project coverage reporting available on the Codecov dashboard.</p> <h3 class="heading heading-3 header-scroll" align=""><div class="heading-anchor anchor waypoint" id="step-6-view-the-dashboard-on-codecov"></div><div class="heading-text"><div id="section-step-6-view-the-dashboard-on-codecov" class="heading-anchor_backwardsCompatibility"></div>Step 6: View the dashboard on Codecov</div><a aria-label="Skip link to Step 6: View the dashboard on Codecov" class="heading-anchor-icon fa fa-anchor" href="#step-6-view-the-dashboard-on-codecov"></a></h3> <p>After merging the above pull request, go back to Codecov and view the dashboard of your repository to see trends in coverage over time.</p> <span aria-label="" class="img lightbox closed" role="button" tabindex="0"><span class="lightbox-inner"><img alt="" loading="lazy" src="https://files.readme.io/65bc570-Screenshot_2024-08-15_at_08.23.35.png" align="center" class="" caption="" height="auto" title="" width="auto"/></span></span> <p>You can also view coverage for individual commits and pull requests, as well as coverage overlays to get a better understanding of what code hasn&#x27;t been tested.</p> <blockquote class="callout callout_warn" theme="🚧"><h2 class="callout-heading"><span class="callout-icon">🚧</span><p>Not seeing coverage on the dashboard?</p></h2><p>Go to the <button aria-label="Copy Code" class="rdmd-code-copy fa"></button><code class="rdmd-code lang- theme-light" data-lang="" name="" tabindex="0">Configuration</code> -&gt; <button aria-label="Copy Code" class="rdmd-code-copy fa"></button><code class="rdmd-code lang- theme-light" data-lang="" name="" tabindex="0">General</code> tab in Codecov and double-check that the default branch is properly set.</p></blockquote> <h2 class="heading heading-2 header-scroll" align=""><div class="heading-anchor anchor waypoint" id="tips-and-tricks"></div><div class="heading-text"><div id="section-tips-and-tricks" class="heading-anchor_backwardsCompatibility"></div>Tips and Tricks</div><a aria-label="Skip link to Tips and Tricks" class="heading-anchor-icon fa fa-anchor" href="#tips-and-tricks"></a></h2> <p><strong>1.</strong> Want project coverage checks and project coverage report in your PR comments as well? Add the following to your <button aria-label="Copy Code" class="rdmd-code-copy fa"></button><code class="rdmd-code lang- theme-light" data-lang="" name="" tabindex="0">codecov.yml</code></p> <p>The snippet below adds project coverage checks to every PR.</p> <div class="CodeTabs CodeTabs_initial theme-light"><div class="CodeTabs-toolbar" role="tablist"><button aria-selected="true" class="CodeTabs_active" role="tab" type="button">codecov.yml</button></div><div class="CodeTabs-inner" role="tabpanel"><pre><button aria-label="Copy Code" class="rdmd-code-copy fa"></button><code class="rdmd-code lang-yaml theme-light" data-lang="yaml" name="codecov.yml" tabindex="0">coverage: status: project: #add everything under here, more options at https://docs.codecov.com/docs/commit-status default: # basic target: auto #default threshold: 0% base: auto </code></pre></div></div> <p>The snippet below adds project coverage reporting to a PR comment from Codecov</p> <div class="CodeTabs CodeTabs_initial theme-light"><div class="CodeTabs-toolbar" role="tablist"><button aria-selected="true" class="CodeTabs_active" role="tab" type="button">codecov.yml</button></div><div class="CodeTabs-inner" role="tabpanel"><pre><button aria-label="Copy Code" class="rdmd-code-copy fa"></button><code class="rdmd-code lang-yaml theme-light" data-lang="yaml" name="codecov.yml" tabindex="0">comment: #this is a top-level key layout: &quot; diff, flags, files&quot; behavior: default require_changes: false # if true: only post the comment if coverage changes require_base: false # [true :: must have a base report to post] require_head: true # [true :: must have a head report to post] hide_project_coverage: false # [true :: only show coverage on the git diff aka patch coverage] </code></pre></div></div> <p><strong>2. </strong>Not ready to start using blocking status checks? Set them as informational while you and your team get started with code coverage.</p> <div class="CodeTabs CodeTabs_initial theme-light"><div class="CodeTabs-toolbar" role="tablist"><button aria-selected="true" class="CodeTabs_active" role="tab" type="button">codecov.yml</button></div><div class="CodeTabs-inner" role="tabpanel"><pre><button aria-label="Copy Code" class="rdmd-code-copy fa"></button><code class="rdmd-code lang-yaml theme-light" data-lang="yaml" name="codecov.yml" tabindex="0">coverage: status: project: default: informational: true patch: default: informational: true # When modifying this file, please validate using # curl -X POST --data-binary @codecov.yml https://codecov.io/validate </code></pre></div></div> <p><strong>3. </strong>Check out our <a href="/docs/common-recipe-list" target="" title="" class="doc-link" data-sidebar="common-recipe-list">recipe list</a> for common configuration questions.</p> <p><strong>4. </strong>Enforce relative or absolute targets and thresholds during your CI build using the <a href="/docs/codecov-yaml" target="" title="" class="doc-link" data-sidebar="codecov-yaml">Codecov YAML</a></p> <p><strong>5.</strong> Use <a href="/docs/components" target="" title="" class="doc-link" data-sidebar="components">Components</a> to split up a repository into separate projects by file path. This is great for monorepos or projects that include several teams or components. </p> <p><strong>6. </strong>Use <a href="/docs/flags" target="" title="" class="doc-link" data-sidebar="flags">flags</a> to categorize coverage results in a single repository. This is great for monorepos or projects that include different types of test coverage (e.g., unit, end-to-end, integration).</p> <p><strong>7. </strong>Use Codecov with the <a href="https://chrome.google.com/webstore/detail/codecov/gedikamndpbemklijjkncpnolildpbgo" target="" title="">Chrome Browser Extension</a> or <a href="https://addons.mozilla.org/en-US/firefox/addon/codecov/" target="" title="">Firefox Browser Extension</a> (GitHub Only for now).</p>" style="margin-left:31px" class="rm-Markdown markdown-body rm-Markdown markdown-body ng-non-bindable" data-testid="RDMD"><p>This guide is meant to help you get started with Codecov as quickly as possible. By the end of the guide, you will have:</p> <ul> <li>Integrated Codecov into your CI pipeline</li> <li>Uploaded coverage to Codecov</li> <li>Viewed coverage reports in Codecov's app as well as in your pull requests / merge requests</li> </ul> <h2 class="heading heading-2 header-scroll" align=""><div class="heading-anchor anchor waypoint" id="prerequisites"></div><div class="heading-text"><div id="section-prerequisites" class="heading-anchor_backwardsCompatibility"></div>Prerequisites</div><a aria-label="Skip link to Prerequisites" class="heading-anchor-icon fa fa-anchor" href="#prerequisites"></a></h2> <p>In order to get started, you will need the following:</p> <ol> <li>Access to a repository with <a target="_blank" href="https://github.com/">GitHub</a>, <a target="_blank" href="https://bitbucket.org">Bitbucket</a>, or <a target="_blank" href="https://gitlab.com/">GitLab</a>. <ol> <li>If you are a GitHub user you <strong>MUST</strong> install the <a target="_self" href="https://github.com/apps/codecov">Codecov GitHub app</a> for your organization - Codecov can't function without it.</li> </ol> </li> <li>A CI environment that runs tests and generates coverage reports.</li> </ol> <blockquote class="callout callout_info" theme="📘"><h2 class="callout-heading"><span class="callout-icon">📘</span><p>Not ready to use Codecov on your own repositories?</p></h2><p>Try it out for yourself with the Codecov tutorials for <a target="_self" href="/docs/github-tutorial">GitHub</a>, <a target="_self" href="/docs/bitbucket-tutorial">Bitbucket</a>, or <a target="_self" href="/docs/gitlab-tutorial">GitLab</a> to see what Codecov has to offer.</p></blockquote> <h2 class="heading heading-2 header-scroll" align=""><div class="heading-anchor anchor waypoint" id="getting-started"></div><div class="heading-text"><div id="section-getting-started" class="heading-anchor_backwardsCompatibility"></div>Getting Started</div><a aria-label="Skip link to Getting Started" class="heading-anchor-icon fa fa-anchor" href="#getting-started"></a></h2> <h3 class="heading heading-3 header-scroll" align=""><div class="heading-anchor anchor waypoint" id="step-1-sign-up-for-codecov"></div><div class="heading-text"><div id="section-step-1-sign-up-for-codecov" class="heading-anchor_backwardsCompatibility"></div>Step 1: Sign up for Codecov</div><a aria-label="Skip link to Step 1: Sign up for Codecov" class="heading-anchor-icon fa fa-anchor" href="#step-1-sign-up-for-codecov"></a></h3> <p><a target="_blank" href="https://app.codecov.io/signup/">Sign up</a> for a Codecov account to connect your individual code host account with Codecov. You will be brought to a page with a list of repositories.</p> <span aria-label="" class="img lightbox closed" role="button" tabindex="0"><span class="lightbox-inner"><img alt="" loading="lazy" src="https://files.readme.io/025fa9c-codecov_onboarding.png" align="center" class="" caption="" height="auto" title="" width="auto"/></span></span> <p>Not seeing any repositories? Try clicking <button aria-label="Copy Code" class="rdmd-code-copy fa"></button><code class="rdmd-code lang- theme-light" data-lang="" name="" tabindex="0">Not Configured</code> on the left toggle. If you're a GitHub user, you may need to allow additional repositories to access Codecov in the <a target="_self" href="https://github.com/apps/codecov/installations/new">app configuration.</a>. Note that if this is your first time logging into Codecov, it may take a few moments for your repositories to sync and appear in the UI.</p> <p><span aria-label="" class="img lightbox closed" role="button" tabindex="0"><span class="lightbox-inner"><img alt="" loading="lazy" src="https://files.readme.io/6b59d0c-image.png" align="" caption="" height="auto" title="" width="auto"/></span></span></p> <p><strong>Additional Admin Approval for GitHub users</strong><br/> If you are signing up via GitHub and not an admin of your Github organization, you may need to request access from an admin to authorize Codecov as a third-party GitHub application. For more information see <a target="_self" href="/docs/github-oauth-application-authorization">GitHub Admin Authorization</a>.</p> <h3 class="heading heading-3 header-scroll" align=""><div class="heading-anchor anchor waypoint" id="step-2-get-the-repository-upload-token"></div><div class="heading-text"><div id="section-step-2-get-the-repository-upload-token" class="heading-anchor_backwardsCompatibility"></div>Step 2: Get the repository upload token</div><a aria-label="Skip link to Step 2: Get the repository upload token" class="heading-anchor-icon fa fa-anchor" href="#step-2-get-the-repository-upload-token"></a></h3> <p>Click on <button aria-label="Copy Code" class="rdmd-code-copy fa"></button><code class="rdmd-code lang- theme-light" data-lang="" name="" tabindex="0">setup repo</code> for the repository you would like to use Codecov. This should take you to the setup screen for the repository.</p> <span aria-label="Screenshot of the Getting started page, showing the upload token and instructions on how to use the GiHub Action to upload" class="img lightbox closed" role="button" tabindex="0"><span class="lightbox-inner"><img alt="Screenshot of the Getting started page, showing the upload token and instructions on how to use the GiHub Action to upload" loading="lazy" src="https://files.readme.io/d5416fd-app.codecov.io_github_codecov_codecov-demo_new.png" align="center" class="" caption="" height="auto" title="" width="auto"/></span></span> <p>Copy the token as shown in step one for later. It will be used to authenticate and verify coverage reports uploaded for this repository.</p> <h3 class="heading heading-3 header-scroll" align=""><div class="heading-anchor anchor waypoint" id="step-3-setup-integrationteam-bot-gitlab-and-bitbucket-only"></div><div class="heading-text"><div id="section-step-3-setup-integration-team-bot-git-lab-and-bitbucket-only" class="heading-anchor_backwardsCompatibility"></div>Step 3: Setup integration/team bot (GitLab and Bitbucket only)</div><a aria-label="Skip link to Step 3: Setup integration/team bot (GitLab and Bitbucket only)" class="heading-anchor-icon fa fa-anchor" href="#step-3-setup-integrationteam-bot-gitlab-and-bitbucket-only"></a></h3> <p>To communicate between your code host and Codecov, you will need to <a target="_self" href="/docs/team-bot">add a Team Bot</a> for Bitbucket and GitLab. </p> <p>No further action is required for GitHub users at this step. GitHub utilizes Codecov's GitHub app for this functionality and is handled in Step 1: Signing up for Codecov. </p> <h3 class="heading heading-3 header-scroll" align=""><div class="heading-anchor anchor waypoint" id="step-4-upload-coverage-reports-to-codecov"></div><div class="heading-text"><div id="section-step-4-upload-coverage-reports-to-codecov" class="heading-anchor_backwardsCompatibility"></div>Step 4: Upload coverage reports to Codecov</div><a aria-label="Skip link to Step 4: Upload coverage reports to Codecov" class="heading-anchor-icon fa fa-anchor" href="#step-4-upload-coverage-reports-to-codecov"></a></h3> <p>Use the <a target="_self" href="/docs/codecov-uploader">Codecov CLI</a> and the repository upload token to upload your coverage report(s) to Codecov. <strong>These tools should be added as a step in your CI pipeline.</strong></p> <p>The following CI providers have built-in utilities that will also verify the <a target="_self" href="/docs/codecov-uploader#integrity-checking-the-uploader">uploader integrity</a> before uploading to Codecov:</p> <ul> <li><a target="_blank" href="https://www.bitrise.io/integrations/steps/codecov">Bitrise</a></li> <li><a target="_self" href="https://circleci.com/developer/orbs/orb/codecov/codecov">CircleCI</a></li> <li><a target="_blank" href="https://github.com/codecov/codecov-action">GitHub Actions</a></li> </ul> <p>We <strong>highly recommend</strong> using these built-in Codecov utilities in their respective workflows.</p> <p>An example of a workflow using the CLI with GitHub Actions is shown below.</p> <div class="CodeTabs CodeTabs_initial theme-light"><div class="CodeTabs-toolbar" role="tablist"><button aria-selected="true" class="CodeTabs_active" role="tab" type="button">.github/workflows/test.yml</button></div><div class="CodeTabs-inner" role="tabpanel"><pre><button aria-label="Copy Code" class="rdmd-code-copy fa"></button><code class="rdmd-code lang-yaml theme-light" data-lang="yaml" name=".github/workflows/test.yml" tabindex="0">name: API workflow on: [push, pull_request] jobs: build: runs-on: ubuntu-latest name: Test python API steps: - uses: actions/checkout@v4 - name: Install requirements run: pip install -r requirements.txt - name: Run tests and collect coverage run: pytest --cov . - name: Upload coverage reports to Codecov run: | # Replace `linux` below with the appropriate OS # Options are `alpine`, `linux`, `macos`, `windows` curl -Os https://cli.codecov.io/latest/linux/codecov chmod +x codecov ./codecov --verbose upload-process --fail-on-error -t ${{ secrets.CODECOV_TOKEN }} -n 'service'-${{ github.run_id }} -F service -f coverage-service.xml </code></pre></div></div> <p>You can check out some of our <a target="_blank" href="/docs/supported-languages">example repositories</a> for more help on this step.</p> <h3 class="heading heading-3 header-scroll" align=""><div class="heading-anchor anchor waypoint" id="step-5-get-coverage-analysis-from-codecov"></div><div class="heading-text"><div id="section-step-5-get-coverage-analysis-from-codecov" class="heading-anchor_backwardsCompatibility"></div>Step 5: Get coverage analysis from Codecov</div><a aria-label="Skip link to Step 5: Get coverage analysis from Codecov" class="heading-anchor-icon fa fa-anchor" href="#step-5-get-coverage-analysis-from-codecov"></a></h3> <p>After making the above edits, commit your changes and run your CI pipeline. You should see something similar in the build logs</p> <span aria-label="CI logs showing Codecov CLI in action" class="img lightbox closed" role="button" tabindex="0"><span class="lightbox-inner"><img alt="CI logs showing Codecov CLI in action" loading="lazy" src="https://files.readme.io/9ce18f6-Screenshot_2024-04-30_at_9.51.03_AM.png" title="upload.png" align="center" class="" caption="" height="auto" width="auto"/></span></span> <p>In your pull request, you should see a single <a target="_self" href="/docs/commit-status">status checks</a> like</p> <span aria-label="Patch coverage check from Codecov" class="img lightbox closed" role="button" tabindex="0"><span class="lightbox-inner"><img alt="Patch coverage check from Codecov" loading="lazy" src="https://files.readme.io/8a2787d-Screenshot_2024-04-30_at_9.51.45_AM.png" title="checks.png" align="center" class="" caption="" height="auto" width="auto"/></span></span> <p>and a <a target="_self" href="/docs/pull-request-comments">pull request comment</a> similar to</p> <span aria-label="PR comment with Patch Coverage info only" class="img lightbox closed" role="button" tabindex="0"><span class="lightbox-inner"><img alt="PR comment with Patch Coverage info only" loading="lazy" src="https://files.readme.io/bd7ed7e-Screenshot_2024-04-30_at_9.57.28_AM.png" title="comment.png" align="center" class="" caption="" height="auto" width="auto"/></span></span> <p>By default, Codecov will gate and report on <a target="_self" href="/docs/changing-your-pr-comment-format">coverage changes on Git diff</a>in the Pull request; with overall project coverage reporting available on the Codecov dashboard.</p> <h3 class="heading heading-3 header-scroll" align=""><div class="heading-anchor anchor waypoint" id="step-6-view-the-dashboard-on-codecov"></div><div class="heading-text"><div id="section-step-6-view-the-dashboard-on-codecov" class="heading-anchor_backwardsCompatibility"></div>Step 6: View the dashboard on Codecov</div><a aria-label="Skip link to Step 6: View the dashboard on Codecov" class="heading-anchor-icon fa fa-anchor" href="#step-6-view-the-dashboard-on-codecov"></a></h3> <p>After merging the above pull request, go back to Codecov and view the dashboard of your repository to see trends in coverage over time.</p> <span aria-label="" class="img lightbox closed" role="button" tabindex="0"><span class="lightbox-inner"><img alt="" loading="lazy" src="https://files.readme.io/65bc570-Screenshot_2024-08-15_at_08.23.35.png" align="center" class="" caption="" height="auto" title="" width="auto"/></span></span> <p>You can also view coverage for individual commits and pull requests, as well as coverage overlays to get a better understanding of what code hasn't been tested.</p> <blockquote class="callout callout_warn" theme="🚧"><h2 class="callout-heading"><span class="callout-icon">🚧</span><p>Not seeing coverage on the dashboard?</p></h2><p>Go to the <button aria-label="Copy Code" class="rdmd-code-copy fa"></button><code class="rdmd-code lang- theme-light" data-lang="" name="" tabindex="0">Configuration</code> -> <button aria-label="Copy Code" class="rdmd-code-copy fa"></button><code class="rdmd-code lang- theme-light" data-lang="" name="" tabindex="0">General</code> tab in Codecov and double-check that the default branch is properly set.</p></blockquote> <h2 class="heading heading-2 header-scroll" align=""><div class="heading-anchor anchor waypoint" id="tips-and-tricks"></div><div class="heading-text"><div id="section-tips-and-tricks" class="heading-anchor_backwardsCompatibility"></div>Tips and Tricks</div><a aria-label="Skip link to Tips and Tricks" class="heading-anchor-icon fa fa-anchor" href="#tips-and-tricks"></a></h2> <p><strong>1.</strong> Want project coverage checks and project coverage report in your PR comments as well? Add the following to your <button aria-label="Copy Code" class="rdmd-code-copy fa"></button><code class="rdmd-code lang- theme-light" data-lang="" name="" tabindex="0">codecov.yml</code></p> <p>The snippet below adds project coverage checks to every PR.</p> <div class="CodeTabs CodeTabs_initial theme-light"><div class="CodeTabs-toolbar" role="tablist"><button aria-selected="true" class="CodeTabs_active" role="tab" type="button">codecov.yml</button></div><div class="CodeTabs-inner" role="tabpanel"><pre><button aria-label="Copy Code" class="rdmd-code-copy fa"></button><code class="rdmd-code lang-yaml theme-light" data-lang="yaml" name="codecov.yml" tabindex="0">coverage: status: project: #add everything under here, more options at https://docs.codecov.com/docs/commit-status default: # basic target: auto #default threshold: 0% base: auto </code></pre></div></div> <p>The snippet below adds project coverage reporting to a PR comment from Codecov</p> <div class="CodeTabs CodeTabs_initial theme-light"><div class="CodeTabs-toolbar" role="tablist"><button aria-selected="true" class="CodeTabs_active" role="tab" type="button">codecov.yml</button></div><div class="CodeTabs-inner" role="tabpanel"><pre><button aria-label="Copy Code" class="rdmd-code-copy fa"></button><code class="rdmd-code lang-yaml theme-light" data-lang="yaml" name="codecov.yml" tabindex="0">comment: #this is a top-level key layout: " diff, flags, files" behavior: default require_changes: false # if true: only post the comment if coverage changes require_base: false # [true :: must have a base report to post] require_head: true # [true :: must have a head report to post] hide_project_coverage: false # [true :: only show coverage on the git diff aka patch coverage] </code></pre></div></div> <p><strong>2. </strong>Not ready to start using blocking status checks? Set them as informational while you and your team get started with code coverage.</p> <div class="CodeTabs CodeTabs_initial theme-light"><div class="CodeTabs-toolbar" role="tablist"><button aria-selected="true" class="CodeTabs_active" role="tab" type="button">codecov.yml</button></div><div class="CodeTabs-inner" role="tabpanel"><pre><button aria-label="Copy Code" class="rdmd-code-copy fa"></button><code class="rdmd-code lang-yaml theme-light" data-lang="yaml" name="codecov.yml" tabindex="0">coverage: status: project: default: informational: true patch: default: informational: true # When modifying this file, please validate using # curl -X POST --data-binary @codecov.yml https://codecov.io/validate </code></pre></div></div> <p><strong>3. </strong>Check out our <a target="_self" href="/docs/common-recipe-list">recipe list</a> for common configuration questions.</p> <p><strong>4. </strong>Enforce relative or absolute targets and thresholds during your CI build using the <a target="_self" href="/docs/codecov-yaml">Codecov YAML</a></p> <p><strong>5.</strong> Use <a target="_self" href="/docs/components">Components</a> to split up a repository into separate projects by file path. This is great for monorepos or projects that include several teams or components. </p> <p><strong>6. </strong>Use <a target="_self" href="/docs/flags">flags</a> to categorize coverage results in a single repository. This is great for monorepos or projects that include different types of test coverage (e.g., unit, end-to-end, integration).</p> <p><strong>7. </strong>Use Codecov with the <a target="_self" href="https://chrome.google.com/webstore/detail/codecov/gedikamndpbemklijjkncpnolildpbgo">Chrome Browser Extension</a> or <a target="_self" href="https://addons.mozilla.org/en-US/firefox/addon/codecov/">Firefox Browser Extension</a> (GitHub Only for now).</p></div><div class="UpdatedAt"><p class="DateLine "><i class="icon icon-watch"></i>Updated<!-- --> <!-- -->7 months ago<!-- --> </p></div><hr class="NextStepsDivider"/><nav aria-label="Pagination Controls" class="PaginationControlsjDYuqu8pBMUy rm-Pagination"></nav></section><section class="content-toc grid-25"><nav><ul class="toc-list"><li><a class="tocHeader" href="#"><i class="icon icon-text-align-left"></i>Table of Contents</a></li><li class="toc-children"><ul> <li> <a href="#prerequisites">Prerequisites</a> </li> <li> <a href="#getting-started">Getting Started</a> <ul> <li><a href="#step-1-sign-up-for-codecov">Step 1: Sign up for Codecov</a></li> <li><a href="#step-2-get-the-repository-upload-token">Step 2: Get the repository upload token</a></li> <li><a href="#step-3-setup-integrationteam-bot-gitlab-and-bitbucket-only">Step 3: Setup integration/team bot (GitLab and Bitbucket only)</a></li> <li><a href="#step-4-upload-coverage-reports-to-codecov">Step 4: Upload coverage reports to Codecov</a></li> <li><a href="#step-5-get-coverage-analysis-from-codecov">Step 5: Get coverage analysis from Codecov</a></li> <li><a href="#step-6-view-the-dashboard-on-codecov">Step 6: View the dashboard on Codecov</a></li> </ul> </li> <li> <a href="#tips-and-tricks">Tips and Tricks</a> </li> </ul></li></ul></nav></section></div><div class="ModalWrapper" id="tutorialmodal-root"></div></article></div></main><footer aria-label="Status banner" class="Footer2U8XAPoGhlgO AppFooter rm-Banners"></footer><div class="ModalWrapper" id="ChatGPT-modal"></div></div></div><div class="ng-non-bindable"><script id="ssr-props" data-initial-props="{"sidebars":{"docs":[{"_id":"64c14ec8f2680d15b2982b24","project":"57b33b5ec9a4551700b969a5","version":"64c14ec8f2680d15b2982bc4","isAPI":false,"reference":false,"createdAt":"2019-01-28T03:07:50.737Z","order":0,"slug":"getting-started-1","title":"Getting Started","__v":0,"pages":[{"_id":"64c14ec8f2680d15b2982b89","api":{"method":"get","url":"","auth":"required","results":{"codes":[{"status":200,"language":"json","code":"{}","name":""},{"status":400,"language":"json","code":"{}","name":""}]},"params":[],"examples":{"codes":[]}},"title":"Quick Start","type":"basic","slug":"quick-start","order":0,"isReference":false,"deprecated":false,"hidden":false,"sync_unique":"","link_url":"","link_external":false,"previousSlug":"quick-start-copy","createdAt":"2022-06-06T23:10:43.332Z","category":"64c14ec8f2680d15b2982b24","parentDoc":null,"icon":"","isBodyEmpty":false,"children":[]},{"_id":"64c14ec8f2680d15b2982b6a","api":{"method":"get","url":"","auth":"required","results":{"codes":[{"name":"","code":"{}","language":"json","status":200},{"name":"","code":"{}","language":"json","status":400}]},"params":[]},"title":"Sign up for Codecov","type":"link","slug":"sign-up-for-codecov","order":2,"isReference":false,"hidden":false,"sync_unique":"","link_url":"https://about.codecov.io/sign-up/","link_external":false,"previousSlug":"","createdAt":"2021-09-15T20:50:54.376Z","category":"64c14ec8f2680d15b2982b24","parentDoc":null,"deprecated":false,"icon":"","isBodyEmpty":true,"children":[]},{"_id":"64c14ec8f2680d15b2982b6d","api":{"method":"get","url":"","auth":"required","results":{"codes":[{"name":"","code":"{}","language":"json","status":200},{"name":"","code":"{}","language":"json","status":400}]},"params":[],"examples":{"codes":[]}},"title":"GitHub Tutorial","type":"basic","slug":"github-tutorial","order":3,"isReference":false,"deprecated":false,"hidden":false,"sync_unique":"","link_url":"","link_external":false,"previousSlug":"codecov-tutorial","createdAt":"2022-02-15T19:25:11.120Z","category":"64c14ec8f2680d15b2982b24","parentDoc":null,"icon":"","isBodyEmpty":false,"children":[{"_id":"64c14ec8f2680d15b2982b6e","api":{"method":"get","url":"","auth":"required","results":{"codes":[{"name":"","code":"{}","language":"json","status":200},{"name":"","code":"{}","language":"json","status":400}]},"params":[]},"title":"0 - Setting up the demo repository","type":"basic","slug":"github-0-setting-up-the-repository","order":0,"isReference":false,"deprecated":false,"hidden":false,"sync_unique":"","link_url":"","link_external":false,"previousSlug":"github-tutorial0-setting-up-the-repository-1","createdAt":"2022-02-15T19:25:55.695Z","parentDoc":"64c14ec8f2680d15b2982b6d","category":"64c14ec8f2680d15b2982b24","icon":"","isBodyEmpty":false,"children":[]},{"_id":"64c14ec8f2680d15b2982b6f","api":{"method":"get","url":"","auth":"required","results":{"codes":[{"name":"","code":"{}","language":"json","status":200},{"name":"","code":"{}","language":"json","status":400}]},"params":[]},"title":"1 - Setting and getting code coverage","type":"basic","slug":"github-1-setting-and-getting-code-coverage","order":1,"isReference":false,"deprecated":false,"hidden":false,"sync_unique":"","link_url":"","link_external":false,"previousSlug":"step-1-setting-and-getting-code-coverage","createdAt":"2022-02-15T19:27:27.602Z","parentDoc":"64c14ec8f2680d15b2982b6d","category":"64c14ec8f2680d15b2982b24","icon":"","isBodyEmpty":false,"children":[]},{"_id":"64c14ec8f2680d15b2982b70","api":{"method":"get","url":"","auth":"required","results":{"codes":[{"name":"","code":"{}","language":"json","status":200},{"name":"","code":"{}","language":"json","status":400}]},"params":[]},"title":"2 - Getting a Codecov account and uploading coverage","type":"basic","slug":"github-2-getting-a-codecov-account-and-uploading-coverage","order":2,"isReference":false,"deprecated":false,"hidden":false,"sync_unique":"","link_url":"","link_external":false,"previousSlug":"step-2-getting-a-codecov-account-and-uploading-coverage","createdAt":"2022-02-15T19:31:40.566Z","parentDoc":"64c14ec8f2680d15b2982b6d","category":"64c14ec8f2680d15b2982b24","icon":"","mdx":{},"isBodyEmpty":false,"children":[]},{"_id":"64c14ec8f2680d15b2982b71","api":{"method":"get","url":"","auth":"required","results":{"codes":[{"name":"","code":"{}","language":"json","status":200},{"name":"","code":"{}","language":"json","status":400}]},"params":[]},"title":"3 - Customizing Codecov","type":"basic","slug":"github-3-customizing-codecov","order":3,"isReference":false,"deprecated":false,"hidden":false,"sync_unique":"","link_url":"","link_external":false,"previousSlug":"step-3-customizing-codecov","createdAt":"2022-02-15T19:38:03.387Z","parentDoc":"64c14ec8f2680d15b2982b6d","category":"64c14ec8f2680d15b2982b24","icon":"","isBodyEmpty":false,"children":[]},{"_id":"64c14ec8f2680d15b2982b95","api":{"method":"get","url":"","auth":"required","results":{"codes":[{"name":"","code":"{}","language":"json","status":200},{"name":"","code":"{}","language":"json","status":400}]},"params":[]},"title":"4a - Merging reports","icon":"","type":"basic","slug":"github-4a-merging-reports","order":4,"isReference":false,"deprecated":false,"hidden":false,"sync_unique":"","link_url":"","link_external":false,"previousSlug":"4a-merging-reports","parentDoc":"64c14ec8f2680d15b2982b6d","category":"64c14ec8f2680d15b2982b24","createdAt":"2023-01-30T03:08:17.930Z","mdx":{},"isBodyEmpty":false,"children":[]},{"_id":"64c14ec8f2680d15b2982b96","api":{"method":"get","url":"","auth":"required","results":{"codes":[{"name":"","code":"{}","language":"json","status":200},{"name":"","code":"{}","language":"json","status":400}]},"params":[]},"title":"4b - Filtering Coverage by Directory","icon":"","type":"basic","slug":"github-4b-getting-aggregate-coverage","order":5,"isReference":false,"deprecated":false,"hidden":false,"sync_unique":"","link_url":"","link_external":false,"previousSlug":"4b-getting-aggregate-coverage","parentDoc":"64c14ec8f2680d15b2982b6d","category":"64c14ec8f2680d15b2982b24","createdAt":"2023-01-30T04:13:04.811Z","mdx":{},"isBodyEmpty":false,"children":[]},{"_id":"64c14ec8f2680d15b2982b72","api":{"method":"get","url":"","auth":"required","results":{"codes":[{"name":"","code":"{}","language":"json","status":200},{"name":"","code":"{}","language":"json","status":400}]},"params":[]},"title":"5a - Writing a frontend","type":"basic","slug":"github-5a-writing-a-frontend","order":6,"isReference":false,"deprecated":false,"hidden":false,"sync_unique":"","link_url":"","link_external":false,"previousSlug":"github-5a-merging-reports","createdAt":"2022-02-15T19:43:10.529Z","parentDoc":"64c14ec8f2680d15b2982b6d","category":"64c14ec8f2680d15b2982b24","icon":"","mdx":{},"isBodyEmpty":false,"children":[]},{"_id":"64c14ec8f2680d15b2982b75","api":{"method":"get","url":"","auth":"required","results":{"codes":[{"name":"","code":"{}","language":"json","status":200},{"name":"","code":"{}","language":"json","status":400}]},"params":[]},"title":"5b - Setting coverage standards with Flags","type":"basic","slug":"github-5b-setting-coverage-standards-with-flags","order":7,"isReference":false,"deprecated":false,"hidden":false,"sync_unique":"","link_url":"","link_external":false,"previousSlug":"github-4b-setting-coverage-standards-with-flags","createdAt":"2022-03-05T05:32:02.134Z","parentDoc":"64c14ec8f2680d15b2982b6d","category":"64c14ec8f2680d15b2982b24","icon":"","mdx":{},"isBodyEmpty":false,"children":[]},{"_id":"64c14ec8f2680d15b2982b73","api":{"method":"get","url":"","auth":"required","results":{"codes":[{"name":"","code":"{}","language":"json","status":200},{"name":"","code":"{}","language":"json","status":400}]},"params":[]},"title":"6 - Test what you change with Carryforward Flags","type":"basic","slug":"github-6-carryforward-flags","order":8,"isReference":false,"deprecated":false,"hidden":false,"sync_unique":"","link_url":"","link_external":false,"previousSlug":"github-5-carryforward-flags","createdAt":"2022-02-15T19:44:26.833Z","parentDoc":"64c14ec8f2680d15b2982b6d","category":"64c14ec8f2680d15b2982b24","icon":"","isBodyEmpty":false,"children":[]}]},{"_id":"64c14ec8f2680d15b2982b79","api":{"method":"get","url":"","auth":"required","results":{"codes":[{"name":"","code":"{}","language":"json","status":200},{"name":"","code":"{}","language":"json","status":400}]},"params":[]},"title":"GitLab Tutorial","type":"basic","slug":"gitlab-tutorial","order":4,"isReference":false,"deprecated":false,"hidden":false,"sync_unique":"","link_url":"","link_external":false,"previousSlug":"gitlab-codecov-tutorial","createdAt":"2022-05-11T16:40:47.132Z","category":"64c14ec8f2680d15b2982b24","parentDoc":null,"icon":"","isBodyEmpty":false,"children":[{"_id":"64c14ec8f2680d15b2982b7a","api":{"method":"get","url":"","auth":"required","results":{"codes":[{"name":"","code":"{}","language":"json","status":200},{"name":"","code":"{}","language":"json","status":400}]},"params":[]},"title":"0 - Setting up the demo repository","type":"basic","slug":"gitlab-0-setting-up-the-demo-repository","order":0,"isReference":false,"deprecated":false,"hidden":false,"sync_unique":"","link_url":"","link_external":false,"previousSlug":"step-0-setting-up-the-demo-repository","createdAt":"2022-05-11T17:00:50.503Z","parentDoc":"64c14ec8f2680d15b2982b79","category":"64c14ec8f2680d15b2982b24","icon":"","isBodyEmpty":false,"children":[]},{"_id":"64c14ec8f2680d15b2982b7b","api":{"method":"get","url":"","auth":"required","results":{"codes":[{"name":"","code":"{}","language":"json","status":200},{"name":"","code":"{}","language":"json","status":400}]},"params":[]},"title":"1 - Setting and getting code coverage","type":"basic","slug":"gitlab-1-setting-and-getting-code-coverage","order":1,"isReference":false,"deprecated":false,"hidden":false,"sync_unique":"","link_url":"","link_external":false,"previousSlug":"1-setting-and-getting-code-coverage","parentDoc":"64c14ec8f2680d15b2982b79","createdAt":"2022-06-01T01:22:51.905Z","category":"64c14ec8f2680d15b2982b24","icon":"","isBodyEmpty":false,"children":[]},{"_id":"64c14ec8f2680d15b2982b7c","api":{"method":"get","url":"","auth":"required","results":{"codes":[{"name":"","code":"{}","language":"json","status":200},{"name":"","code":"{}","language":"json","status":400}]},"params":[]},"title":"2 - Getting a Codecov account and uploading coverage","type":"basic","slug":"gitlab-2-getting-a-codecov-account-and-uploading-coverage","order":2,"isReference":false,"deprecated":false,"hidden":false,"sync_unique":"","link_url":"","link_external":false,"previousSlug":"2-getting-a-codecov-account-and-uploading-coverage","parentDoc":"64c14ec8f2680d15b2982b79","createdAt":"2022-06-01T01:37:40.658Z","category":"64c14ec8f2680d15b2982b24","icon":"","isBodyEmpty":false,"children":[]},{"_id":"64c14ec8f2680d15b2982b7d","api":{"method":"get","url":"","auth":"required","results":{"codes":[{"name":"","code":"{}","language":"json","status":200},{"name":"","code":"{}","language":"json","status":400}]},"params":[]},"title":"3 - Customizing Codecov","type":"basic","slug":"gitlab-3-customizing-codecov","order":3,"isReference":false,"deprecated":false,"hidden":false,"sync_unique":"","link_url":"","link_external":false,"previousSlug":"3-customizing-codecov","parentDoc":"64c14ec8f2680d15b2982b79","createdAt":"2022-06-01T02:40:29.763Z","category":"64c14ec8f2680d15b2982b24","icon":"","isBodyEmpty":false,"children":[]},{"_id":"64c14ec8f2680d15b2982b7e","api":{"method":"get","url":"","auth":"required","results":{"codes":[{"name":"","code":"{}","language":"json","status":200},{"name":"","code":"{}","language":"json","status":400}]},"params":[]},"title":"4a - Merging reports","type":"basic","slug":"gitlab-4a-merging-reports","order":4,"isReference":false,"deprecated":false,"hidden":false,"sync_unique":"","link_url":"","link_external":false,"previousSlug":"4a-merging-reports","parentDoc":"64c14ec8f2680d15b2982b79","createdAt":"2022-06-06T19:32:47.464Z","category":"64c14ec8f2680d15b2982b24","icon":"","isBodyEmpty":false,"children":[]},{"_id":"64c14ec8f2680d15b2982b7f","api":{"method":"get","url":"","auth":"required","results":{"codes":[{"name":"","code":"{}","language":"json","status":200},{"name":"","code":"{}","language":"json","status":400}]},"params":[]},"title":"4b - Setting coverage standards with Flags","type":"basic","slug":"gitlab-4b-setting-coverage-standards-with-flags","order":5,"isReference":false,"deprecated":false,"hidden":false,"sync_unique":"","link_url":"","link_external":false,"previousSlug":"4b-setting-coverage-standards-with-flags","parentDoc":"64c14ec8f2680d15b2982b79","createdAt":"2022-06-06T19:46:46.526Z","category":"64c14ec8f2680d15b2982b24","icon":"","isBodyEmpty":false,"children":[]},{"_id":"64c14ec8f2680d15b2982b80","api":{"method":"get","url":"","auth":"required","results":{"codes":[{"name":"","code":"{}","language":"json","status":200},{"name":"","code":"{}","language":"json","status":400}]},"params":[]},"title":"5 - Test what you change with Carryforward Flags","type":"basic","slug":"gitlab-5-test-what-you-change-with-carryforward-flags","order":6,"isReference":false,"deprecated":false,"hidden":false,"sync_unique":"","link_url":"","link_external":false,"previousSlug":"5-test-what-you-change-with-carryforward-flags","parentDoc":"64c14ec8f2680d15b2982b79","createdAt":"2022-06-06T20:02:42.556Z","category":"64c14ec8f2680d15b2982b24","icon":"","isBodyEmpty":false,"children":[]}]},{"_id":"64c14ec8f2680d15b2982b81","api":{"method":"get","url":"","auth":"required","results":{"codes":[{"name":"","code":"{}","language":"json","status":200},{"name":"","code":"{}","language":"json","status":400}]},"params":[]},"title":"Bitbucket Tutorial","type":"basic","slug":"bitbucket-tutorial","order":5,"isReference":false,"deprecated":false,"hidden":false,"sync_unique":"","link_url":"","link_external":false,"previousSlug":"","createdAt":"2022-06-06T21:29:51.041Z","category":"64c14ec8f2680d15b2982b24","parentDoc":null,"icon":"","isBodyEmpty":false,"children":[{"_id":"64c14ec8f2680d15b2982b82","api":{"method":"get","url":"","auth":"required","results":{"codes":[{"name":"","code":"{}","language":"json","status":200},{"name":"","code":"{}","language":"json","status":400}]},"params":[]},"title":"0 - Setting up the demo repository","type":"basic","slug":"bitbucket-0-setting-up-the-demo-repository","order":0,"isReference":false,"deprecated":false,"hidden":false,"sync_unique":"","link_url":"","link_external":false,"previousSlug":"step-0-setting-up-the-demo-repository-yum","parentDoc":"64c14ec8f2680d15b2982b81","createdAt":"2022-06-06T21:31:19.200Z","category":"64c14ec8f2680d15b2982b24","icon":"","isBodyEmpty":false,"children":[]},{"_id":"64c14ec8f2680d15b2982b83","api":{"method":"get","url":"","auth":"required","results":{"codes":[{"name":"","code":"{}","language":"json","status":200},{"name":"","code":"{}","language":"json","status":400}]},"params":[]},"title":"1 - Setting and getting code coverage","type":"basic","slug":"bitbucket-1-setting-and-getting-code-coverage","order":1,"isReference":false,"deprecated":false,"hidden":false,"sync_unique":"","link_url":"","link_external":false,"previousSlug":"1-setting-and-getting-code-coverage-1","parentDoc":"64c14ec8f2680d15b2982b81","createdAt":"2022-06-06T21:36:29.198Z","category":"64c14ec8f2680d15b2982b24","icon":"","isBodyEmpty":false,"children":[]},{"_id":"64c14ec8f2680d15b2982b84","api":{"method":"get","url":"","auth":"required","results":{"codes":[{"name":"","code":"{}","language":"json","status":200},{"name":"","code":"{}","language":"json","status":400}]},"params":[]},"title":"2 - Getting a Codecov account and uploading coverage","type":"basic","slug":"bitbucket-2-getting-a-codecov-account-and-uploading-coverage","order":2,"isReference":false,"deprecated":false,"hidden":false,"sync_unique":"","link_url":"","link_external":false,"previousSlug":"2-getting-a-codecov-account-and-uploading-coverage-1","parentDoc":"64c14ec8f2680d15b2982b81","createdAt":"2022-06-06T21:39:06.112Z","category":"64c14ec8f2680d15b2982b24","icon":"","isBodyEmpty":false,"children":[]},{"_id":"64c14ec8f2680d15b2982b85","api":{"method":"get","url":"","auth":"required","results":{"codes":[{"name":"","code":"{}","language":"json","status":200},{"name":"","code":"{}","language":"json","status":400}]},"params":[]},"title":"3 - Customizing Codecov","type":"basic","slug":"bitbucket-step-3-customizing-codecov","order":3,"isReference":false,"deprecated":false,"hidden":false,"sync_unique":"","link_url":"","link_external":false,"previousSlug":"step-3-customizing-codecov-1","parentDoc":"64c14ec8f2680d15b2982b81","createdAt":"2022-06-06T22:36:13.833Z","category":"64c14ec8f2680d15b2982b24","icon":"","isBodyEmpty":false,"children":[]},{"_id":"64c14ec8f2680d15b2982b86","api":{"method":"get","url":"","auth":"required","results":{"codes":[{"name":"","code":"{}","language":"json","status":200},{"name":"","code":"{}","language":"json","status":400}]},"params":[]},"title":"4a - Merging reports","type":"basic","slug":"bitbucket-4a-merging-reports","order":4,"isReference":false,"deprecated":false,"hidden":false,"sync_unique":"","link_url":"","link_external":false,"previousSlug":"4a-merging-reports-1","parentDoc":"64c14ec8f2680d15b2982b81","createdAt":"2022-06-06T22:44:05.436Z","category":"64c14ec8f2680d15b2982b24","icon":"","isBodyEmpty":false,"children":[]},{"_id":"64c14ec8f2680d15b2982b87","api":{"method":"get","url":"","auth":"required","results":{"codes":[{"name":"","code":"{}","language":"json","status":200},{"name":"","code":"{}","language":"json","status":400}]},"params":[]},"title":"4b - Setting coverage standards with Flags","type":"basic","slug":"bitbucket-4b-setting-coverage-standards-with-flags","order":5,"isReference":false,"deprecated":false,"hidden":false,"sync_unique":"","link_url":"","link_external":false,"previousSlug":"4b-setting-coverage-standards-with-flags-1","parentDoc":"64c14ec8f2680d15b2982b81","createdAt":"2022-06-06T22:52:46.430Z","category":"64c14ec8f2680d15b2982b24","icon":"","isBodyEmpty":false,"children":[]},{"_id":"64c14ec8f2680d15b2982b88","api":{"method":"get","url":"","auth":"required","results":{"codes":[{"name":"","code":"{}","language":"json","status":200},{"name":"","code":"{}","language":"json","status":400}]},"params":[]},"title":"5 - Test what you change with Carryforward Flags","type":"basic","slug":"bitbucket-5-test-what-you-change-with-carryforward-flags","order":6,"isReference":false,"deprecated":false,"hidden":false,"sync_unique":"","link_url":"","link_external":false,"previousSlug":"step-5-test-what-you-change-with-carryforward-flags","parentDoc":"64c14ec8f2680d15b2982b81","createdAt":"2022-06-06T23:01:03.794Z","category":"64c14ec8f2680d15b2982b24","icon":"","isBodyEmpty":false,"children":[]}]},{"_id":"64c14ec8f2680d15b2982b5f","api":{"method":"get","url":"","auth":"required","results":{"codes":[{"name":"","code":"{}","language":"json","status":200},{"name":"","code":"{}","language":"json","status":400}]},"params":[],"examples":{"codes":[]}},"title":"Common Configurations","type":"basic","slug":"common-recipe-list","order":6,"isReference":false,"hidden":false,"sync_unique":"","link_url":"","link_external":false,"createdAt":"2020-06-03T22:00:55.511Z","category":"64c14ec8f2680d15b2982b24","previousSlug":"","parentDoc":null,"deprecated":false,"icon":"","isBodyEmpty":false,"children":[]},{"_id":"64c14ec8f2680d15b2982b2b","isReference":false,"title":"About Code Coverage","category":"64c14ec8f2680d15b2982b24","createdAt":"2016-08-18T10:20:22.528Z","order":7,"sync_unique":"","hidden":false,"link_external":false,"link_url":"","type":"basic","parentDoc":null,"slug":"about-code-coverage","api":{"url":"","apiSetting":null,"auth":"required","params":[],"results":{"codes":[{"name":"","code":"{}","language":"json","status":200},{"name":"","code":"{}","language":"json","status":400}]},"settings":"","method":"get"},"previousSlug":"","deprecated":false,"icon":"","mdx":{},"isBodyEmpty":false,"children":[]},{"_id":"64c14ec8f2680d15b2982b2c","link_external":false,"parentDoc":null,"createdAt":"2016-08-17T17:46:15.337Z","category":"64c14ec8f2680d15b2982b24","link_url":"","title":"Frequently Asked Questions","api":{"results":{"codes":[{"language":"json","status":200,"name":"","code":"{}"},{"name":"","code":"{}","language":"json","status":400}]},"settings":"","url":"","apiSetting":null,"auth":"required","params":[],"method":"get","examples":{"codes":[]}},"order":9,"type":"basic","hidden":false,"slug":"frequently-asked-questions","sync_unique":"","isReference":false,"deprecated":false,"previousSlug":"","icon":"","isBodyEmpty":false,"children":[]},{"_id":"64c14ec8f2680d15b2982b9b","api":{"method":"get","url":"","auth":"required","params":[]},"title":"Language Specific Guides","icon":"","type":"basic","slug":"language-specific-guides","order":11,"isReference":false,"deprecated":false,"hidden":false,"sync_unique":"","link_url":"","link_external":false,"previousSlug":"","category":"64c14ec8f2680d15b2982b24","createdAt":"2023-03-31T15:27:31.792Z","parentDoc":null,"isBodyEmpty":false,"children":[{"_id":"64c14ec8f2680d15b2982b9c","api":{"method":"get","url":"","auth":"required","params":[]},"title":"Code coverage with JavaScript","icon":"","type":"basic","slug":"code-coverage-with-javascript","order":0,"isReference":false,"deprecated":false,"hidden":false,"sync_unique":"","link_url":"","link_external":false,"previousSlug":"","parentDoc":"64c14ec8f2680d15b2982b9b","category":"64c14ec8f2680d15b2982b24","createdAt":"2023-03-31T17:18:39.711Z","isBodyEmpty":false,"children":[]},{"_id":"64fb3d2e205f8300394847b1","api":{"method":"get","url":"","auth":"required","results":{"codes":[{"name":"","code":"{}","language":"json","status":200},{"name":"","code":"{}","language":"json","status":400}]},"params":[],"examples":{"codes":[]}},"title":"Code coverage with Python","icon":"","type":"basic","slug":"code-coverage-with-python","order":1,"isReference":false,"deprecated":false,"hidden":false,"sync_unique":"","link_url":"","link_external":false,"previousSlug":"","parentDoc":"64c14ec8f2680d15b2982b9b","category":"64c14ec8f2680d15b2982b24","createdAt":"2023-09-08T15:26:38.519Z","mdx":{},"isBodyEmpty":false,"children":[]}]},{"_id":"64c14ec8f2680d15b2982b67","api":{"method":"get","url":"","auth":"required","results":{"codes":[{"name":"","code":"{}","language":"json","status":200},{"name":"","code":"{}","language":"json","status":400}]},"params":[],"examples":{"codes":[]}},"title":"Uploading Reports to Codecov using the Codecov CLI","type":"basic","slug":"codecov-uploader","order":12,"isReference":false,"hidden":false,"sync_unique":"","link_url":"","link_external":false,"previousSlug":"","createdAt":"2021-06-25T16:33:38.777Z","category":"64c14ec8f2680d15b2982b24","parentDoc":null,"deprecated":false,"icon":"","mdx":{},"isBodyEmpty":false,"children":[]}]},{"_id":"64c14ec8f2680d15b2982b25","title":"Concepts","slug":"concepts","order":1,"reference":false,"isAPI":false,"project":"57b33b5ec9a4551700b969a5","version":"64c14ec8f2680d15b2982bc4","createdAt":"2021-03-26T16:49:03.885Z","__v":0,"pages":[{"_id":"64c14ec8f2680d15b2982b34","api":{"url":"","apiSetting":null,"auth":"required","params":[],"results":{"codes":[{"name":"","code":"{}","language":"json","status":200},{"language":"json","status":400,"name":"","code":"{}"}]},"settings":"","method":"get"},"createdAt":"2016-08-17T17:57:54.281Z","hidden":false,"link_url":"","sync_unique":"","title":"CI Provider Relationship","type":"basic","isReference":false,"link_external":false,"order":0,"parentDoc":null,"category":"64c14ec8f2680d15b2982b25","slug":"ci-service-relationship","deprecated":false,"previousSlug":"","icon":"","isBodyEmpty":false,"children":[]},{"_id":"64c14ec8f2680d15b2982b43","hidden":false,"link_url":"","order":2,"slug":"team-bot","type":"basic","api":{"apiSetting":null,"auth":"required","params":[],"results":{"codes":[{"name":"","code":"{}","language":"json","status":200},{"name":"","code":"{}","language":"json","status":400}]},"settings":"","url":"","method":"get","examples":{"codes":[]}},"isReference":false,"title":"Github App or Team Bot","createdAt":"2016-08-17T14:07:39.791Z","category":"64c14ec8f2680d15b2982b25","sync_unique":"","link_external":false,"parentDoc":null,"previousSlug":"","deprecated":false,"icon":"","isBodyEmpty":false,"children":[]},{"_id":"64c14ec8f2680d15b2982b30","isReference":false,"parentDoc":null,"type":"basic","category":"64c14ec8f2680d15b2982b25","createdAt":"2016-08-17T17:34:22.704Z","link_url":"","sync_unique":"","api":{"settings":"","url":"","apiSetting":null,"auth":"required","params":[],"results":{"codes":[{"code":"{}","language":"json","status":200,"name":""},{"language":"json","status":400,"name":"","code":"{}"}]},"method":"get"},"hidden":false,"link_external":false,"order":3,"slug":"merging-reports","title":"Merging Reports","previousSlug":"","deprecated":false,"icon":"","isBodyEmpty":false,"children":[]},{"_id":"64c14ec8f2680d15b2982b8f","api":{"method":"get","url":"","auth":"required","results":{"codes":[{"name":"","code":"{}","language":"json","status":200},{"name":"","code":"{}","language":"json","status":400}]},"params":[]},"title":"Coverage Percentages","icon":"","type":"basic","slug":"coverage-percentages","order":5,"isReference":false,"deprecated":false,"hidden":false,"sync_unique":"","link_url":"","link_external":false,"previousSlug":"","category":"64c14ec8f2680d15b2982b25","createdAt":"2023-01-06T23:44:57.687Z","parentDoc":null,"isBodyEmpty":false,"children":[]},{"_id":"64c14ec8f2680d15b2982b31","isReference":false,"category":"64c14ec8f2680d15b2982b25","createdAt":"2016-08-17T17:44:23.751Z","link_external":false,"order":6,"title":"Comparing Coverage Across Commits","type":"basic","api":{"apiSetting":null,"auth":"required","params":[],"results":{"codes":[{"name":"","code":"{}","language":"json","status":200},{"name":"","code":"{}","language":"json","status":400}]},"settings":"","url":"","method":"get"},"hidden":false,"link_url":"","parentDoc":null,"slug":"comparing-commits","sync_unique":"","previousSlug":"","deprecated":false,"icon":"","mdx":{},"isBodyEmpty":false,"children":[]},{"_id":"64c14ec8f2680d15b2982b32","category":"64c14ec8f2680d15b2982b25","isReference":false,"title":"Merge Commits","link_external":false,"link_url":"","parentDoc":null,"slug":"merge-commits","hidden":false,"order":7,"sync_unique":"","api":{"results":{"codes":[{"status":200,"name":"","code":"{}","language":"json"},{"name":"","code":"{}","language":"json","status":400}]},"settings":"","url":"","apiSetting":null,"auth":"required","params":[],"method":"get"},"createdAt":"2016-08-17T17:44:28.789Z","type":"basic","deprecated":false,"icon":"","previousSlug":"","isBodyEmpty":false,"children":[]},{"_id":"64c14ec8f2680d15b2982b38","parentDoc":null,"title":"Fixing Reports","api":{"apiSetting":null,"auth":"required","params":[],"results":{"codes":[{"name":"","code":"{}","language":"json","status":200},{"name":"","code":"{}","language":"json","status":400}]},"settings":"","url":"","method":"get"},"createdAt":"2016-08-30T12:19:29.378Z","hidden":false,"order":8,"type":"basic","sync_unique":"","link_url":"","category":"64c14ec8f2680d15b2982b25","isReference":false,"link_external":false,"slug":"fixing-reports","deprecated":false,"icon":"","previousSlug":"","isBodyEmpty":false,"children":[]},{"_id":"64c14ec8f2680d15b2982b33","api":{"apiSetting":null,"auth":"required","params":[],"results":{"codes":[{"name":"","code":"{}","language":"json","status":200},{"name":"","code":"{}","language":"json","status":400}]},"settings":"","url":"","method":"get","examples":{"codes":[]}},"createdAt":"2016-08-17T17:54:48.554Z","link_external":false,"link_url":"","title":"Unexpected Coverage Changes","type":"basic","category":"64c14ec8f2680d15b2982b25","parentDoc":null,"slug":"unexpected-coverage-changes","hidden":false,"isReference":false,"order":9,"sync_unique":"","previousSlug":"","deprecated":false,"icon":"","mdx":{},"isBodyEmpty":false,"children":[]},{"_id":"64c14ec8f2680d15b2982b52","isReference":false,"title":"Viewing Source Code","type":"basic","category":"64c14ec8f2680d15b2982b25","hidden":false,"parentDoc":null,"sync_unique":"","createdAt":"2017-01-16T01:23:16.822Z","link_url":"","order":10,"api":{"settings":"","url":"","apiSetting":null,"auth":"required","params":[],"results":{"codes":[{"status":200,"language":"json","code":"{}","name":""},{"status":400,"language":"json","code":"{}","name":""}]},"method":"get"},"link_external":false,"slug":"viewing-source-code","previousSlug":"","deprecated":false,"icon":"","isBodyEmpty":false,"children":[]},{"_id":"64c14ec8f2680d15b2982b54","sync_unique":"","type":"basic","createdAt":"2017-01-18T15:34:54.277Z","hidden":false,"link_external":false,"link_url":"","order":11,"isReference":false,"slug":"graphs","api":{"params":[],"results":{"codes":[{"language":"json","code":"{}","name":"","status":200},{"status":400,"language":"json","code":"{}","name":""}]},"settings":"","url":"","apiSetting":null,"auth":"required","method":"get"},"category":"64c14ec8f2680d15b2982b25","parentDoc":null,"title":"Graphs","previousSlug":"","deprecated":false,"icon":"","isBodyEmpty":false,"children":[]},{"_id":"66834e1f8427e90030bfed71","api":{"method":"get","url":"","auth":"required","params":[]},"title":"Codecov Tokens","icon":"","type":"basic","slug":"codecov-tokens","order":15,"isReference":false,"deprecated":false,"hidden":false,"sync_unique":"","link_url":"","link_external":false,"previousSlug":"","category":"64c14ec8f2680d15b2982b25","createdAt":"2024-07-02T00:47:27.849Z","parentDoc":null,"mdx":{},"isBodyEmpty":false,"children":[]}]},{"_id":"64c14ec8f2680d15b2982b27","title":"Features","slug":"features","order":2,"reference":false,"isAPI":false,"project":"57b33b5ec9a4551700b969a5","version":"64c14ec8f2680d15b2982bc4","createdAt":"2021-03-26T17:01:15.653Z","__v":0,"pages":[{"_id":"64c14ec8f2680d15b2982b66","api":{"method":"get","url":"","auth":"required","results":{"codes":[{"name":"","code":"{}","language":"json","status":200},{"name":"","code":"{}","language":"json","status":400}]},"params":[],"examples":{"codes":[]}},"title":"Status Badges","type":"basic","slug":"status-badges","order":0,"isReference":false,"hidden":false,"sync_unique":"","link_url":"","link_external":false,"previousSlug":"","createdAt":"2021-05-06T16:32:46.034Z","category":"64c14ec8f2680d15b2982b27","parentDoc":null,"deprecated":false,"icon":"","mdx":{},"isBodyEmpty":false,"children":[]},{"_id":"64c14ec8f2680d15b2982b92","api":{"method":"get","url":"","auth":"required","results":{"codes":[{"name":"","code":"{}","language":"json","status":200},{"name":"","code":"{}","language":"json","status":400}]},"params":[],"examples":{"codes":[]}},"title":"Components","icon":"","type":"basic","slug":"components","order":1,"isReference":false,"deprecated":false,"hidden":false,"sync_unique":"","link_url":"","link_external":false,"previousSlug":"","category":"64c14ec8f2680d15b2982b27","createdAt":"2023-01-13T23:43:15.757Z","parentDoc":null,"mdx":{},"isBodyEmpty":false,"children":[]},{"_id":"64c14ec8f2680d15b2982b2f","sync_unique":"","link_external":false,"createdAt":"2016-08-17T11:27:52.389Z","isReference":false,"slug":"flags","type":"basic","api":{"settings":"","url":"","auth":"required","method":"get","params":[],"results":{"codes":[{"name":"","code":"{}","language":"json","status":200},{"name":"","code":"{}","language":"json","status":400}]},"examples":{"codes":[]}},"hidden":false,"parentDoc":null,"order":2,"title":"Flags","category":"64c14ec8f2680d15b2982b27","link_url":"","previousSlug":"","deprecated":false,"icon":"","mdx":{},"isBodyEmpty":false,"children":[]},{"_id":"64c14ec8f2680d15b2982b5d","api":{"method":"get","url":"","auth":"required","results":{"codes":[{"name":"","code":"{}","language":"json","status":200},{"name":"","code":"{}","language":"json","status":400}]},"params":[]},"title":"Carryforward Flags","type":"basic","slug":"carryforward-flags","order":3,"isReference":false,"hidden":false,"sync_unique":"","link_url":"","link_external":false,"createdAt":"2020-03-19T13:17:10.488Z","category":"64c14ec8f2680d15b2982b27","previousSlug":"","parentDoc":null,"deprecated":false,"icon":"","isBodyEmpty":false,"children":[]},{"_id":"64c14ec8f2680d15b2982b40","slug":"pull-request-comments","title":"Pull Request Comments","createdAt":"2016-08-17T17:39:26.776Z","isReference":false,"type":"basic","link_external":false,"order":4,"hidden":false,"link_url":"","parentDoc":null,"sync_unique":"","api":{"url":"","apiSetting":null,"auth":"required","params":[],"results":{"codes":[{"status":200,"name":"","code":"{}","language":"json"},{"name":"","code":"{}","language":"json","status":400}]},"settings":"","method":"get","examples":{"codes":[]}},"category":"64c14ec8f2680d15b2982b27","previousSlug":"","deprecated":false,"icon":"","isBodyEmpty":false,"children":[{"_id":"64d64d1d5758a71320924ee1","api":{"method":"get","url":"","auth":"required","results":{"codes":[{"name":"","code":"{}","language":"json","status":200},{"name":"","code":"{}","language":"json","status":400}]},"params":[],"examples":{"codes":[]}},"title":"PR comment for Git diff only (\"Patch\" coverage)","icon":"","type":"basic","slug":"changing-your-pr-comment-format","order":0,"isReference":false,"deprecated":false,"hidden":false,"sync_unique":"","link_url":"","link_external":false,"previousSlug":"","parentDoc":"64c14ec8f2680d15b2982b40","category":"64c14ec8f2680d15b2982b27","createdAt":"2023-08-11T15:00:45.873Z","isBodyEmpty":false,"children":[]}]},{"_id":"64c14ec8f2680d15b2982b3f","link_url":"","parentDoc":null,"title":"Status Checks","isReference":false,"link_external":false,"hidden":false,"order":5,"createdAt":"2016-08-17T15:23:54.660Z","slug":"commit-status","sync_unique":"","category":"64c14ec8f2680d15b2982b27","type":"basic","api":{"results":{"codes":[{"status":200,"name":"","code":"{}","language":"json"},{"name":"","code":"{}","language":"json","status":400}]},"settings":"","url":"","apiSetting":null,"auth":"required","params":[],"method":"get","examples":{"codes":[]}},"previousSlug":"","deprecated":false,"icon":"","mdx":{},"isBodyEmpty":false,"children":[{"_id":"65cfa8b77afd83001821e3e1","api":{"method":"get","url":"","auth":"required","results":{"codes":[{"name":"","code":"{}","language":"json","status":200},{"name":"","code":"{}","language":"json","status":400}]},"params":[],"examples":{"codes":[]}},"title":"Removed Code Behavior","icon":"","type":"basic","slug":"removed-code-behavior","order":0,"isReference":false,"deprecated":false,"hidden":false,"sync_unique":"","link_url":"","link_external":false,"previousSlug":"","parentDoc":"64c14ec8f2680d15b2982b3f","category":"64c14ec8f2680d15b2982b27","createdAt":"2024-02-16T18:25:59.404Z","isBodyEmpty":false,"children":[]}]},{"_id":"64c14ec8f2680d15b2982b60","api":{"method":"get","url":"","auth":"required","results":{"codes":[{"name":"","code":"{}","language":"json","status":200},{"name":"","code":"{}","language":"json","status":400}]},"params":[]},"title":"GitHub Checks","type":"basic","slug":"github-checks","order":6,"isReference":false,"hidden":false,"sync_unique":"","link_url":"","link_external":false,"previousSlug":"github-checks-beta","createdAt":"2020-08-11T16:06:44.161Z","category":"64c14ec8f2680d15b2982b27","parentDoc":null,"deprecated":false,"icon":"","mdx":{},"isBodyEmpty":false,"children":[]},{"_id":"64c14ec8f2680d15b2982b46","createdAt":"2016-08-17T14:25:12.538Z","isReference":false,"api":{"apiSetting":null,"auth":"required","params":[],"results":{"codes":[{"name":"","code":"{}","language":"json","status":200},{"name":"","code":"{}","language":"json","status":400}]},"settings":"","url":"","method":"get"},"slug":"fixing-paths","sync_unique":"","type":"basic","link_external":false,"link_url":"","order":9,"parentDoc":null,"category":"64c14ec8f2680d15b2982b27","hidden":false,"title":"Path Fixing","previousSlug":"","deprecated":false,"icon":"","isBodyEmpty":false,"children":[]},{"_id":"64c14ec8f2680d15b2982b47","isReference":false,"category":"64c14ec8f2680d15b2982b27","createdAt":"2016-09-15T14:45:49.056Z","hidden":false,"link_url":"","slug":"path-regexp","title":"Path Regexp","api":{"auth":"required","params":[],"results":{"codes":[{"name":"","code":"{}","language":"json","status":200},{"name":"","code":"{}","language":"json","status":400}]},"settings":"","url":"","apiSetting":null,"method":"get"},"order":10,"parentDoc":null,"sync_unique":"","type":"basic","link_external":false,"deprecated":false,"icon":"","previousSlug":"","isBodyEmpty":false,"children":[]},{"_id":"64c14ec8f2680d15b2982b45","hidden":false,"link_external":false,"sync_unique":"","category":"64c14ec8f2680d15b2982b27","order":11,"type":"basic","createdAt":"2016-08-17T14:25:03.904Z","isReference":false,"slug":"ignoring-paths","parentDoc":null,"title":"Ignoring Paths","api":{"params":[],"results":{"codes":[{"name":"","code":"{}","language":"json","status":200},{"code":"{}","language":"json","status":400,"name":""}]},"settings":"","url":"","apiSetting":null,"auth":"required","method":"get"},"link_url":"","previousSlug":"","deprecated":false,"icon":"","isBodyEmpty":false,"children":[]},{"_id":"64c14ec8f2680d15b2982b41","isReference":false,"link_url":"","order":12,"sync_unique":"","title":"Notifications","type":"basic","api":{"results":{"codes":[{"name":"","code":"{}","language":"json","status":200},{"name":"","code":"{}","language":"json","status":400}]},"settings":"","url":"","apiSetting":null,"auth":"required","params":[],"method":"get","examples":{"codes":[]}},"createdAt":"2016-08-17T14:01:01.132Z","hidden":false,"link_external":false,"parentDoc":null,"slug":"notifications","category":"64c14ec8f2680d15b2982b27","previousSlug":"","deprecated":false,"icon":"","isBodyEmpty":false,"children":[]},{"_id":"64c14ec8f2680d15b2982b69","api":{"method":"get","url":"","auth":"required","results":{"codes":[{"name":"","code":"{}","language":"json","status":200},{"name":"","code":"{}","language":"json","status":400}]},"params":[]},"title":"Organization Analytics","type":"basic","slug":"organization-analytics","order":13,"isReference":false,"hidden":false,"sync_unique":"","link_url":"","link_external":false,"previousSlug":"","createdAt":"2021-08-09T17:57:51.178Z","category":"64c14ec8f2680d15b2982b27","parentDoc":null,"deprecated":false,"icon":"","mdx":{},"isBodyEmpty":false,"children":[]},{"_id":"64c14ec8f2680d15b2982b99","api":{"method":"get","url":"","auth":"required","results":{"codes":[{"name":"","code":"{}","language":"json","status":200},{"name":"","code":"{}","language":"json","status":400}]},"params":[]},"title":"Sentry and Codecov","icon":"","type":"basic","slug":"sentry-and-codecov","order":15,"isReference":false,"deprecated":false,"hidden":false,"sync_unique":"","link_url":"","link_external":false,"previousSlug":"","category":"64c14ec8f2680d15b2982b27","createdAt":"2023-03-29T14:59:58.055Z","parentDoc":null,"isBodyEmpty":false,"children":[{"_id":"64c14ec8f2680d15b2982b9a","api":{"method":"get","url":"","auth":"required","results":{"codes":[{"name":"","code":"{}","language":"json","status":200},{"name":"","code":"{}","language":"json","status":400}]},"params":[]},"title":"Code Coverage in the Stack Trace","icon":"","type":"basic","slug":"code-coverage-in-the-stack-trace","order":0,"isReference":false,"deprecated":false,"hidden":false,"sync_unique":"","link_url":"","link_external":false,"previousSlug":"","parentDoc":"64c14ec8f2680d15b2982b99","category":"64c14ec8f2680d15b2982b27","createdAt":"2023-03-31T14:44:40.620Z","isBodyEmpty":false,"children":[]}]},{"_id":"64c14ec8f2680d15b2982bbf","api":{"method":"get","url":"","auth":"required","params":[],"examples":{"codes":[]},"results":{"codes":[{"name":"","code":"{}","language":"json","status":200},{"name":"","code":"{}","language":"json","status":400}]}},"title":"Codecov CLI","icon":"","type":"basic","slug":"the-codecov-cli","order":16,"isReference":false,"deprecated":false,"hidden":false,"sync_unique":"","link_url":"","link_external":false,"previousSlug":"","category":"64c14ec8f2680d15b2982b27","createdAt":"2023-05-19T15:20:08.621Z","parentDoc":null,"isBodyEmpty":false,"children":[{"_id":"64c14ec8f2680d15b2982bc0","api":{"method":"get","url":"","auth":"required","params":[]},"title":"CLI Options","icon":"","type":"basic","slug":"cli-options","order":0,"isReference":false,"deprecated":false,"hidden":false,"sync_unique":"","link_url":"","link_external":false,"previousSlug":"","parentDoc":"64c14ec8f2680d15b2982bbf","category":"64c14ec8f2680d15b2982b27","createdAt":"2023-05-19T15:28:38.420Z","mdx":{},"isBodyEmpty":false,"children":[]},{"_id":"64c14ec8f2680d15b2982bc1","api":{"method":"get","url":"","auth":"required","params":[]},"title":"Contributing to the CLI","icon":"","type":"basic","slug":"contributing-to-the-cli","order":1,"isReference":false,"deprecated":false,"hidden":false,"sync_unique":"","link_url":"","link_external":false,"previousSlug":"","parentDoc":"64c14ec8f2680d15b2982bbf","category":"64c14ec8f2680d15b2982b27","createdAt":"2023-05-19T15:57:23.769Z","mdx":{},"isBodyEmpty":false,"children":[]}]},{"_id":"64c14ec8f2680d15b2982bc3","api":{"method":"get","url":"","auth":"required","results":{"codes":[{"name":"","code":"{}","language":"json","status":200},{"name":"","code":"{}","language":"json","status":400}]},"params":[],"examples":{"codes":[]}},"title":"Slack Integration","icon":"","type":"basic","slug":"slack-integration","order":18,"isReference":false,"deprecated":false,"hidden":false,"sync_unique":"","link_url":"","link_external":false,"previousSlug":"","category":"64c14ec8f2680d15b2982b27","createdAt":"2023-07-18T18:24:13.198Z","parentDoc":null,"isBodyEmpty":false,"children":[]},{"_id":"64efba399891bf00769979dd","api":{"method":"get","url":"","auth":"required","results":{"codes":[{"name":"","code":"{}","language":"json","status":200},{"name":"","code":"{}","language":"json","status":400}]},"params":[],"examples":{"codes":[]}},"title":"VSCode Extension","icon":"","type":"basic","slug":"vscode-extension","order":19,"isReference":false,"deprecated":false,"hidden":false,"sync_unique":"","link_url":"","link_external":false,"previousSlug":"","category":"64c14ec8f2680d15b2982b27","createdAt":"2023-08-30T21:52:57.548Z","parentDoc":null,"mdx":{},"isBodyEmpty":false,"children":[]},{"_id":"64fb585026f7f50024085f93","api":{"method":"get","url":"","auth":"required","results":{"codes":[{"name":"","code":"{}","language":"json","status":200},{"name":"","code":"{}","language":"json","status":400}]},"params":[],"examples":{"codes":[]}},"title":"Codecov Browser Extension","icon":"","type":"basic","slug":"the-codecov-browser-extension","order":20,"isReference":false,"deprecated":false,"hidden":false,"sync_unique":"","link_url":"","link_external":false,"previousSlug":"","category":"64c14ec8f2680d15b2982b27","createdAt":"2023-09-08T17:22:24.694Z","parentDoc":null,"isBodyEmpty":false,"children":[]},{"_id":"65c5316b8149780038418527","api":{"method":"get","url":"","auth":"required","results":{"codes":[{"name":"","code":"{}","language":"json","status":200},{"name":"","code":"{}","language":"json","status":400}]},"params":[],"examples":{"codes":[]}},"title":"Test Analytics","icon":"","type":"basic","slug":"test-analytics","order":22,"isReference":false,"deprecated":false,"hidden":false,"sync_unique":"","link_url":"https://docs.codecov.com/docs/test-analytics","link_external":false,"previousSlug":"test-analytics-beta","category":"64c14ec8f2680d15b2982b27","createdAt":"2024-02-08T19:54:19.005Z","parentDoc":null,"mdx":{},"isBodyEmpty":false,"children":[]},{"_id":"66f1a994357579005204b6ec","mdx":{},"api":{"method":"get","url":"","auth":"required","params":[]},"title":"[Beta] Codecov AI","icon":"","type":"basic","slug":"beta-codecov-ai","order":24,"isReference":false,"deprecated":false,"hidden":false,"sync_unique":"","link_url":"","link_external":false,"previousSlug":"","category":"64c14ec8f2680d15b2982b27","createdAt":"2024-09-23T17:47:00.541Z","parentDoc":null,"isBodyEmpty":false,"children":[]}]},{"_id":"64c14ec8f2680d15b2982b26","title":"Reference","slug":"reference","order":3,"reference":false,"isAPI":false,"project":"57b33b5ec9a4551700b969a5","version":"64c14ec8f2680d15b2982bc4","createdAt":"2021-03-26T16:49:08.873Z","__v":0,"pages":[{"_id":"64c14ec8f2680d15b2982b2a","api":{"params":[],"results":{"codes":[{"name":"","code":"{}","language":"json","status":200},{"name":"","code":"{}","language":"json","status":400}]},"settings":"","url":"","apiSetting":null,"auth":"required","method":"get"},"sync_unique":"","category":"64c14ec8f2680d15b2982b26","hidden":false,"slug":"supported-languages","parentDoc":null,"type":"basic","isReference":false,"order":0,"createdAt":"2016-08-17T11:19:10.525Z","link_external":false,"link_url":"","title":"Supported Languages","previousSlug":"","deprecated":false,"icon":"","isBodyEmpty":false,"children":[]},{"_id":"64c14ec8f2680d15b2982b3a","api":{"auth":"required","params":[],"results":{"codes":[{"name":"","code":"{}","language":"json","status":200},{"name":"","code":"{}","language":"json","status":400}]},"settings":"","url":"","apiSetting":null,"method":"get","examples":{"codes":[]}},"link_url":"","createdAt":"2016-10-29T15:34:42.566Z","link_external":false,"parentDoc":null,"sync_unique":"","title":"Supported CI Providers","type":"basic","category":"64c14ec8f2680d15b2982b26","hidden":false,"isReference":false,"order":1,"slug":"supported-ci-providers","previousSlug":"","deprecated":false,"icon":"","isBodyEmpty":false,"children":[{"_id":"64c14ec8f2680d15b2982b44","api":{"apiSetting":null,"auth":"required","params":[],"results":{"codes":[{"name":"","code":"{}","language":"json","status":200},{"name":"","code":"{}","language":"json","status":400}]},"settings":"","url":"","method":"get"},"link_external":false,"link_url":"","title":"Detecting Other CI Services","category":"64c14ec8f2680d15b2982b26","isReference":false,"createdAt":"2016-08-17T14:06:01.772Z","order":0,"sync_unique":"","type":"basic","hidden":false,"parentDoc":"64c14ec8f2680d15b2982b3a","slug":"detecting-ci-services","previousSlug":"","deprecated":false,"icon":"","isBodyEmpty":false,"children":[]}]},{"_id":"64c14ec8f2680d15b2982b5a","createdAt":"2019-09-06T18:47:49.937Z","category":"64c14ec8f2680d15b2982b26","link_external":false,"link_url":"","sync_unique":"","hidden":false,"api":{"results":{"codes":[{"status":200,"language":"json","code":"{}","name":""},{"status":400,"language":"json","code":"{}","name":""}]},"auth":"required","params":[],"url":"","method":"get"},"isReference":false,"order":2,"slug":"supported-report-formats","type":"basic","title":"Supported Coverage Report Formats","parentDoc":null,"previousSlug":"","deprecated":false,"icon":"","isBodyEmpty":false,"children":[]},{"_id":"64c14ec8f2680d15b2982b62","api":{"method":"get","url":"","auth":"required","results":{"codes":[{"name":"","code":"{}","language":"json","status":200},{"name":"","code":"{}","language":"json","status":400}]},"params":[],"examples":{"codes":[]}},"title":"Codecov Custom Coverage Format","type":"basic","slug":"codecov-custom-coverage-format","order":3,"isReference":false,"hidden":false,"sync_unique":"","link_url":"","link_external":false,"previousSlug":"","createdAt":"2020-10-19T15:31:41.122Z","category":"64c14ec8f2680d15b2982b26","parentDoc":null,"deprecated":false,"icon":"","isBodyEmpty":false,"children":[]},{"_id":"64c14ec8f2680d15b2982b35","link_url":"","order":4,"title":"Testing with Docker","hidden":false,"isReference":false,"category":"64c14ec8f2680d15b2982b26","link_external":false,"parentDoc":null,"sync_unique":"","type":"basic","api":{"auth":"required","params":[],"results":{"codes":[{"name":"","code":"{}","language":"json","status":200},{"language":"json","status":400,"name":"","code":"{}"}]},"settings":"","url":"","apiSetting":null,"method":"get"},"createdAt":"2016-08-17T18:01:16.560Z","slug":"testing-with-docker","previousSlug":"","deprecated":false,"icon":"","isBodyEmpty":false,"children":[]},{"_id":"64c14ec8f2680d15b2982b37","hidden":false,"link_url":"","slug":"administration","category":"64c14ec8f2680d15b2982b26","api":{"url":"","apiSetting":null,"auth":"required","params":[],"results":{"codes":[{"name":"","code":"{}","language":"json","status":200},{"language":"json","status":400,"name":"","code":"{}"}]},"settings":"","method":"get"},"isReference":false,"parentDoc":null,"sync_unique":"","type":"basic","link_external":false,"order":5,"title":"Administration","createdAt":"2016-08-25T19:50:41.600Z","deprecated":false,"icon":"","previousSlug":"","isBodyEmpty":false,"children":[]},{"_id":"64c14ec8f2680d15b2982b53","hidden":false,"slug":"error-reference","type":"basic","isReference":false,"link_external":false,"createdAt":"2017-01-17T16:40:42.818Z","order":6,"parentDoc":null,"api":{"url":"","apiSetting":null,"auth":"required","params":[],"results":{"codes":[{"name":"","status":200,"language":"json","code":"{}"},{"language":"json","code":"{}","name":"","status":400}]},"settings":"","method":"get"},"category":"64c14ec8f2680d15b2982b26","link_url":"","sync_unique":"","title":"Error Reference","previousSlug":"","deprecated":false,"icon":"","isBodyEmpty":false,"children":[]},{"_id":"65a852c53fd757003edc3574","api":{"method":"get","url":"","auth":"required","results":{"codes":[{"name":"","code":"{}","language":"json","status":200},{"name":"","code":"{}","language":"json","status":400}]},"params":[],"examples":{"codes":[]}},"title":"Adding the Codecov token","icon":"","type":"basic","slug":"adding-the-codecov-token","order":7,"isReference":false,"deprecated":false,"hidden":false,"sync_unique":"","link_url":"","link_external":false,"previousSlug":"","category":"64c14ec8f2680d15b2982b26","createdAt":"2024-01-17T22:20:53.824Z","parentDoc":null,"isBodyEmpty":false,"children":[]},{"_id":"64c14ec8f2680d15b2982b3e","hidden":false,"parentDoc":null,"title":"Codecov YAML","category":"64c14ec8f2680d15b2982b26","link_url":"","order":9,"api":{"settings":"","url":"","apiSetting":null,"auth":"required","params":[],"results":{"codes":[{"name":"","code":"{}","language":"json","status":200},{"status":400,"name":"","code":"{}","language":"json"}]},"method":"get"},"createdAt":"2016-08-17T11:26:11.494Z","isReference":false,"link_external":false,"slug":"codecov-yaml","sync_unique":"","type":"basic","previousSlug":"","deprecated":false,"icon":"","mdx":{},"isBodyEmpty":false,"children":[{"_id":"64c14ec8f2680d15b2982b5c","createdAt":"2019-11-06T13:51:06.107Z","category":"64c14ec8f2680d15b2982b26","link_external":false,"link_url":"","sync_unique":"","hidden":false,"api":{"results":{"codes":[{"status":200,"language":"json","code":"{}","name":""},{"status":400,"language":"json","code":"{}","name":""}]},"auth":"required","params":[],"url":"","method":"get","examples":{"codes":[]}},"isReference":false,"order":0,"slug":"codecovyml-reference","type":"basic","title":"codecov.yml Reference","parentDoc":"64c14ec8f2680d15b2982b3e","previousSlug":"","deprecated":false,"icon":"","mdx":{},"isBodyEmpty":false,"children":[]},{"_id":"64c14ec8f2680d15b2982b42","api":{"url":"","apiSetting":null,"auth":"required","params":[],"results":{"codes":[{"language":"json","status":200,"name":"","code":"{}"},{"status":400,"name":"","code":"{}","language":"json"}]},"settings":"","method":"get"},"category":"64c14ec8f2680d15b2982b26","sync_unique":"","createdAt":"2016-08-17T14:08:10.712Z","hidden":false,"isReference":false,"link_url":"","order":1,"parentDoc":"64c14ec8f2680d15b2982b3e","slug":"coverage-configuration","link_external":false,"title":"Coverage Configuration","type":"basic","deprecated":false,"icon":"","previousSlug":"","isBodyEmpty":false,"children":[]}]},{"_id":"64c14ec8f2680d15b2982b36","api":{"settings":"","url":"","apiSetting":null,"auth":"required","params":[],"results":{"codes":[{"code":"{}","language":"json","status":200,"name":""},{"name":"","code":"{}","language":"json","status":400}]},"method":"get"},"link_url":"","title":"[Deprecating] Bash Uploader","type":"basic","category":"64c14ec8f2680d15b2982b26","hidden":false,"sync_unique":"","parentDoc":null,"createdAt":"2016-08-19T19:44:15.013Z","isReference":false,"link_external":false,"order":13,"slug":"about-the-codecov-bash-uploader","previousSlug":"","deprecated":false,"icon":"","isBodyEmpty":false,"children":[{"_id":"64c14ec8f2680d15b2982b6b","api":{"method":"get","url":"","auth":"required","results":{"codes":[{"name":"","code":"{}","language":"json","status":200},{"name":"","code":"{}","language":"json","status":400}]},"params":[]},"title":"Deprecating (Bash) Uploader Migration Guide","type":"basic","slug":"deprecated-uploader-migration-guide","order":0,"isReference":false,"hidden":false,"sync_unique":"","link_url":"","link_external":false,"previousSlug":"","createdAt":"2021-10-04T21:19:49.835Z","category":"64c14ec8f2680d15b2982b26","parentDoc":"64c14ec8f2680d15b2982b36","deprecated":false,"icon":"","isBodyEmpty":false,"children":[]}]},{"_id":"64c14ec8f2680d15b2982b68","api":{"method":"get","url":"","auth":"required","results":{"codes":[{"name":"","code":"{}","language":"json","status":200},{"name":"","code":"{}","language":"json","status":400}]},"params":[]},"title":"GitHub Admin Authorization","type":"basic","slug":"github-oauth-application-authorization","order":14,"isReference":false,"hidden":false,"sync_unique":"","link_url":"","link_external":false,"previousSlug":"","createdAt":"2021-07-19T17:29:38.718Z","category":"64c14ec8f2680d15b2982b26","parentDoc":null,"deprecated":false,"icon":"","isBodyEmpty":false,"children":[]},{"_id":"66b511ee530d5c0010988a2a","api":{"method":"get","url":"","auth":"required","params":[]},"title":"Securing access to Codecov UI with Okta","icon":"","type":"basic","slug":"securing-access-to-codecov-ui-with-okta","order":15,"isReference":false,"deprecated":false,"hidden":false,"sync_unique":"","link_url":"","link_external":false,"previousSlug":"","category":"64c14ec8f2680d15b2982b26","createdAt":"2024-08-08T18:43:58.233Z","parentDoc":null,"mdx":{},"isBodyEmpty":false,"children":[]}]},{"_id":"66d9ae493a66f90010b2ca41","title":"JavaScript Bundle Analysis","slug":"javascript-bundle-analysis","order":4,"reference":false,"project":"57b33b5ec9a4551700b969a5","version":"64c14ec8f2680d15b2982bc4","createdAt":"2024-09-05T13:12:41.215Z","__v":0,"pages":[{"_id":"66d9b17276b54100513ede11","api":{"method":"get","url":"","auth":"required","params":[]},"title":"Overview - Bundle Analysis","icon":"","type":"basic","slug":"javascript-bundle-analysis","order":0,"isReference":false,"deprecated":false,"hidden":false,"sync_unique":"","link_url":"","link_external":false,"previousSlug":"javascript-bundle-analysis-1","createdAt":"2024-09-05T13:25:00.000Z","category":"66d9ae493a66f90010b2ca41","parentDoc":null,"mdx":{},"isBodyEmpty":false,"children":[]},{"_id":"66d9aeb6890f2f003d0f6928","api":{"method":"get","url":"","auth":"required","params":[]},"title":"Bundle Names","icon":"","type":"basic","slug":"bundle-names","order":1,"isReference":false,"deprecated":false,"hidden":false,"sync_unique":"","link_url":"","link_external":false,"previousSlug":"bundle-names-copy","parentDoc":null,"category":"66d9ae493a66f90010b2ca41","createdAt":"2024-09-05T13:14:30.784Z","isBodyEmpty":false,"children":[]},{"_id":"66e2df3e021f00005aa56271","mdx":{},"api":{"method":"get","url":"","auth":"required","params":[]},"title":"Supported Build Environments","icon":"","type":"basic","slug":"supported-build-environments","order":2,"isReference":false,"deprecated":false,"hidden":false,"sync_unique":"","link_url":"","link_external":false,"previousSlug":"supported-build-enviornments","category":"66d9ae493a66f90010b2ca41","createdAt":"2024-09-12T12:31:58.998Z","parentDoc":null,"isBodyEmpty":false,"children":[]},{"_id":"66d9aecc3efefa002572f265","api":{"method":"get","url":"","auth":"required","results":{"codes":[{"name":"","code":"{}","language":"json","status":200},{"name":"","code":"{}","language":"json","status":400}]},"params":[],"examples":{"codes":[]}},"title":"Environment Specific Requirements","icon":"","type":"basic","slug":"environment-specific-requirements","order":3,"isReference":false,"deprecated":false,"hidden":false,"sync_unique":"","link_url":"","link_external":false,"previousSlug":"environment-specific-requirements-copy","parentDoc":null,"category":"66d9ae493a66f90010b2ca41","createdAt":"2024-09-05T13:14:52.749Z","mdx":{},"isBodyEmpty":false,"children":[]},{"_id":"66d9aec422cbb70074cfe794","api":{"method":"get","url":"","auth":"required","params":[]},"title":"FAQ - Bundle Analysis","icon":"","type":"basic","slug":"bundle-analysis-faq","order":4,"isReference":false,"deprecated":false,"hidden":false,"sync_unique":"","link_url":"","link_external":false,"previousSlug":"bundle-analysis-faq-copy","parentDoc":null,"category":"66d9ae493a66f90010b2ca41","createdAt":"2024-09-05T13:14:44.894Z","mdx":{},"isBodyEmpty":false,"children":[]},{"_id":"66d9b28c03ab99000f390802","api":{"method":"get","url":"","auth":"required","params":[]},"title":"Tokenless - Bundle Analysis","icon":"","type":"basic","slug":"tokenless-bundle-analysis","order":5,"isReference":false,"deprecated":false,"hidden":false,"sync_unique":"","link_url":"","link_external":false,"previousSlug":"","category":"66d9ae493a66f90010b2ca41","createdAt":"2024-09-05T13:30:52.986Z","parentDoc":null,"isBodyEmpty":false,"children":[]},{"_id":"66d9b2afbd4a430012db656e","api":{"method":"get","url":"","auth":"required","params":[]},"title":"GitHub OIDC - Bundle Analysis","icon":"","type":"basic","slug":"github-oidc-bundle-analysis","order":6,"isReference":false,"deprecated":false,"hidden":false,"sync_unique":"","link_url":"","link_external":false,"previousSlug":"","category":"66d9ae493a66f90010b2ca41","createdAt":"2024-09-05T13:31:27.917Z","parentDoc":null,"isBodyEmpty":false,"children":[]},{"_id":"67471dc3b7db8d0052ffcc4b","mdx":{},"api":{"method":"get","url":"","auth":"required","params":[]},"title":"Astro Quick Start","icon":"","type":"basic","slug":"astro-quick-start","order":7,"isReference":false,"deprecated":false,"hidden":false,"sync_unique":"","link_url":"","link_external":false,"previousSlug":"","category":"66d9ae493a66f90010b2ca41","createdAt":"2024-11-27T13:25:23.578Z","parentDoc":null,"isBodyEmpty":false,"children":[]},{"_id":"66d9af08b5289b001f34277e","api":{"method":"get","url":"","auth":"required","results":{"codes":[{"name":"","code":"{}","language":"json","status":200},{"name":"","code":"{}","language":"json","status":400}]},"params":[],"examples":{"codes":[]}},"title":"NextJS (Webpack) Quick Start","icon":"","type":"basic","slug":"nextjs-webpack-quick-start","order":8,"isReference":false,"deprecated":false,"hidden":false,"sync_unique":"","link_url":"","link_external":false,"previousSlug":"nextjs-webpack-quick-start-copy","parentDoc":null,"category":"66d9ae493a66f90010b2ca41","createdAt":"2024-09-05T13:15:52.772Z","mdx":{},"isBodyEmpty":false,"children":[]},{"_id":"66d9aed3302e5900362992ae","api":{"method":"get","url":"","auth":"required","params":[]},"title":"Nuxt Quick Start","icon":"","type":"basic","slug":"nuxt-quick-start","order":9,"isReference":false,"deprecated":false,"hidden":false,"sync_unique":"","link_url":"","link_external":false,"previousSlug":"nuxt-module-quick-start","parentDoc":null,"category":"66d9ae493a66f90010b2ca41","createdAt":"2024-09-05T13:14:59.286Z","mdx":{},"isBodyEmpty":false,"children":[]},{"_id":"66d9aee1191cd8005b8af39a","api":{"method":"get","url":"","auth":"required","params":[]},"title":"Remix (Vite) Quick Start","icon":"","type":"basic","slug":"remix-vite-quick-start","order":10,"isReference":false,"deprecated":false,"hidden":false,"sync_unique":"","link_url":"","link_external":false,"previousSlug":"remix-vite-quick-start-copy","parentDoc":null,"category":"66d9ae493a66f90010b2ca41","createdAt":"2024-09-05T13:15:13.915Z","mdx":{},"isBodyEmpty":false,"children":[]},{"_id":"66d9aeec490135005281edf1","api":{"method":"get","url":"","auth":"required","results":{"codes":[{"name":"","code":"{}","language":"json","status":200},{"name":"","code":"{}","language":"json","status":400}]},"params":[],"examples":{"codes":[]}},"title":"Rollup Quick Start","icon":"","type":"basic","slug":"rollup-quick-start","order":11,"isReference":false,"deprecated":false,"hidden":false,"sync_unique":"","link_url":"","link_external":false,"previousSlug":"rollup-quick-start-copy","parentDoc":null,"category":"66d9ae493a66f90010b2ca41","createdAt":"2024-09-05T13:15:24.634Z","mdx":{},"isBodyEmpty":false,"children":[]},{"_id":"66d9aef48919e70043c7f5c8","api":{"method":"get","url":"","auth":"required","params":[]},"title":"SvelteKit Quick Start","icon":"","type":"basic","slug":"sveltekit-quick-start","order":12,"isReference":false,"deprecated":false,"hidden":false,"sync_unique":"","link_url":"","link_external":false,"previousSlug":"sveltekit-quick-start-copy","parentDoc":null,"category":"66d9ae493a66f90010b2ca41","createdAt":"2024-09-05T13:15:32.013Z","mdx":{},"isBodyEmpty":false,"children":[]},{"_id":"66d9aef9457faf004895e10c","api":{"method":"get","url":"","auth":"required","params":[]},"title":"SolidStart Quick Start","icon":"","type":"basic","slug":"solidstart-quick-start","order":13,"isReference":false,"deprecated":false,"hidden":false,"sync_unique":"","link_url":"","link_external":false,"previousSlug":"solidstart-quick-start-copy","parentDoc":null,"category":"66d9ae493a66f90010b2ca41","createdAt":"2024-09-05T13:15:37.100Z","mdx":{},"isBodyEmpty":false,"children":[]},{"_id":"66d9aeff78312a006e0b88e0","api":{"method":"get","url":"","auth":"required","results":{"codes":[{"name":"","code":"{}","language":"json","status":200},{"name":"","code":"{}","language":"json","status":400}]},"params":[],"examples":{"codes":[]}},"title":"Vite Quick Start (React, Vue, Svelte, SolidJS, etc.)","icon":"","type":"basic","slug":"vite-quick-start","order":14,"isReference":false,"deprecated":false,"hidden":false,"sync_unique":"","link_url":"","link_external":false,"previousSlug":"vite-quick-start-vue-sveltekit-remix-solidjs-etc","parentDoc":null,"category":"66d9ae493a66f90010b2ca41","createdAt":"2024-09-05T13:15:43.654Z","mdx":{},"isBodyEmpty":false,"children":[]},{"_id":"66d9af044e2b290013fbd22c","api":{"method":"get","url":"","auth":"required","results":{"codes":[{"name":"","code":"{}","language":"json","status":200},{"name":"","code":"{}","language":"json","status":400}]},"params":[],"examples":{"codes":[]}},"title":"Webpack 5 Quick Start (Angular, CRACO)","icon":"","type":"basic","slug":"webpack-quick-start","order":15,"isReference":false,"deprecated":false,"hidden":false,"sync_unique":"","link_url":"","link_external":false,"previousSlug":"webpack-quick-start-nextjs-craco","parentDoc":null,"category":"66d9ae493a66f90010b2ca41","createdAt":"2024-09-05T13:15:48.652Z","mdx":{},"isBodyEmpty":false,"children":[]},{"_id":"66e07a9f989bb300528b1d12","api":{"method":"get","url":"","auth":"required","params":[]},"title":"Bundle Analyzer Quick Start","icon":"","type":"basic","slug":"bundle-analyzer-quick-start","order":16,"isReference":false,"deprecated":false,"hidden":false,"sync_unique":"","link_url":"","link_external":false,"previousSlug":"","category":"66d9ae493a66f90010b2ca41","createdAt":"2024-09-10T16:58:07.047Z","parentDoc":null,"mdx":{},"isBodyEmpty":false,"children":[]}]},{"_id":"651dcc9c5bcd49002bbe5d91","title":"Codecov DEDICATED ENTERPRISE CLOUD","slug":"dedicated-enterprise-cloud","order":5,"reference":false,"project":"57b33b5ec9a4551700b969a5","version":"64c14ec8f2680d15b2982bc4","createdAt":"2023-10-04T20:35:40.312Z","__v":0,"pages":[{"_id":"651ebcf712b0d2004f5914b9","api":{"method":"get","url":"","auth":"required","results":{"codes":[{"name":"","code":"{}","language":"json","status":200},{"name":"","code":"{}","language":"json","status":400}]},"params":[],"examples":{"codes":[]}},"title":"Dedicated Enterprise Cloud Guide","icon":"","type":"basic","slug":"codecov-dedicated-enterprise-cloud-install-steps","order":0,"isReference":false,"deprecated":false,"hidden":false,"sync_unique":"","link_url":"","link_external":false,"previousSlug":"","category":"651dcc9c5bcd49002bbe5d91","createdAt":"2023-10-05T13:41:11.127Z","parentDoc":null,"mdx":{},"isBodyEmpty":false,"children":[]},{"_id":"651b32399308ea001f6c1b78","api":{"method":"get","url":"","auth":"required","results":{"codes":[{"status":200,"language":"json","code":"{}","name":""},{"status":400,"language":"json","code":"{}","name":""}]},"params":[],"examples":{"codes":[]}},"title":"GitHub App Integration for Dedicated Cloud","icon":"","type":"basic","slug":"github-app-integration-for-codecov-dedicated-cloud","order":1,"isReference":false,"deprecated":false,"hidden":false,"sync_unique":"","link_url":"","link_external":false,"previousSlug":"github-app-integration-for-codecov-self-hosted-copy","parentDoc":null,"category":"651dcc9c5bcd49002bbe5d91","createdAt":"2023-10-02T21:12:25.846Z","isBodyEmpty":false,"children":[{"_id":"652030987fa505003cc0f375","api":{"method":"get","url":"","auth":"required","results":{"codes":[{"name":"","code":"{}","language":"json","status":200},{"name":"","code":"{}","language":"json","status":400}]},"params":[],"examples":{"codes":[]}},"title":"Prefilled Github App Creation","icon":"","type":"basic","slug":"prefilled-github-app-creation","order":0,"isReference":false,"deprecated":false,"hidden":false,"sync_unique":"","link_url":"","link_external":false,"previousSlug":"","parentDoc":"651b32399308ea001f6c1b78","category":"651dcc9c5bcd49002bbe5d91","createdAt":"2023-10-06T16:06:48.811Z","isBodyEmpty":false,"children":[]},{"_id":"65202b81a362c00013a419f3","api":{"method":"get","url":"","auth":"required","results":{"codes":[{"name":"","code":"{}","language":"json","status":200},{"name":"","code":"{}","language":"json","status":400}]},"params":[],"examples":{"codes":[]}},"title":"Manual GitHub App Creation","icon":"","type":"basic","slug":"manual-github-app-creation","order":1,"isReference":false,"deprecated":false,"hidden":false,"sync_unique":"","link_url":"","link_external":false,"previousSlug":"","parentDoc":"651b32399308ea001f6c1b78","category":"651dcc9c5bcd49002bbe5d91","createdAt":"2023-10-06T15:45:05.346Z","isBodyEmpty":false,"children":[]},{"_id":"65205d87057c4c006bf2eafb","api":{"method":"get","url":"","auth":"required","results":{"codes":[{"name":"","code":"{}","language":"json","status":200},{"name":"","code":"{}","language":"json","status":400}]},"params":[],"examples":{"codes":[]}},"title":"Secure Credential Transmission","icon":"","type":"basic","slug":"secure-credential-transmission","order":2,"isReference":false,"deprecated":false,"hidden":false,"sync_unique":"","link_url":"","link_external":false,"previousSlug":"","parentDoc":"651b32399308ea001f6c1b78","category":"651dcc9c5bcd49002bbe5d91","createdAt":"2023-10-06T19:18:31.367Z","isBodyEmpty":false,"children":[]}]},{"_id":"651dd00868ff3c0061ee8479","api":{"method":"get","url":"","auth":"required","results":{"codes":[{"name":"","code":"{}","language":"json","status":200},{"name":"","code":"{}","language":"json","status":400}]},"params":[],"examples":{"codes":[]}},"title":"IP Access Control List Restrictions","icon":"","type":"basic","slug":"ip-acl-restrictions","order":2,"isReference":false,"deprecated":false,"hidden":false,"sync_unique":"","link_url":"","link_external":false,"previousSlug":"ip-lists","category":"651dcc9c5bcd49002bbe5d91","createdAt":"2023-10-04T20:50:16.560Z","parentDoc":null,"isBodyEmpty":false,"children":[]},{"_id":"6542683fc8eba40019a86189","api":{"method":"get","url":"","auth":"required","results":{"codes":[{"name":"","code":"{}","language":"json","status":200},{"name":"","code":"{}","language":"json","status":400}]},"params":[],"examples":{"codes":[]}},"title":"Peering","icon":"","type":"basic","slug":"peering","order":4,"isReference":false,"deprecated":false,"hidden":false,"sync_unique":"","link_url":"","link_external":false,"previousSlug":"","category":"651dcc9c5bcd49002bbe5d91","createdAt":"2023-11-01T15:01:19.598Z","parentDoc":null,"isBodyEmpty":false,"children":[{"_id":"65426850aafaf10043b3010b","api":{"method":"get","url":"","auth":"required","results":{"codes":[{"name":"","code":"{}","language":"json","status":200},{"name":"","code":"{}","language":"json","status":400}]},"params":[],"examples":{"codes":[]}},"title":"AWS Peering","icon":"","type":"basic","slug":"aws","order":0,"isReference":false,"deprecated":false,"hidden":false,"sync_unique":"","link_url":"","link_external":false,"previousSlug":"","parentDoc":"6542683fc8eba40019a86189","category":"651dcc9c5bcd49002bbe5d91","createdAt":"2023-11-01T15:01:36.529Z","isBodyEmpty":false,"children":[]}]}]},{"_id":"64c14ec8f2680d15b2982b22","reference":false,"createdAt":"2016-08-17T11:14:43.598Z","from_sync":false,"order":6,"slug":"enterprise","project":"57b33b5ec9a4551700b969a5","sync":{"url":"","isSync":false},"title":"Codecov Self-Hosted","__v":0,"version":"64c14ec8f2680d15b2982bc4","isAPI":false,"pages":[{"_id":"64c14ec8f2680d15b2982b63","api":{"method":"get","url":"","auth":"required","results":{"codes":[{"name":"","code":"{}","language":"json","status":200},{"name":"","code":"{}","language":"json","status":400}]},"params":[],"examples":{"codes":[]}},"title":"Codecov Self-Hosted Install Guide","type":"basic","slug":"installing-codecov-self-hosted","order":0,"isReference":false,"hidden":false,"sync_unique":"","link_url":"","link_external":false,"previousSlug":"installing-codecov","createdAt":"2021-01-08T20:18:56.432Z","category":"64c14ec8f2680d15b2982b22","parentDoc":null,"deprecated":false,"icon":"","isBodyEmpty":false,"children":[{"_id":"64c14ec8f2680d15b2982b4c","isReference":false,"order":0,"category":"64c14ec8f2680d15b2982b22","link_external":false,"slug":"configuration","api":{"settings":"","url":"","apiSetting":null,"auth":"required","params":[],"results":{"codes":[{"name":"","code":"{}","language":"json","status":200},{"name":"","code":"{}","language":"json","status":400}]},"method":"get"},"createdAt":"2016-08-18T11:30:00.113Z","hidden":false,"link_url":"","parentDoc":"64c14ec8f2680d15b2982b63","type":"basic","sync_unique":"","title":"Self-Hosted Configuration","previousSlug":"","deprecated":false,"icon":"","isBodyEmpty":false,"children":[]},{"_id":"64c14ec8f2680d15b2982b4b","title":"Set Up Oauth Login (Self-Hosted)","type":"basic","link_url":"","order":1,"parentDoc":"64c14ec8f2680d15b2982b63","slug":"set-up-oauth-login","createdAt":"2016-08-18T11:07:35.430Z","hidden":false,"link_external":false,"isReference":false,"sync_unique":"","api":{"url":"","apiSetting":null,"auth":"required","params":[],"results":{"codes":[{"status":200,"name":"","code":"{}","language":"json"},{"name":"","code":"{}","language":"json","status":400}]},"settings":"","method":"get","examples":{"codes":[]}},"category":"64c14ec8f2680d15b2982b22","previousSlug":"link-service-provider","deprecated":false,"icon":"","mdx":{},"isBodyEmpty":false,"children":[]},{"_id":"64c14ec8f2680d15b2982b49","hidden":false,"link_url":"","order":4,"createdAt":"2016-08-17T20:22:05.371Z","title":"Other Install Notes and Updates","type":"basic","category":"64c14ec8f2680d15b2982b22","api":{"settings":"","url":"","apiSetting":null,"auth":"required","params":[],"results":{"codes":[{"name":"","code":"{}","language":"json","status":200},{"name":"","code":"{}","language":"json","status":400}]},"method":"get","examples":{"codes":[]}},"isReference":false,"link_external":false,"parentDoc":"64c14ec8f2680d15b2982b63","slug":"install-guide","sync_unique":"","previousSlug":"","deprecated":false,"icon":"","isBodyEmpty":false,"children":[]}]},{"_id":"64c14ec8f2680d15b2982b64","api":{"method":"get","url":"","auth":"required","results":{"codes":[{"name":"","code":"{}","language":"json","status":200},{"name":"","code":"{}","language":"json","status":400}]},"params":[]},"title":"Integrations for Codecov Self-Hosted","type":"basic","slug":"integrations-for-codecov-self-hosted","order":2,"isReference":false,"hidden":false,"sync_unique":"","link_url":"","link_external":false,"previousSlug":"","createdAt":"2021-01-08T20:20:14.613Z","category":"64c14ec8f2680d15b2982b22","parentDoc":null,"deprecated":false,"icon":"","isBodyEmpty":false,"children":[{"_id":"64c14ec8f2680d15b2982b59","createdAt":"2019-08-29T14:07:07.078Z","category":"64c14ec8f2680d15b2982b22","link_external":false,"link_url":"","sync_unique":"","hidden":false,"api":{"results":{"codes":[{"status":200,"language":"json","code":"{}","name":""},{"status":400,"language":"json","code":"{}","name":""}]},"auth":"required","params":[],"url":"","method":"get","examples":{"codes":[]}},"isReference":false,"order":0,"slug":"how-to-create-a-github-app-for-codecov-enterprise","type":"basic","title":"GitHub App Integration for Codecov Self-Hosted","parentDoc":"64c14ec8f2680d15b2982b64","previousSlug":"","deprecated":false,"icon":"","isBodyEmpty":false,"children":[]}]},{"_id":"64c14ec8f2680d15b2982b4a","order":5,"sync_unique":"","api":{"params":[],"results":{"codes":[{"name":"","code":"{}","language":"json","status":200},{"code":"{}","language":"json","status":400,"name":""}]},"settings":"","url":"","apiSetting":null,"auth":"required","method":"get","examples":{"codes":[]}},"link_external":false,"link_url":"","slug":"frequently-asked-questions-1","hidden":false,"parentDoc":null,"createdAt":"2016-08-18T11:05:53.247Z","isReference":false,"category":"64c14ec8f2680d15b2982b22","title":"Frequently Asked Questions - Self-Hosted","type":"basic","previousSlug":"","deprecated":false,"icon":"","isBodyEmpty":false,"children":[]}]},{"_id":"64c14ec8f2680d15b2982b23","sync":{"isSync":false,"url":""},"order":7,"slug":"site","title":"Site","__v":0,"version":"64c14ec8f2680d15b2982bc4","project":"57b33b5ec9a4551700b969a5","reference":false,"createdAt":"2016-08-17T11:24:07.809Z","from_sync":false,"pages":[{"_id":"64c14ec8f2680d15b2982b3b","category":"64c14ec8f2680d15b2982b23","link_external":false,"title":"Privacy Policy","hidden":false,"parentDoc":null,"slug":"privacy-policy","sync_unique":"","type":"link","api":{"apiSetting":null,"auth":"required","params":[],"results":{"codes":[{"name":"","code":"{}","language":"json","status":200},{"name":"","code":"{}","language":"json","status":400}]},"settings":"","url":"","method":"get"},"createdAt":"2016-08-17T11:24:33.182Z","isReference":false,"link_url":"https://about.codecov.io/privacy/","order":0,"previousSlug":"","deprecated":false,"icon":"","isBodyEmpty":true,"children":[]},{"_id":"64c14ec8f2680d15b2982b3d","order":1,"link_url":"https://about.codecov.io/security/","parentDoc":null,"type":"link","createdAt":"2016-08-17T11:25:14.040Z","category":"64c14ec8f2680d15b2982b23","slug":"security-policy","sync_unique":"","title":"Security Policy","api":{"results":{"codes":[{"name":"","code":"{}","language":"json","status":200},{"name":"","code":"{}","language":"json","status":400}]},"settings":"","url":"","apiSetting":null,"auth":"required","params":[],"method":"get"},"hidden":false,"isReference":false,"link_external":false,"previousSlug":"","deprecated":false,"icon":"","isBodyEmpty":true,"children":[]},{"_id":"64c14ec8f2680d15b2982b3c","category":"64c14ec8f2680d15b2982b23","title":"Terms of Use","slug":"terms-of-use","type":"link","hidden":false,"isReference":false,"link_external":false,"link_url":"https://about.codecov.io/terms-and-conditions/","api":{"params":[],"results":{"codes":[{"name":"","code":"{}","language":"json","status":200},{"status":400,"name":"","code":"{}","language":"json"}]},"settings":"","url":"","apiSetting":null,"auth":"required","method":"get"},"createdAt":"2016-08-17T11:24:49.887Z","sync_unique":"","order":3,"parentDoc":null,"previousSlug":"","deprecated":false,"icon":"","isBodyEmpty":true,"children":[]}]}],"refs":[{"_id":"64c14ec8f2680d15b2982b29","title":"Codecov API","slug":"codecov-api","order":9999,"reference":true,"project":"57b33b5ec9a4551700b969a5","version":"64c14ec8f2680d15b2982bc4","createdAt":"2023-04-06T22:35:54.809Z","__v":0,"pages":[{"_id":"64c14ec8f2680d15b2982b97","api":{"method":"get","url":"","auth":"required","results":{"codes":[{"name":"","code":"{}","language":"json","status":200},{"name":"","code":"{}","language":"json","status":400}]},"params":[],"examples":{"codes":[]}},"title":"Getting Started","icon":"","type":"basic","slug":"overview","order":0,"isReference":true,"deprecated":false,"hidden":false,"sync_unique":"","link_url":"","link_external":false,"previousSlug":"","category":"64c14ec8f2680d15b2982b29","createdAt":"2023-01-30T14:32:28.231Z","parentDoc":null,"isBodyEmpty":false,"children":[]},{"_id":"64c14ec8f2680d15b2982b9e","api":{"method":"get","url":"","auth":"required","params":[],"apiSetting":"64c14ec8f2680d15b2982b21"},"title":"Users","icon":"","type":"basic","slug":"users","order":1,"isReference":true,"deprecated":false,"hidden":false,"sync_unique":"tag__Users","link_url":"","link_external":false,"previousSlug":"","category":"64c14ec8f2680d15b2982b29","createdAt":"2023-04-06T22:35:55.787Z","parentDoc":null,"mdx":{},"isBodyEmpty":true,"children":[{"_id":"64c14ec8f2680d15b2982ba7","api":{"method":"get","url":"","auth":"required","params":[],"results":{"codes":[]},"apiSetting":"64c14ec8f2680d15b2982b21"},"title":"Service owners","icon":"","type":"endpoint","slug":"root_list","order":0,"isReference":true,"deprecated":false,"hidden":false,"sync_unique":"root_list","link_url":"","link_external":false,"previousSlug":"","category":"64c14ec8f2680d15b2982b29","createdAt":"2023-04-06T22:35:57.489Z","parentDoc":"64c14ec8f2680d15b2982b9e","mdx":{},"isBodyEmpty":true,"children":[]},{"_id":"64c14ec8f2680d15b2982ba8","api":{"method":"get","url":"","auth":"required","params":[],"results":{"codes":[]},"apiSetting":"64c14ec8f2680d15b2982b21"},"title":"Owner detail","icon":"","type":"endpoint","slug":"root_retrieve","order":1,"isReference":true,"deprecated":false,"hidden":false,"sync_unique":"root_retrieve","link_url":"","link_external":false,"previousSlug":"","category":"64c14ec8f2680d15b2982b29","createdAt":"2023-04-06T22:35:57.490Z","parentDoc":"64c14ec8f2680d15b2982b9e","mdx":{},"isBodyEmpty":true,"children":[]},{"_id":"66fc437ed967d70030aa9129","mdx":{},"api":{"method":"get","url":"","auth":"required","params":[],"results":{"codes":[]},"apiSetting":"64c14ec8f2680d15b2982b21"},"title":"User session list","icon":"","type":"endpoint","slug":"user_sessions_list","order":2,"isReference":true,"deprecated":false,"hidden":false,"sync_unique":"user_sessions_list","link_url":"","link_external":false,"previousSlug":"","category":"64c14ec8f2680d15b2982b29","createdAt":"2024-10-01T18:46:22.265Z","parentDoc":"64c14ec8f2680d15b2982b9e","isBodyEmpty":true,"children":[]},{"_id":"64c14ec8f2680d15b2982bbd","api":{"method":"get","url":"","auth":"required","params":[],"results":{"codes":[]},"apiSetting":"64c14ec8f2680d15b2982b21"},"title":"User list","icon":"","type":"endpoint","slug":"users_list","order":3,"isReference":true,"deprecated":false,"hidden":false,"sync_unique":"users_list","link_url":"","link_external":false,"previousSlug":"","category":"64c14ec8f2680d15b2982b29","createdAt":"2023-04-06T22:35:57.504Z","parentDoc":"64c14ec8f2680d15b2982b9e","mdx":{},"isBodyEmpty":true,"children":[]},{"_id":"66981076d98e6800126b4195","api":{"method":"get","url":"","auth":"required","params":[],"results":{"codes":[]},"apiSetting":"64c14ec8f2680d15b2982b21"},"title":"User detail","icon":"","type":"endpoint","slug":"users_retrieve","order":4,"isReference":true,"deprecated":false,"hidden":false,"sync_unique":"users_retrieve","link_url":"","link_external":false,"previousSlug":"","category":"64c14ec8f2680d15b2982b29","createdAt":"2024-07-17T18:41:58.312Z","parentDoc":"64c14ec8f2680d15b2982b9e","mdx":{},"isBodyEmpty":true,"children":[]},{"_id":"67509e4a8e129a0010e0f2f3","mdx":{},"api":{"method":"patch","url":"","auth":"required","params":[],"results":{"codes":[]},"apiSetting":"64c14ec8f2680d15b2982b21"},"title":"Update a user","icon":"","type":"endpoint","slug":"users_partial_update","order":5,"isReference":true,"deprecated":false,"hidden":false,"sync_unique":"users_partial_update","link_url":"","link_external":false,"previousSlug":"","category":"64c14ec8f2680d15b2982b29","createdAt":"2024-12-04T18:24:10.760Z","parentDoc":"64c14ec8f2680d15b2982b9e","isBodyEmpty":true,"children":[]}]},{"_id":"64c14ec8f2680d15b2982b9f","api":{"method":"get","url":"","auth":"required","params":[],"apiSetting":"64c14ec8f2680d15b2982b21"},"title":"Repos","icon":"","type":"basic","slug":"repos","order":2,"isReference":true,"deprecated":false,"hidden":false,"sync_unique":"tag__Repos","link_url":"","link_external":false,"previousSlug":"","category":"64c14ec8f2680d15b2982b29","createdAt":"2023-04-06T22:35:55.788Z","parentDoc":null,"mdx":{},"isBodyEmpty":true,"children":[{"_id":"64c14ec8f2680d15b2982ba9","api":{"method":"get","url":"","auth":"required","params":[],"results":{"codes":[]},"apiSetting":"64c14ec8f2680d15b2982b21"},"title":"Repository list","icon":"","type":"endpoint","slug":"repos_list","order":0,"isReference":true,"deprecated":false,"hidden":false,"sync_unique":"repos_list","link_url":"","link_external":false,"previousSlug":"","category":"64c14ec8f2680d15b2982b29","createdAt":"2023-04-06T22:35:57.491Z","parentDoc":"64c14ec8f2680d15b2982b9f","mdx":{},"isBodyEmpty":true,"children":[]},{"_id":"64c14ec8f2680d15b2982baa","api":{"method":"get","url":"","auth":"required","params":[],"results":{"codes":[]},"apiSetting":"64c14ec8f2680d15b2982b21"},"title":"Repository detail","icon":"","type":"endpoint","slug":"repos_retrieve","order":1,"isReference":true,"deprecated":false,"hidden":false,"sync_unique":"repos_retrieve","link_url":"","link_external":false,"previousSlug":"","category":"64c14ec8f2680d15b2982b29","createdAt":"2023-04-06T22:35:57.492Z","parentDoc":"64c14ec8f2680d15b2982b9f","mdx":{},"isBodyEmpty":true,"children":[]},{"_id":"64c14ec8f2680d15b2982bb4","api":{"method":"get","url":"","auth":"required","params":[],"results":{"codes":[]},"apiSetting":"64c14ec8f2680d15b2982b21"},"title":"Repository config","icon":"","type":"endpoint","slug":"repos_config_retrieve","order":2,"isReference":true,"deprecated":false,"hidden":false,"sync_unique":"repos_config_retrieve","link_url":"","link_external":false,"previousSlug":"","category":"64c14ec8f2680d15b2982b29","createdAt":"2023-04-06T22:35:57.498Z","parentDoc":"64c14ec8f2680d15b2982b9f","mdx":{},"isBodyEmpty":true,"children":[]}]},{"_id":"64c14ec8f2680d15b2982ba0","api":{"method":"get","url":"","auth":"required","params":[],"apiSetting":"64c14ec8f2680d15b2982b21"},"title":"Branches","icon":"","type":"basic","slug":"branches","order":3,"isReference":true,"deprecated":false,"hidden":false,"sync_unique":"tag__Branches","link_url":"","link_external":false,"previousSlug":"","category":"64c14ec8f2680d15b2982b29","createdAt":"2023-04-06T22:35:55.788Z","parentDoc":null,"mdx":{},"isBodyEmpty":true,"children":[{"_id":"64c14ec8f2680d15b2982bab","api":{"method":"get","url":"","auth":"required","params":[],"results":{"codes":[]},"apiSetting":"64c14ec8f2680d15b2982b21"},"title":"Branch list","icon":"","type":"endpoint","slug":"repos_branches_list","order":0,"isReference":true,"deprecated":false,"hidden":false,"sync_unique":"repos_branches_list","link_url":"","link_external":false,"previousSlug":"","category":"64c14ec8f2680d15b2982b29","createdAt":"2023-04-06T22:35:57.493Z","parentDoc":"64c14ec8f2680d15b2982ba0","mdx":{},"isBodyEmpty":true,"children":[]},{"_id":"64c14ec8f2680d15b2982bac","api":{"method":"get","url":"","auth":"required","params":[],"results":{"codes":[]},"apiSetting":"64c14ec8f2680d15b2982b21"},"title":"Branch detail","icon":"","type":"endpoint","slug":"repos_branches_retrieve","order":1,"isReference":true,"deprecated":false,"hidden":false,"sync_unique":"repos_branches_retrieve","link_url":"","link_external":false,"previousSlug":"","category":"64c14ec8f2680d15b2982b29","createdAt":"2023-04-06T22:35:57.493Z","parentDoc":"64c14ec8f2680d15b2982ba0","mdx":{},"isBodyEmpty":true,"children":[]}]},{"_id":"64c14ec8f2680d15b2982ba1","api":{"method":"get","url":"","auth":"required","params":[],"apiSetting":"64c14ec8f2680d15b2982b21"},"title":"Commits","icon":"","type":"basic","slug":"commits","order":4,"isReference":true,"deprecated":false,"hidden":false,"sync_unique":"tag__Commits","link_url":"","link_external":false,"previousSlug":"","category":"64c14ec8f2680d15b2982b29","createdAt":"2023-04-06T22:35:55.789Z","parentDoc":null,"mdx":{},"isBodyEmpty":true,"children":[{"_id":"64c14ec8f2680d15b2982bad","api":{"method":"get","url":"","auth":"required","params":[],"results":{"codes":[]},"apiSetting":"64c14ec8f2680d15b2982b21"},"title":"Commit list","icon":"","type":"endpoint","slug":"repos_commits_list","order":0,"isReference":true,"deprecated":false,"hidden":false,"sync_unique":"repos_commits_list","link_url":"","link_external":false,"previousSlug":"","category":"64c14ec8f2680d15b2982b29","createdAt":"2023-04-06T22:35:57.494Z","parentDoc":"64c14ec8f2680d15b2982ba1","mdx":{},"isBodyEmpty":true,"children":[]},{"_id":"64c14ec8f2680d15b2982bae","api":{"method":"get","url":"","auth":"required","params":[],"results":{"codes":[]},"apiSetting":"64c14ec8f2680d15b2982b21"},"title":"Commit detail","icon":"","type":"endpoint","slug":"repos_commits_retrieve","order":1,"isReference":true,"deprecated":false,"hidden":false,"sync_unique":"repos_commits_retrieve","link_url":"","link_external":false,"previousSlug":"","category":"64c14ec8f2680d15b2982b29","createdAt":"2023-04-06T22:35:57.494Z","parentDoc":"64c14ec8f2680d15b2982ba1","mdx":{},"isBodyEmpty":true,"children":[]},{"_id":"6628098ba9b3ae0011703639","api":{"method":"get","url":"","auth":"required","params":[],"results":{"codes":[]},"apiSetting":"64c14ec8f2680d15b2982b21"},"title":"Commit uploads","icon":"","type":"endpoint","slug":"repos_commits_uploads_list","order":2,"isReference":true,"deprecated":false,"hidden":false,"sync_unique":"repos_commits_uploads_list","link_url":"","link_external":false,"previousSlug":"","category":"64c14ec8f2680d15b2982b29","createdAt":"2024-04-23T19:18:35.025Z","parentDoc":"64c14ec8f2680d15b2982ba1","mdx":{},"isBodyEmpty":true,"children":[]}]},{"_id":"64c14ec8f2680d15b2982ba2","api":{"method":"get","url":"","auth":"required","params":[],"apiSetting":"64c14ec8f2680d15b2982b21"},"title":"Comparison","icon":"","type":"basic","slug":"comparison","order":5,"isReference":true,"deprecated":false,"hidden":false,"sync_unique":"tag__Comparison","link_url":"","link_external":false,"previousSlug":"","category":"64c14ec8f2680d15b2982b29","createdAt":"2023-04-06T22:35:55.789Z","parentDoc":null,"mdx":{},"isBodyEmpty":true,"children":[{"_id":"64c14ec8f2680d15b2982baf","api":{"method":"get","url":"","auth":"required","params":[],"results":{"codes":[]},"apiSetting":"64c14ec8f2680d15b2982b21"},"title":"Comparison","icon":"","type":"endpoint","slug":"repos_compare_retrieve","order":0,"isReference":true,"deprecated":false,"hidden":false,"sync_unique":"repos_compare_retrieve","link_url":"","link_external":false,"previousSlug":"","category":"64c14ec8f2680d15b2982b29","createdAt":"2023-04-06T22:35:57.495Z","parentDoc":"64c14ec8f2680d15b2982ba2","mdx":{},"isBodyEmpty":true,"children":[]},{"_id":"64c14ec8f2680d15b2982bb0","api":{"method":"get","url":"","auth":"required","params":[],"results":{"codes":[]},"apiSetting":"64c14ec8f2680d15b2982b21"},"title":"Component comparison","icon":"","type":"endpoint","slug":"repos_compare_components_retrieve","order":1,"isReference":true,"deprecated":false,"hidden":false,"sync_unique":"repos_compare_components_retrieve","link_url":"","link_external":false,"previousSlug":"","category":"64c14ec8f2680d15b2982b29","createdAt":"2023-04-06T22:35:57.495Z","parentDoc":"64c14ec8f2680d15b2982ba2","mdx":{},"isBodyEmpty":true,"children":[]},{"_id":"64c14ec8f2680d15b2982bb1","api":{"method":"get","url":"","auth":"required","params":[],"results":{"codes":[]},"apiSetting":"64c14ec8f2680d15b2982b21"},"title":"File comparison","icon":"","type":"endpoint","slug":"repos_compare_file_retrieve","order":2,"isReference":true,"deprecated":false,"hidden":false,"sync_unique":"repos_compare_file_retrieve","link_url":"","link_external":false,"previousSlug":"","category":"64c14ec8f2680d15b2982b29","createdAt":"2023-04-06T22:35:57.496Z","parentDoc":"64c14ec8f2680d15b2982ba2","mdx":{},"isBodyEmpty":true,"children":[]},{"_id":"64c14ec8f2680d15b2982bb2","api":{"method":"get","url":"","auth":"required","params":[],"results":{"codes":[]},"apiSetting":"64c14ec8f2680d15b2982b21"},"title":"Flag comparison","icon":"","type":"endpoint","slug":"repos_compare_flags_retrieve","order":3,"isReference":true,"deprecated":false,"hidden":false,"sync_unique":"repos_compare_flags_retrieve","link_url":"","link_external":false,"previousSlug":"","category":"64c14ec8f2680d15b2982b29","createdAt":"2023-04-06T22:35:57.497Z","parentDoc":"64c14ec8f2680d15b2982ba2","mdx":{},"isBodyEmpty":true,"children":[]},{"_id":"6628098ba9b3ae001170363a","api":{"method":"get","url":"","auth":"required","params":[],"results":{"codes":[]},"apiSetting":"64c14ec8f2680d15b2982b21"},"title":"Impacted files comparison","icon":"","type":"endpoint","slug":"repos_compare_impacted_files_retrieve","order":4,"isReference":true,"deprecated":false,"hidden":false,"sync_unique":"repos_compare_impacted_files_retrieve","link_url":"","link_external":false,"previousSlug":"","category":"64c14ec8f2680d15b2982b29","createdAt":"2024-04-23T19:18:35.027Z","parentDoc":"64c14ec8f2680d15b2982ba2","mdx":{},"isBodyEmpty":true,"children":[]},{"_id":"6628098ba9b3ae001170363b","api":{"method":"get","url":"","auth":"required","params":[],"results":{"codes":[]},"apiSetting":"64c14ec8f2680d15b2982b21"},"title":"Segmented file comparison","icon":"","type":"endpoint","slug":"repos_compare_segments_retrieve","order":5,"isReference":true,"deprecated":false,"hidden":false,"sync_unique":"repos_compare_segments_retrieve","link_url":"","link_external":false,"previousSlug":"","category":"64c14ec8f2680d15b2982b29","createdAt":"2024-04-23T19:18:35.028Z","parentDoc":"64c14ec8f2680d15b2982ba2","mdx":{},"isBodyEmpty":true,"children":[]}]},{"_id":"64c14ec8f2680d15b2982ba3","api":{"method":"get","url":"","auth":"required","params":[],"apiSetting":"64c14ec8f2680d15b2982b21"},"title":"Components","icon":"","type":"basic","slug":"components-1","order":6,"isReference":true,"deprecated":false,"hidden":false,"sync_unique":"tag__Components","link_url":"","link_external":false,"previousSlug":"","category":"64c14ec8f2680d15b2982b29","createdAt":"2023-04-06T22:35:55.789Z","parentDoc":null,"mdx":{},"isBodyEmpty":true,"children":[{"_id":"64c14ec8f2680d15b2982bb3","api":{"method":"get","url":"","auth":"required","params":[],"results":{"codes":[]},"apiSetting":"64c14ec8f2680d15b2982b21"},"title":"Component list","icon":"","type":"endpoint","slug":"repos_components_list","order":0,"isReference":true,"deprecated":false,"hidden":false,"sync_unique":"repos_components_list","link_url":"","link_external":false,"previousSlug":"","category":"64c14ec8f2680d15b2982b29","createdAt":"2023-04-06T22:35:57.497Z","parentDoc":"64c14ec8f2680d15b2982ba3","mdx":{},"isBodyEmpty":true,"children":[]}]},{"_id":"64c14ec8f2680d15b2982ba4","api":{"method":"get","url":"","auth":"required","params":[],"apiSetting":"64c14ec8f2680d15b2982b21"},"title":"Coverage","icon":"","type":"basic","slug":"coverage","order":7,"isReference":true,"deprecated":false,"hidden":false,"sync_unique":"tag__Coverage","link_url":"","link_external":false,"previousSlug":"","category":"64c14ec8f2680d15b2982b29","createdAt":"2023-04-06T22:35:55.790Z","parentDoc":null,"mdx":{},"isBodyEmpty":true,"children":[{"_id":"64c14ec8f2680d15b2982bb5","api":{"method":"get","url":"","auth":"required","params":[],"results":{"codes":[]},"apiSetting":"64c14ec8f2680d15b2982b21"},"title":"Coverage trend","icon":"","type":"endpoint","slug":"repos_coverage_list","order":0,"isReference":true,"deprecated":false,"hidden":false,"sync_unique":"repos_coverage_list","link_url":"","link_external":false,"previousSlug":"","category":"64c14ec8f2680d15b2982b29","createdAt":"2023-04-06T22:35:57.499Z","parentDoc":"64c14ec8f2680d15b2982ba4","mdx":{},"isBodyEmpty":true,"children":[]},{"_id":"64c14ec8f2680d15b2982bb6","api":{"method":"get","url":"","auth":"required","params":[],"results":{"codes":[]},"apiSetting":"64c14ec8f2680d15b2982b21"},"title":"File coverage report","icon":"","type":"endpoint","slug":"repos_file_report_retrieve","order":1,"isReference":true,"deprecated":false,"hidden":false,"sync_unique":"repos_file_report_retrieve","link_url":"","link_external":false,"previousSlug":"","category":"64c14ec8f2680d15b2982b29","createdAt":"2023-04-06T22:35:57.500Z","parentDoc":"64c14ec8f2680d15b2982ba4","mdx":{},"isBodyEmpty":true,"children":[]},{"_id":"64c14ec8f2680d15b2982bbb","api":{"method":"get","url":"","auth":"required","params":[],"results":{"codes":[]},"apiSetting":"64c14ec8f2680d15b2982b21"},"title":"Commit coverage report","icon":"","type":"endpoint","slug":"repos_report_retrieve","order":2,"isReference":true,"deprecated":false,"hidden":false,"sync_unique":"repos_report_retrieve","link_url":"","link_external":false,"previousSlug":"","category":"64c14ec8f2680d15b2982b29","createdAt":"2023-04-06T22:35:57.503Z","parentDoc":"64c14ec8f2680d15b2982ba4","mdx":{},"isBodyEmpty":true,"children":[]},{"_id":"6628098ba9b3ae001170363c","api":{"method":"get","url":"","auth":"required","params":[],"results":{"codes":[]},"apiSetting":"64c14ec8f2680d15b2982b21"},"title":"Coverage report tree","icon":"","type":"endpoint","slug":"repos_report_tree_retrieve","order":3,"isReference":true,"deprecated":false,"hidden":false,"sync_unique":"repos_report_tree_retrieve","link_url":"","link_external":false,"previousSlug":"","category":"64c14ec8f2680d15b2982b29","createdAt":"2024-04-23T19:18:35.031Z","parentDoc":"64c14ec8f2680d15b2982ba4","mdx":{},"isBodyEmpty":true,"children":[]},{"_id":"64c14ec8f2680d15b2982bbc","api":{"method":"get","url":"","auth":"required","params":[],"results":{"codes":[]},"apiSetting":"64c14ec8f2680d15b2982b21"},"title":"Commit coverage totals","icon":"","type":"endpoint","slug":"repos_totals_retrieve","order":4,"isReference":true,"deprecated":false,"hidden":false,"sync_unique":"repos_totals_retrieve","link_url":"","link_external":false,"previousSlug":"","category":"64c14ec8f2680d15b2982b29","createdAt":"2023-04-06T22:35:57.503Z","parentDoc":"64c14ec8f2680d15b2982ba4","mdx":{},"isBodyEmpty":true,"children":[]}]},{"_id":"64c14ec8f2680d15b2982ba5","api":{"method":"get","url":"","auth":"required","params":[],"apiSetting":"64c14ec8f2680d15b2982b21"},"title":"Flags","icon":"","type":"basic","slug":"flags-1","order":8,"isReference":true,"deprecated":false,"hidden":false,"sync_unique":"tag__Flags","link_url":"","link_external":false,"previousSlug":"","category":"64c14ec8f2680d15b2982b29","createdAt":"2023-04-06T22:35:55.790Z","parentDoc":null,"mdx":{},"isBodyEmpty":true,"children":[{"_id":"64c14ec8f2680d15b2982bb7","api":{"method":"get","url":"","auth":"required","params":[],"results":{"codes":[]},"apiSetting":"64c14ec8f2680d15b2982b21"},"title":"Flag list","icon":"","type":"endpoint","slug":"repos_flags_list","order":0,"isReference":true,"deprecated":false,"hidden":false,"sync_unique":"repos_flags_list","link_url":"","link_external":false,"previousSlug":"","category":"64c14ec8f2680d15b2982b29","createdAt":"2023-04-06T22:35:57.500Z","parentDoc":"64c14ec8f2680d15b2982ba5","mdx":{},"isBodyEmpty":true,"children":[]},{"_id":"64c14ec8f2680d15b2982bb8","api":{"method":"get","url":"","auth":"required","params":[],"results":{"codes":[]},"apiSetting":"64c14ec8f2680d15b2982b21"},"title":"Coverage trend","icon":"","type":"endpoint","slug":"repos_flags_coverage_list","order":1,"isReference":true,"deprecated":false,"hidden":false,"sync_unique":"repos_flags_coverage_list","link_url":"","link_external":false,"previousSlug":"","category":"64c14ec8f2680d15b2982b29","createdAt":"2023-04-06T22:35:57.501Z","parentDoc":"64c14ec8f2680d15b2982ba5","mdx":{},"isBodyEmpty":true,"children":[]}]},{"_id":"64c14ec8f2680d15b2982ba6","api":{"method":"get","url":"","auth":"required","params":[],"apiSetting":"64c14ec8f2680d15b2982b21"},"title":"Pulls","icon":"","type":"basic","slug":"pulls","order":9,"isReference":true,"deprecated":false,"hidden":false,"sync_unique":"tag__Pulls","link_url":"","link_external":false,"previousSlug":"","category":"64c14ec8f2680d15b2982b29","createdAt":"2023-04-06T22:35:55.790Z","parentDoc":null,"mdx":{},"isBodyEmpty":true,"children":[{"_id":"64c14ec8f2680d15b2982bb9","api":{"method":"get","url":"","auth":"required","params":[],"results":{"codes":[]},"apiSetting":"64c14ec8f2680d15b2982b21"},"title":"Pull list","icon":"","type":"endpoint","slug":"repos_pulls_list","order":0,"isReference":true,"deprecated":false,"hidden":false,"sync_unique":"repos_pulls_list","link_url":"","link_external":false,"previousSlug":"","category":"64c14ec8f2680d15b2982b29","createdAt":"2023-04-06T22:35:57.502Z","parentDoc":"64c14ec8f2680d15b2982ba6","mdx":{},"isBodyEmpty":true,"children":[]},{"_id":"64c14ec8f2680d15b2982bba","api":{"method":"get","url":"","auth":"required","params":[],"results":{"codes":[]},"apiSetting":"64c14ec8f2680d15b2982b21"},"title":"Pull detail","icon":"","type":"endpoint","slug":"repos_pulls_retrieve","order":1,"isReference":true,"deprecated":false,"hidden":false,"sync_unique":"repos_pulls_retrieve","link_url":"","link_external":false,"previousSlug":"","category":"64c14ec8f2680d15b2982b29","createdAt":"2023-04-06T22:35:57.502Z","parentDoc":"64c14ec8f2680d15b2982ba6","mdx":{},"isBodyEmpty":true,"children":[]}]},{"_id":"66981076d98e6800126b4191","api":{"method":"get","url":"","auth":"required","params":[],"apiSetting":"64c14ec8f2680d15b2982b21"},"title":"Test Results","icon":"","type":"basic","slug":"test-results","order":10,"isReference":true,"deprecated":false,"hidden":false,"sync_unique":"tag__Test Results","link_url":"","link_external":false,"previousSlug":"","category":"64c14ec8f2680d15b2982b29","createdAt":"2024-07-17T18:41:58.122Z","mdx":{},"isBodyEmpty":true,"children":[{"_id":"66981076d98e6800126b4193","api":{"method":"get","url":"","auth":"required","params":[],"results":{"codes":[]},"apiSetting":"64c14ec8f2680d15b2982b21"},"title":"Test results list","icon":"","type":"endpoint","slug":"repos_test_results_list","order":0,"isReference":true,"deprecated":false,"hidden":false,"sync_unique":"repos_test_results_list","link_url":"","link_external":false,"previousSlug":"","category":"64c14ec8f2680d15b2982b29","createdAt":"2024-07-17T18:41:58.310Z","parentDoc":"66981076d98e6800126b4191","mdx":{},"isBodyEmpty":true,"children":[]},{"_id":"66981076d98e6800126b4194","api":{"method":"get","url":"","auth":"required","params":[],"results":{"codes":[]},"apiSetting":"64c14ec8f2680d15b2982b21"},"title":"Test results detail","icon":"","type":"endpoint","slug":"repos_test_results_retrieve","order":1,"isReference":true,"deprecated":false,"hidden":false,"sync_unique":"repos_test_results_retrieve","link_url":"","link_external":false,"previousSlug":"","category":"64c14ec8f2680d15b2982b29","createdAt":"2024-07-17T18:41:58.311Z","parentDoc":"66981076d98e6800126b4191","mdx":{},"isBodyEmpty":true,"children":[]}]}]}]},"apiBaseUrl":"/","baseUrl":"/","search":{"appId":"T28YKFATPY","searchApiKey":"MTg5M2Y2NzAwNzgzOTJlZjIyY2VmNmI4MjNiNmIyMTA5ODIzYWNjOTRmMTI2NTMwZDc5NTEyZGZiMTA2OGEwMnRhZ0ZpbHRlcnM9KHByb2plY3Q6NTdiMzNiNWVjOWE0NTUxNzAwYjk2OWE1KSwodmVyc2lvbjpub25lLHZlcnNpb246NjRjMTRlYzhmMjY4MGQxNWIyOTgyYmM0KSwoaGlkZGVuOm5vbmUsaGlkZGVuOmZhbHNlKSwoaW5kZXg6Q3VzdG9tUGFnZSxpbmRleDpQYWdlLGluZGV4OkJsb2cp","indexName":"readme_search_v2","projectsMeta":[{"modules":{"suggested_edits":true,"discuss":false,"docs":true,"examples":true,"landing":false,"reference":true,"logs":false,"changelog":true,"custompages":false,"tutorials":false,"graphql":false},"id":"57b33b5ec9a4551700b969a5","name":"Codecov","subdomain":"codecov","subpath":"","nav_names":{"discuss":"Discussion","docs":"","reference":"API Endpoints","changelog":"Changelog","tutorials":"","recipes":""}}],"UrlManager":{"options":{"child":false,"parent":null,"hasOneChild":false,"project":null,"version":null,"lang":"en"},"defaults":{"lang":"en"}},"urlManagerOpts":{"lang":"en","parent":{"childrenProjects":[]},"project":{"subdomain":"codecov"},"version":"2023"}},"activeDoc":"quick-start","rdmd":{"baseUrl":"/","body":"This guide is meant to help you get started with Codecov as quickly as possible. By the end of the guide, you will have:\n\n- Integrated Codecov into your CI pipeline\n- Uploaded coverage to Codecov\n- Viewed coverage reports in Codecov's app as well as in your pull requests / merge requests\n\n## Prerequisites\n\nIn order to get started, you will need the following:\n\n1. Access to a repository with <a href=\"https://github.com/\" target=\"_blank\">GitHub</a>, <a href=\"https://bitbucket.org\" target=\"_blank\">Bitbucket</a>, or <a href=\"https://gitlab.com/\" target=\"_blank\">GitLab</a>.\n 1. If you are a GitHub user you **MUST** install the [Codecov GitHub app](https://github.com/apps/codecov) for your organization - Codecov can't function without it.\n2. A CI environment that runs tests and generates coverage reports.\n\n> 📘 Not ready to use Codecov on your own repositories?\n> \n> Try it out for yourself with the Codecov tutorials for [GitHub](doc:github-tutorial), [Bitbucket](doc:bitbucket-tutorial), or [GitLab](doc:gitlab-tutorial) to see what Codecov has to offer.\n\n## Getting Started\n\n### Step 1: Sign up for Codecov\n\n<a href=\"https://app.codecov.io/signup/\" target=\"_blank\">Sign up</a> for a Codecov account to connect your individual code host account with Codecov. You will be brought to a page with a list of repositories.\n\n[block:image]\n{\n \"images\": [\n {\n \"image\": [\n \"https://files.readme.io/025fa9c-codecov_onboarding.png\",\n null,\n \"\"\n ],\n \"align\": \"center\"\n }\n ]\n}\n[/block]\n\n\nNot seeing any repositories? Try clicking `Not Configured` on the left toggle. If you're a GitHub user, you may need to allow additional repositories to access Codecov in the [app configuration.](https://github.com/apps/codecov/installations/new). Note that if this is your first time logging into Codecov, it may take a few moments for your repositories to sync and appear in the UI.\n\n\n\n**Additional Admin Approval for GitHub users** \nIf you are signing up via GitHub and not an admin of your Github organization, you may need to request access from an admin to authorize Codecov as a third-party GitHub application. For more information see [GitHub Admin Authorization](doc:github-oauth-application-authorization).\n\n### Step 2: Get the repository upload token\n\nClick on `setup repo` for the repository you would like to use Codecov. This should take you to the setup screen for the repository.\n\n[block:image]\n{\n \"images\": [\n {\n \"image\": [\n \"https://files.readme.io/d5416fd-app.codecov.io_github_codecov_codecov-demo_new.png\",\n null,\n \"Screenshot of the Getting started page, showing the upload token and instructions on how to use the GiHub Action to upload\"\n ],\n \"align\": \"center\"\n }\n ]\n}\n[/block]\n\n\nCopy the token as shown in step one for later. It will be used to authenticate and verify coverage reports uploaded for this repository.\n\n### Step 3: Setup integration/team bot (GitLab and Bitbucket only)\n\nTo communicate between your code host and Codecov, you will need to [add a Team Bot](doc:team-bot) for Bitbucket and GitLab. \n\nNo further action is required for GitHub users at this step. GitHub utilizes Codecov's GitHub app for this functionality and is handled in Step 1: Signing up for Codecov. \n\n### Step 4: Upload coverage reports to Codecov\n\nUse the [Codecov CLI](doc:codecov-uploader) and the repository upload token to upload your coverage report(s) to Codecov. **These tools should be added as a step in your CI pipeline.**\n\nThe following CI providers have built-in utilities that will also verify the [uploader integrity](https://docs.codecov.com/docs/codecov-uploader#integrity-checking-the-uploader) before uploading to Codecov:\n\n- <a href=\"https://www.bitrise.io/integrations/steps/codecov\" target=\"_blank\">Bitrise</a>\n- <a href=\"https://circleci.com/developer/orbs/orb/codecov/codecov\" taget=\"_blank\">CircleCI</a>\n- <a href=\"https://github.com/codecov/codecov-action\" target=\"_blank\">GitHub Actions</a>\n\nWe **highly recommend** using these built-in Codecov utilities in their respective workflows.\n\nAn example of a workflow using the CLI with GitHub Actions is shown below.\n\n```yaml .github/workflows/test.yml\nname: API workflow\n\non: [push, pull_request]\n\njobs:\n build:\n runs-on: ubuntu-latest\n name: Test python API\n steps:\n - uses: actions/checkout@v4\n - name: Install requirements\n run: pip install -r requirements.txt\n - name: Run tests and collect coverage\n run: pytest --cov .\n - name: Upload coverage reports to Codecov\n run: |\n # Replace `linux` below with the appropriate OS\n # Options are `alpine`, `linux`, `macos`, `windows`\n curl -Os https://cli.codecov.io/latest/linux/codecov\n chmod +x codecov\n ./codecov --verbose upload-process --fail-on-error -t ${{ secrets.CODECOV_TOKEN }} -n 'service'-${{ github.run_id }} -F service -f coverage-service.xml\n```\n\nYou can check out some of our <a href=\"https://docs.codecov.com/docs/supported-languages\" target=\"_blank\">example repositories</a> for more help on this step.\n\n### Step 5: Get coverage analysis from Codecov\n\nAfter making the above edits, commit your changes and run your CI pipeline. You should see something similar in the build logs\n\n[block:image]\n{\n \"images\": [\n {\n \"image\": [\n \"https://files.readme.io/9ce18f6-Screenshot_2024-04-30_at_9.51.03_AM.png\",\n \"upload.png\",\n \"CI logs showing Codecov CLI in action\"\n ],\n \"align\": \"center\"\n }\n ]\n}\n[/block]\n\n\nIn your pull request, you should see a single [status checks](doc:commit-status) like\n\n[block:image]\n{\n \"images\": [\n {\n \"image\": [\n \"https://files.readme.io/8a2787d-Screenshot_2024-04-30_at_9.51.45_AM.png\",\n \"checks.png\",\n \"Patch coverage check from Codecov\"\n ],\n \"align\": \"center\"\n }\n ]\n}\n[/block]\n\n\nand a [pull request comment](doc:pull-request-comments) similar to\n\n[block:image]\n{\n \"images\": [\n {\n \"image\": [\n \"https://files.readme.io/bd7ed7e-Screenshot_2024-04-30_at_9.57.28_AM.png\",\n \"comment.png\",\n \"PR comment with Patch Coverage info only\"\n ],\n \"align\": \"center\"\n }\n ]\n}\n[/block]\n\n\nBy default, Codecov will gate and report on [coverage changes on Git diff](https://docs.codecov.com/docs/changing-your-pr-comment-format)in the Pull request; with overall project coverage reporting available on the Codecov dashboard.\n\n### Step 6: View the dashboard on Codecov\n\nAfter merging the above pull request, go back to Codecov and view the dashboard of your repository to see trends in coverage over time.\n\n[block:image]{\"images\":[{\"image\":[\"https://files.readme.io/65bc570-Screenshot_2024-08-15_at_08.23.35.png\",null,null],\"align\":\"center\"}]}[/block]\n\nYou can also view coverage for individual commits and pull requests, as well as coverage overlays to get a better understanding of what code hasn't been tested.\n\n> 🚧 Not seeing coverage on the dashboard?\n> \n> Go to the `Configuration` -> `General` tab in Codecov and double-check that the default branch is properly set.\n\n## Tips and Tricks\n\n**1.** Want project coverage checks and project coverage report in your PR comments as well? Add the following to your `codecov.yml`\n\nThe snippet below adds project coverage checks to every PR.\n\n```yaml codecov.yml\ncoverage:\n status:\n project: #add everything under here, more options at https://docs.codecov.com/docs/commit-status\n default:\n # basic\n target: auto #default\n threshold: 0%\n base: auto \n```\n\nThe snippet below adds project coverage reporting to a PR comment from Codecov\n\n```yaml codecov.yml\ncomment: #this is a top-level key\n layout: \" diff, flags, files\"\n behavior: default\n require_changes: false # if true: only post the comment if coverage changes\n require_base: false # [true :: must have a base report to post]\n require_head: true # [true :: must have a head report to post]\n hide_project_coverage: false # [true :: only show coverage on the git diff aka patch coverage]\n```\n\n**2. **Not ready to start using blocking status checks? Set them as informational while you and your team get started with code coverage.\n\n```yaml codecov.yml\ncoverage:\n status:\n project:\n default:\n informational: true\n patch:\n default:\n informational: true\n\n\n# When modifying this file, please validate using\n# curl -X POST --data-binary @codecov.yml https://codecov.io/validate\n```\n\n**3. **Check out our [recipe list](doc:common-recipe-list) for common configuration questions.\n\n**4. **Enforce relative or absolute targets and thresholds during your CI build using the [Codecov YAML](doc:codecov-yaml)\n\n**5.** Use [Components](doc:components) to split up a repository into separate projects by file path. This is great for monorepos or projects that include several teams or components. \n\n**6. **Use [flags](doc:flags) to categorize coverage results in a single repository. This is great for monorepos or projects that include different types of test coverage (e.g., unit, end-to-end, integration).\n\n**7. **Use Codecov with the [Chrome Browser Extension](https://chrome.google.com/webstore/detail/codecov/gedikamndpbemklijjkncpnolildpbgo) or [Firefox Browser Extension](https://addons.mozilla.org/en-US/firefox/addon/codecov/) (GitHub Only for now).","dehydrated":{"toc":"<nav><ul class=\"toc-list\"><li><a class=\"tocHeader\" href=\"#\"><i class=\"icon icon-text-align-left\"></i>Table of Contents</a></li><li class=\"toc-children\"><ul>\n<li>\n<a href=\"#prerequisites\">Prerequisites</a>\n</li>\n<li>\n<a href=\"#getting-started\">Getting Started</a>\n<ul>\n<li><a href=\"#step-1-sign-up-for-codecov\">Step 1: Sign up for Codecov</a></li>\n<li><a href=\"#step-2-get-the-repository-upload-token\">Step 2: Get the repository upload token</a></li>\n<li><a href=\"#step-3-setup-integrationteam-bot-gitlab-and-bitbucket-only\">Step 3: Setup integration/team bot (GitLab and Bitbucket only)</a></li>\n<li><a href=\"#step-4-upload-coverage-reports-to-codecov\">Step 4: Upload coverage reports to Codecov</a></li>\n<li><a href=\"#step-5-get-coverage-analysis-from-codecov\">Step 5: Get coverage analysis from Codecov</a></li>\n<li><a href=\"#step-6-view-the-dashboard-on-codecov\">Step 6: View the dashboard on Codecov</a></li>\n</ul>\n</li>\n<li>\n<a href=\"#tips-and-tricks\">Tips and Tricks</a>\n</li>\n</ul></li></ul></nav>","body":"<p>This guide is meant to help you get started with Codecov as quickly as possible. By the end of the guide, you will have:</p>\n<ul>\n<li>Integrated Codecov into your CI pipeline</li>\n<li>Uploaded coverage to Codecov</li>\n<li>Viewed coverage reports in Codecov&#x27;s app as well as in your pull requests / merge requests</li>\n</ul>\n<h2 class=\"heading heading-2 header-scroll\" align=\"\"><div class=\"heading-anchor anchor waypoint\" id=\"prerequisites\"></div><div class=\"heading-text\"><div id=\"section-prerequisites\" class=\"heading-anchor_backwardsCompatibility\"></div>Prerequisites</div><a aria-label=\"Skip link to Prerequisites\" class=\"heading-anchor-icon fa fa-anchor\" href=\"#prerequisites\"></a></h2>\n<p>In order to get started, you will need the following:</p>\n<ol>\n<li>Access to a repository with <a href=\"https://github.com/\" target=\"_blank\" title=\"\">GitHub</a>, <a href=\"https://bitbucket.org\" target=\"_blank\" title=\"\">Bitbucket</a>, or <a href=\"https://gitlab.com/\" target=\"_blank\" title=\"\">GitLab</a>.\n<ol>\n<li>If you are a GitHub user you <strong>MUST</strong> install the <a href=\"https://github.com/apps/codecov\" target=\"\" title=\"\">Codecov GitHub app</a> for your organization - Codecov can&#x27;t function without it.</li>\n</ol>\n</li>\n<li>A CI environment that runs tests and generates coverage reports.</li>\n</ol>\n<blockquote class=\"callout callout_info\" theme=\"📘\"><h2 class=\"callout-heading\"><span class=\"callout-icon\">📘</span><p>Not ready to use Codecov on your own repositories?</p></h2><p>Try it out for yourself with the Codecov tutorials for <a href=\"/docs/github-tutorial\" target=\"\" title=\"\" class=\"doc-link\" data-sidebar=\"github-tutorial\">GitHub</a>, <a href=\"/docs/bitbucket-tutorial\" target=\"\" title=\"\" class=\"doc-link\" data-sidebar=\"bitbucket-tutorial\">Bitbucket</a>, or <a href=\"/docs/gitlab-tutorial\" target=\"\" title=\"\" class=\"doc-link\" data-sidebar=\"gitlab-tutorial\">GitLab</a> to see what Codecov has to offer.</p></blockquote>\n<h2 class=\"heading heading-2 header-scroll\" align=\"\"><div class=\"heading-anchor anchor waypoint\" id=\"getting-started\"></div><div class=\"heading-text\"><div id=\"section-getting-started\" class=\"heading-anchor_backwardsCompatibility\"></div>Getting Started</div><a aria-label=\"Skip link to Getting Started\" class=\"heading-anchor-icon fa fa-anchor\" href=\"#getting-started\"></a></h2>\n<h3 class=\"heading heading-3 header-scroll\" align=\"\"><div class=\"heading-anchor anchor waypoint\" id=\"step-1-sign-up-for-codecov\"></div><div class=\"heading-text\"><div id=\"section-step-1-sign-up-for-codecov\" class=\"heading-anchor_backwardsCompatibility\"></div>Step 1: Sign up for Codecov</div><a aria-label=\"Skip link to Step 1: Sign up for Codecov\" class=\"heading-anchor-icon fa fa-anchor\" href=\"#step-1-sign-up-for-codecov\"></a></h3>\n<p><a href=\"https://app.codecov.io/signup/\" target=\"_blank\" title=\"\">Sign up</a> for a Codecov account to connect your individual code host account with Codecov. You will be brought to a page with a list of repositories.</p>\n<span aria-label=\"\" class=\"img lightbox closed\" role=\"button\" tabindex=\"0\"><span class=\"lightbox-inner\"><img alt=\"\" loading=\"lazy\" src=\"https://files.readme.io/025fa9c-codecov_onboarding.png\" align=\"center\" class=\"\" caption=\"\" height=\"auto\" title=\"\" width=\"auto\"/></span></span>\n<p>Not seeing any repositories? Try clicking <button aria-label=\"Copy Code\" class=\"rdmd-code-copy fa\"></button><code class=\"rdmd-code lang- theme-light\" data-lang=\"\" name=\"\" tabindex=\"0\">Not Configured</code> on the left toggle. If you&#x27;re a GitHub user, you may need to allow additional repositories to access Codecov in the <a href=\"https://github.com/apps/codecov/installations/new\" target=\"\" title=\"\">app configuration.</a>. Note that if this is your first time logging into Codecov, it may take a few moments for your repositories to sync and appear in the UI.</p>\n<p><span aria-label=\"\" class=\"img lightbox closed\" role=\"button\" tabindex=\"0\"><span class=\"lightbox-inner\"><img alt=\"\" loading=\"lazy\" src=\"https://files.readme.io/6b59d0c-image.png\" align=\"\" caption=\"\" height=\"auto\" title=\"\" width=\"auto\"/></span></span></p>\n<p><strong>Additional Admin Approval for GitHub users</strong><br/>\nIf you are signing up via GitHub and not an admin of your Github organization, you may need to request access from an admin to authorize Codecov as a third-party GitHub application. For more information see <a href=\"/docs/github-oauth-application-authorization\" target=\"\" title=\"\" class=\"doc-link\" data-sidebar=\"github-oauth-application-authorization\">GitHub Admin Authorization</a>.</p>\n<h3 class=\"heading heading-3 header-scroll\" align=\"\"><div class=\"heading-anchor anchor waypoint\" id=\"step-2-get-the-repository-upload-token\"></div><div class=\"heading-text\"><div id=\"section-step-2-get-the-repository-upload-token\" class=\"heading-anchor_backwardsCompatibility\"></div>Step 2: Get the repository upload token</div><a aria-label=\"Skip link to Step 2: Get the repository upload token\" class=\"heading-anchor-icon fa fa-anchor\" href=\"#step-2-get-the-repository-upload-token\"></a></h3>\n<p>Click on <button aria-label=\"Copy Code\" class=\"rdmd-code-copy fa\"></button><code class=\"rdmd-code lang- theme-light\" data-lang=\"\" name=\"\" tabindex=\"0\">setup repo</code> for the repository you would like to use Codecov. This should take you to the setup screen for the repository.</p>\n<span aria-label=\"Screenshot of the Getting started page, showing the upload token and instructions on how to use the GiHub Action to upload\" class=\"img lightbox closed\" role=\"button\" tabindex=\"0\"><span class=\"lightbox-inner\"><img alt=\"Screenshot of the Getting started page, showing the upload token and instructions on how to use the GiHub Action to upload\" loading=\"lazy\" src=\"https://files.readme.io/d5416fd-app.codecov.io_github_codecov_codecov-demo_new.png\" align=\"center\" class=\"\" caption=\"\" height=\"auto\" title=\"\" width=\"auto\"/></span></span>\n<p>Copy the token as shown in step one for later. It will be used to authenticate and verify coverage reports uploaded for this repository.</p>\n<h3 class=\"heading heading-3 header-scroll\" align=\"\"><div class=\"heading-anchor anchor waypoint\" id=\"step-3-setup-integrationteam-bot-gitlab-and-bitbucket-only\"></div><div class=\"heading-text\"><div id=\"section-step-3-setup-integration-team-bot-git-lab-and-bitbucket-only\" class=\"heading-anchor_backwardsCompatibility\"></div>Step 3: Setup integration/team bot (GitLab and Bitbucket only)</div><a aria-label=\"Skip link to Step 3: Setup integration/team bot (GitLab and Bitbucket only)\" class=\"heading-anchor-icon fa fa-anchor\" href=\"#step-3-setup-integrationteam-bot-gitlab-and-bitbucket-only\"></a></h3>\n<p>To communicate between your code host and Codecov, you will need to <a href=\"/docs/team-bot\" target=\"\" title=\"\" class=\"doc-link\" data-sidebar=\"team-bot\">add a Team Bot</a> for Bitbucket and GitLab. </p>\n<p>No further action is required for GitHub users at this step. GitHub utilizes Codecov&#x27;s GitHub app for this functionality and is handled in Step 1: Signing up for Codecov. </p>\n<h3 class=\"heading heading-3 header-scroll\" align=\"\"><div class=\"heading-anchor anchor waypoint\" id=\"step-4-upload-coverage-reports-to-codecov\"></div><div class=\"heading-text\"><div id=\"section-step-4-upload-coverage-reports-to-codecov\" class=\"heading-anchor_backwardsCompatibility\"></div>Step 4: Upload coverage reports to Codecov</div><a aria-label=\"Skip link to Step 4: Upload coverage reports to Codecov\" class=\"heading-anchor-icon fa fa-anchor\" href=\"#step-4-upload-coverage-reports-to-codecov\"></a></h3>\n<p>Use the <a href=\"/docs/codecov-uploader\" target=\"\" title=\"\" class=\"doc-link\" data-sidebar=\"codecov-uploader\">Codecov CLI</a> and the repository upload token to upload your coverage report(s) to Codecov. <strong>These tools should be added as a step in your CI pipeline.</strong></p>\n<p>The following CI providers have built-in utilities that will also verify the <a href=\"https://docs.codecov.com/docs/codecov-uploader#integrity-checking-the-uploader\" target=\"\" title=\"\">uploader integrity</a> before uploading to Codecov:</p>\n<ul>\n<li><a href=\"https://www.bitrise.io/integrations/steps/codecov\" target=\"_blank\" title=\"\">Bitrise</a></li>\n<li><a href=\"https://circleci.com/developer/orbs/orb/codecov/codecov\" target=\"\" title=\"\">CircleCI</a></li>\n<li><a href=\"https://github.com/codecov/codecov-action\" target=\"_blank\" title=\"\">GitHub Actions</a></li>\n</ul>\n<p>We <strong>highly recommend</strong> using these built-in Codecov utilities in their respective workflows.</p>\n<p>An example of a workflow using the CLI with GitHub Actions is shown below.</p>\n<div class=\"CodeTabs CodeTabs_initial theme-light\"><div class=\"CodeTabs-toolbar\" role=\"tablist\"><button aria-selected=\"true\" class=\"CodeTabs_active\" role=\"tab\" type=\"button\">.github/workflows/test.yml</button></div><div class=\"CodeTabs-inner\" role=\"tabpanel\"><pre><button aria-label=\"Copy Code\" class=\"rdmd-code-copy fa\"></button><code class=\"rdmd-code lang-yaml theme-light\" data-lang=\"yaml\" name=\".github/workflows/test.yml\" tabindex=\"0\">name: API workflow\n\non: [push, pull_request]\n\njobs:\n build:\n runs-on: ubuntu-latest\n name: Test python API\n steps:\n - uses: actions/checkout@v4\n - name: Install requirements\n run: pip install -r requirements.txt\n - name: Run tests and collect coverage\n run: pytest --cov .\n - name: Upload coverage reports to Codecov\n run: |\n # Replace `linux` below with the appropriate OS\n # Options are `alpine`, `linux`, `macos`, `windows`\n curl -Os https://cli.codecov.io/latest/linux/codecov\n chmod +x codecov\n ./codecov --verbose upload-process --fail-on-error -t ${{ secrets.CODECOV_TOKEN }} -n &#x27;service&#x27;-${{ github.run_id }} -F service -f coverage-service.xml\n</code></pre></div></div>\n<p>You can check out some of our <a href=\"https://docs.codecov.com/docs/supported-languages\" target=\"_blank\" title=\"\">example repositories</a> for more help on this step.</p>\n<h3 class=\"heading heading-3 header-scroll\" align=\"\"><div class=\"heading-anchor anchor waypoint\" id=\"step-5-get-coverage-analysis-from-codecov\"></div><div class=\"heading-text\"><div id=\"section-step-5-get-coverage-analysis-from-codecov\" class=\"heading-anchor_backwardsCompatibility\"></div>Step 5: Get coverage analysis from Codecov</div><a aria-label=\"Skip link to Step 5: Get coverage analysis from Codecov\" class=\"heading-anchor-icon fa fa-anchor\" href=\"#step-5-get-coverage-analysis-from-codecov\"></a></h3>\n<p>After making the above edits, commit your changes and run your CI pipeline. You should see something similar in the build logs</p>\n<span aria-label=\"CI logs showing Codecov CLI in action\" class=\"img lightbox closed\" role=\"button\" tabindex=\"0\"><span class=\"lightbox-inner\"><img alt=\"CI logs showing Codecov CLI in action\" loading=\"lazy\" src=\"https://files.readme.io/9ce18f6-Screenshot_2024-04-30_at_9.51.03_AM.png\" title=\"upload.png\" align=\"center\" class=\"\" caption=\"\" height=\"auto\" width=\"auto\"/></span></span>\n<p>In your pull request, you should see a single <a href=\"/docs/commit-status\" target=\"\" title=\"\" class=\"doc-link\" data-sidebar=\"commit-status\">status checks</a> like</p>\n<span aria-label=\"Patch coverage check from Codecov\" class=\"img lightbox closed\" role=\"button\" tabindex=\"0\"><span class=\"lightbox-inner\"><img alt=\"Patch coverage check from Codecov\" loading=\"lazy\" src=\"https://files.readme.io/8a2787d-Screenshot_2024-04-30_at_9.51.45_AM.png\" title=\"checks.png\" align=\"center\" class=\"\" caption=\"\" height=\"auto\" width=\"auto\"/></span></span>\n<p>and a <a href=\"/docs/pull-request-comments\" target=\"\" title=\"\" class=\"doc-link\" data-sidebar=\"pull-request-comments\">pull request comment</a> similar to</p>\n<span aria-label=\"PR comment with Patch Coverage info only\" class=\"img lightbox closed\" role=\"button\" tabindex=\"0\"><span class=\"lightbox-inner\"><img alt=\"PR comment with Patch Coverage info only\" loading=\"lazy\" src=\"https://files.readme.io/bd7ed7e-Screenshot_2024-04-30_at_9.57.28_AM.png\" title=\"comment.png\" align=\"center\" class=\"\" caption=\"\" height=\"auto\" width=\"auto\"/></span></span>\n<p>By default, Codecov will gate and report on <a href=\"https://docs.codecov.com/docs/changing-your-pr-comment-format\" target=\"\" title=\"\">coverage changes on Git diff</a>in the Pull request; with overall project coverage reporting available on the Codecov dashboard.</p>\n<h3 class=\"heading heading-3 header-scroll\" align=\"\"><div class=\"heading-anchor anchor waypoint\" id=\"step-6-view-the-dashboard-on-codecov\"></div><div class=\"heading-text\"><div id=\"section-step-6-view-the-dashboard-on-codecov\" class=\"heading-anchor_backwardsCompatibility\"></div>Step 6: View the dashboard on Codecov</div><a aria-label=\"Skip link to Step 6: View the dashboard on Codecov\" class=\"heading-anchor-icon fa fa-anchor\" href=\"#step-6-view-the-dashboard-on-codecov\"></a></h3>\n<p>After merging the above pull request, go back to Codecov and view the dashboard of your repository to see trends in coverage over time.</p>\n<span aria-label=\"\" class=\"img lightbox closed\" role=\"button\" tabindex=\"0\"><span class=\"lightbox-inner\"><img alt=\"\" loading=\"lazy\" src=\"https://files.readme.io/65bc570-Screenshot_2024-08-15_at_08.23.35.png\" align=\"center\" class=\"\" caption=\"\" height=\"auto\" title=\"\" width=\"auto\"/></span></span>\n<p>You can also view coverage for individual commits and pull requests, as well as coverage overlays to get a better understanding of what code hasn&#x27;t been tested.</p>\n<blockquote class=\"callout callout_warn\" theme=\"🚧\"><h2 class=\"callout-heading\"><span class=\"callout-icon\">🚧</span><p>Not seeing coverage on the dashboard?</p></h2><p>Go to the <button aria-label=\"Copy Code\" class=\"rdmd-code-copy fa\"></button><code class=\"rdmd-code lang- theme-light\" data-lang=\"\" name=\"\" tabindex=\"0\">Configuration</code> -&gt; <button aria-label=\"Copy Code\" class=\"rdmd-code-copy fa\"></button><code class=\"rdmd-code lang- theme-light\" data-lang=\"\" name=\"\" tabindex=\"0\">General</code> tab in Codecov and double-check that the default branch is properly set.</p></blockquote>\n<h2 class=\"heading heading-2 header-scroll\" align=\"\"><div class=\"heading-anchor anchor waypoint\" id=\"tips-and-tricks\"></div><div class=\"heading-text\"><div id=\"section-tips-and-tricks\" class=\"heading-anchor_backwardsCompatibility\"></div>Tips and Tricks</div><a aria-label=\"Skip link to Tips and Tricks\" class=\"heading-anchor-icon fa fa-anchor\" href=\"#tips-and-tricks\"></a></h2>\n<p><strong>1.</strong> Want project coverage checks and project coverage report in your PR comments as well? Add the following to your <button aria-label=\"Copy Code\" class=\"rdmd-code-copy fa\"></button><code class=\"rdmd-code lang- theme-light\" data-lang=\"\" name=\"\" tabindex=\"0\">codecov.yml</code></p>\n<p>The snippet below adds project coverage checks to every PR.</p>\n<div class=\"CodeTabs CodeTabs_initial theme-light\"><div class=\"CodeTabs-toolbar\" role=\"tablist\"><button aria-selected=\"true\" class=\"CodeTabs_active\" role=\"tab\" type=\"button\">codecov.yml</button></div><div class=\"CodeTabs-inner\" role=\"tabpanel\"><pre><button aria-label=\"Copy Code\" class=\"rdmd-code-copy fa\"></button><code class=\"rdmd-code lang-yaml theme-light\" data-lang=\"yaml\" name=\"codecov.yml\" tabindex=\"0\">coverage:\n status:\n project: #add everything under here, more options at https://docs.codecov.com/docs/commit-status\n default:\n # basic\n target: auto #default\n threshold: 0%\n base: auto \n</code></pre></div></div>\n<p>The snippet below adds project coverage reporting to a PR comment from Codecov</p>\n<div class=\"CodeTabs CodeTabs_initial theme-light\"><div class=\"CodeTabs-toolbar\" role=\"tablist\"><button aria-selected=\"true\" class=\"CodeTabs_active\" role=\"tab\" type=\"button\">codecov.yml</button></div><div class=\"CodeTabs-inner\" role=\"tabpanel\"><pre><button aria-label=\"Copy Code\" class=\"rdmd-code-copy fa\"></button><code class=\"rdmd-code lang-yaml theme-light\" data-lang=\"yaml\" name=\"codecov.yml\" tabindex=\"0\">comment: #this is a top-level key\n layout: &quot; diff, flags, files&quot;\n behavior: default\n require_changes: false # if true: only post the comment if coverage changes\n require_base: false # [true :: must have a base report to post]\n require_head: true # [true :: must have a head report to post]\n hide_project_coverage: false # [true :: only show coverage on the git diff aka patch coverage]\n</code></pre></div></div>\n<p><strong>2. </strong>Not ready to start using blocking status checks? Set them as informational while you and your team get started with code coverage.</p>\n<div class=\"CodeTabs CodeTabs_initial theme-light\"><div class=\"CodeTabs-toolbar\" role=\"tablist\"><button aria-selected=\"true\" class=\"CodeTabs_active\" role=\"tab\" type=\"button\">codecov.yml</button></div><div class=\"CodeTabs-inner\" role=\"tabpanel\"><pre><button aria-label=\"Copy Code\" class=\"rdmd-code-copy fa\"></button><code class=\"rdmd-code lang-yaml theme-light\" data-lang=\"yaml\" name=\"codecov.yml\" tabindex=\"0\">coverage:\n status:\n project:\n default:\n informational: true\n patch:\n default:\n informational: true\n\n\n# When modifying this file, please validate using\n# curl -X POST --data-binary @codecov.yml https://codecov.io/validate\n</code></pre></div></div>\n<p><strong>3. </strong>Check out our <a href=\"/docs/common-recipe-list\" target=\"\" title=\"\" class=\"doc-link\" data-sidebar=\"common-recipe-list\">recipe list</a> for common configuration questions.</p>\n<p><strong>4. </strong>Enforce relative or absolute targets and thresholds during your CI build using the <a href=\"/docs/codecov-yaml\" target=\"\" title=\"\" class=\"doc-link\" data-sidebar=\"codecov-yaml\">Codecov YAML</a></p>\n<p><strong>5.</strong> Use <a href=\"/docs/components\" target=\"\" title=\"\" class=\"doc-link\" data-sidebar=\"components\">Components</a> to split up a repository into separate projects by file path. This is great for monorepos or projects that include several teams or components. </p>\n<p><strong>6. </strong>Use <a href=\"/docs/flags\" target=\"\" title=\"\" class=\"doc-link\" data-sidebar=\"flags\">flags</a> to categorize coverage results in a single repository. This is great for monorepos or projects that include different types of test coverage (e.g., unit, end-to-end, integration).</p>\n<p><strong>7. </strong>Use Codecov with the <a href=\"https://chrome.google.com/webstore/detail/codecov/gedikamndpbemklijjkncpnolildpbgo\" target=\"\" title=\"\">Chrome Browser Extension</a> or <a href=\"https://addons.mozilla.org/en-US/firefox/addon/codecov/\" target=\"\" title=\"\">Firefox Browser Extension</a> (GitHub Only for now).</p>"},"mdx":false,"opts":{"alwaysThrow":false,"compatibilityMode":false,"copyButtons":true,"correctnewlines":false,"markdownOptions":{"fences":true,"commonmark":true,"gfm":true,"ruleSpaces":false,"listItemIndent":"1","spacedTable":true,"paddedTable":true},"normalize":true,"lazyImages":true,"reusableContent":{"tags":{}},"safeMode":false,"settings":{"position":true},"theme":"light","customBlocks":{},"resourceID":"64c14ec8f2680d15b2982b89","resourceType":"page","baseUrl":"/","terms":[],"variables":{"user":{},"defaults":[{"source":"security","_id":"632ca88d894a15001f6469ff","name":"basicAuth","type":"http","scheme":"basic","apiSetting":"632ca88c894a15001f6469f1"},{"source":"security","_id":"632ca88d894a15001f6469fe","name":"sessionid","type":"apiKey","apiSetting":"632ca88c894a15001f6469f1"},{"source":"security","_id":"632ca88d894a15001f6469fd","name":"tokenAuth","type":"http","scheme":"bearer","apiSetting":"632ca88c894a15001f6469f1"}]}},"terms":[],"variables":{"user":{},"defaults":[{"source":"security","_id":"632ca88d894a15001f6469ff","name":"basicAuth","type":"http","scheme":"basic","apiSetting":"632ca88c894a15001f6469f1"},{"source":"security","_id":"632ca88d894a15001f6469fe","name":"sessionid","type":"apiKey","apiSetting":"632ca88c894a15001f6469f1"},{"source":"security","_id":"632ca88d894a15001f6469fd","name":"tokenAuth","type":"http","scheme":"bearer","apiSetting":"632ca88c894a15001f6469f1"}]}},"doc":{"metadata":{"image":[],"title":"Codecov Documentation","description":"","keywords":"","robots":"index"},"mdx":{"altBody":"","status":"rdmd"},"api":{"method":"get","url":"","auth":"required","results":{"codes":[{"status":200,"language":"json","code":"{}","name":""},{"status":400,"language":"json","code":"{}","name":""}]},"params":[],"examples":{"codes":[]}},"next":{"description":"","pages":[]},"algolia":{"recordCount":10,"publishPending":false,"translationFailure":false,"updatedAt":"2024-08-15T12:27:20.232Z"},"title":"Quick Start","icon":"","updates":["63cdc95938306900a072d3ef","63f8ada54fcb73001f4259c9","63ff0014aa3e8a003dd8f47a","64742a4e25809d06e4c9ab49","64b50c80b2777000578dda76","64e4b01910134d005f855e2e","65ca8e81cfe9fb0029c9f1b3","6658b0f22a21bb001f0a1e6f","667f5b1ff6e0200018440c18"],"type":"basic","slug":"quick-start","excerpt":"A quick start guide for those that are brand new to Codecov.","body":"This guide is meant to help you get started with Codecov as quickly as possible. By the end of the guide, you will have:\n\n- Integrated Codecov into your CI pipeline\n- Uploaded coverage to Codecov\n- Viewed coverage reports in Codecov's app as well as in your pull requests / merge requests\n\n## Prerequisites\n\nIn order to get started, you will need the following:\n\n1. Access to a repository with <a href=\"https://github.com/\" target=\"_blank\">GitHub</a>, <a href=\"https://bitbucket.org\" target=\"_blank\">Bitbucket</a>, or <a href=\"https://gitlab.com/\" target=\"_blank\">GitLab</a>.\n 1. If you are a GitHub user you **MUST** install the [Codecov GitHub app](https://github.com/apps/codecov) for your organization - Codecov can't function without it.\n2. A CI environment that runs tests and generates coverage reports.\n\n> 📘 Not ready to use Codecov on your own repositories?\n> \n> Try it out for yourself with the Codecov tutorials for [GitHub](doc:github-tutorial), [Bitbucket](doc:bitbucket-tutorial), or [GitLab](doc:gitlab-tutorial) to see what Codecov has to offer.\n\n## Getting Started\n\n### Step 1: Sign up for Codecov\n\n<a href=\"https://app.codecov.io/signup/\" target=\"_blank\">Sign up</a> for a Codecov account to connect your individual code host account with Codecov. You will be brought to a page with a list of repositories.\n\n[block:image]\n{\n \"images\": [\n {\n \"image\": [\n \"https://files.readme.io/025fa9c-codecov_onboarding.png\",\n null,\n \"\"\n ],\n \"align\": \"center\"\n }\n ]\n}\n[/block]\n\n\nNot seeing any repositories? Try clicking `Not Configured` on the left toggle. If you're a GitHub user, you may need to allow additional repositories to access Codecov in the [app configuration.](https://github.com/apps/codecov/installations/new). Note that if this is your first time logging into Codecov, it may take a few moments for your repositories to sync and appear in the UI.\n\n\n\n**Additional Admin Approval for GitHub users** \nIf you are signing up via GitHub and not an admin of your Github organization, you may need to request access from an admin to authorize Codecov as a third-party GitHub application. For more information see [GitHub Admin Authorization](doc:github-oauth-application-authorization).\n\n### Step 2: Get the repository upload token\n\nClick on `setup repo` for the repository you would like to use Codecov. This should take you to the setup screen for the repository.\n\n[block:image]\n{\n \"images\": [\n {\n \"image\": [\n \"https://files.readme.io/d5416fd-app.codecov.io_github_codecov_codecov-demo_new.png\",\n null,\n \"Screenshot of the Getting started page, showing the upload token and instructions on how to use the GiHub Action to upload\"\n ],\n \"align\": \"center\"\n }\n ]\n}\n[/block]\n\n\nCopy the token as shown in step one for later. It will be used to authenticate and verify coverage reports uploaded for this repository.\n\n### Step 3: Setup integration/team bot (GitLab and Bitbucket only)\n\nTo communicate between your code host and Codecov, you will need to [add a Team Bot](doc:team-bot) for Bitbucket and GitLab. \n\nNo further action is required for GitHub users at this step. GitHub utilizes Codecov's GitHub app for this functionality and is handled in Step 1: Signing up for Codecov. \n\n### Step 4: Upload coverage reports to Codecov\n\nUse the [Codecov CLI](doc:codecov-uploader) and the repository upload token to upload your coverage report(s) to Codecov. **These tools should be added as a step in your CI pipeline.**\n\nThe following CI providers have built-in utilities that will also verify the [uploader integrity](https://docs.codecov.com/docs/codecov-uploader#integrity-checking-the-uploader) before uploading to Codecov:\n\n- <a href=\"https://www.bitrise.io/integrations/steps/codecov\" target=\"_blank\">Bitrise</a>\n- <a href=\"https://circleci.com/developer/orbs/orb/codecov/codecov\" taget=\"_blank\">CircleCI</a>\n- <a href=\"https://github.com/codecov/codecov-action\" target=\"_blank\">GitHub Actions</a>\n\nWe **highly recommend** using these built-in Codecov utilities in their respective workflows.\n\nAn example of a workflow using the CLI with GitHub Actions is shown below.\n\n```yaml .github/workflows/test.yml\nname: API workflow\n\non: [push, pull_request]\n\njobs:\n build:\n runs-on: ubuntu-latest\n name: Test python API\n steps:\n - uses: actions/checkout@v4\n - name: Install requirements\n run: pip install -r requirements.txt\n - name: Run tests and collect coverage\n run: pytest --cov .\n - name: Upload coverage reports to Codecov\n run: |\n # Replace `linux` below with the appropriate OS\n # Options are `alpine`, `linux`, `macos`, `windows`\n curl -Os https://cli.codecov.io/latest/linux/codecov\n chmod +x codecov\n ./codecov --verbose upload-process --fail-on-error -t ${{ secrets.CODECOV_TOKEN }} -n 'service'-${{ github.run_id }} -F service -f coverage-service.xml\n```\n\nYou can check out some of our <a href=\"https://docs.codecov.com/docs/supported-languages\" target=\"_blank\">example repositories</a> for more help on this step.\n\n### Step 5: Get coverage analysis from Codecov\n\nAfter making the above edits, commit your changes and run your CI pipeline. You should see something similar in the build logs\n\n[block:image]\n{\n \"images\": [\n {\n \"image\": [\n \"https://files.readme.io/9ce18f6-Screenshot_2024-04-30_at_9.51.03_AM.png\",\n \"upload.png\",\n \"CI logs showing Codecov CLI in action\"\n ],\n \"align\": \"center\"\n }\n ]\n}\n[/block]\n\n\nIn your pull request, you should see a single [status checks](doc:commit-status) like\n\n[block:image]\n{\n \"images\": [\n {\n \"image\": [\n \"https://files.readme.io/8a2787d-Screenshot_2024-04-30_at_9.51.45_AM.png\",\n \"checks.png\",\n \"Patch coverage check from Codecov\"\n ],\n \"align\": \"center\"\n }\n ]\n}\n[/block]\n\n\nand a [pull request comment](doc:pull-request-comments) similar to\n\n[block:image]\n{\n \"images\": [\n {\n \"image\": [\n \"https://files.readme.io/bd7ed7e-Screenshot_2024-04-30_at_9.57.28_AM.png\",\n \"comment.png\",\n \"PR comment with Patch Coverage info only\"\n ],\n \"align\": \"center\"\n }\n ]\n}\n[/block]\n\n\nBy default, Codecov will gate and report on [coverage changes on Git diff](https://docs.codecov.com/docs/changing-your-pr-comment-format)in the Pull request; with overall project coverage reporting available on the Codecov dashboard.\n\n### Step 6: View the dashboard on Codecov\n\nAfter merging the above pull request, go back to Codecov and view the dashboard of your repository to see trends in coverage over time.\n\n[block:image]{\"images\":[{\"image\":[\"https://files.readme.io/65bc570-Screenshot_2024-08-15_at_08.23.35.png\",null,null],\"align\":\"center\"}]}[/block]\n\nYou can also view coverage for individual commits and pull requests, as well as coverage overlays to get a better understanding of what code hasn't been tested.\n\n> 🚧 Not seeing coverage on the dashboard?\n> \n> Go to the `Configuration` -> `General` tab in Codecov and double-check that the default branch is properly set.\n\n## Tips and Tricks\n\n**1.** Want project coverage checks and project coverage report in your PR comments as well? Add the following to your `codecov.yml`\n\nThe snippet below adds project coverage checks to every PR.\n\n```yaml codecov.yml\ncoverage:\n status:\n project: #add everything under here, more options at https://docs.codecov.com/docs/commit-status\n default:\n # basic\n target: auto #default\n threshold: 0%\n base: auto \n```\n\nThe snippet below adds project coverage reporting to a PR comment from Codecov\n\n```yaml codecov.yml\ncomment: #this is a top-level key\n layout: \" diff, flags, files\"\n behavior: default\n require_changes: false # if true: only post the comment if coverage changes\n require_base: false # [true :: must have a base report to post]\n require_head: true # [true :: must have a head report to post]\n hide_project_coverage: false # [true :: only show coverage on the git diff aka patch coverage]\n```\n\n**2. **Not ready to start using blocking status checks? Set them as informational while you and your team get started with code coverage.\n\n```yaml codecov.yml\ncoverage:\n status:\n project:\n default:\n informational: true\n patch:\n default:\n informational: true\n\n\n# When modifying this file, please validate using\n# curl -X POST --data-binary @codecov.yml https://codecov.io/validate\n```\n\n**3. **Check out our [recipe list](doc:common-recipe-list) for common configuration questions.\n\n**4. **Enforce relative or absolute targets and thresholds during your CI build using the [Codecov YAML](doc:codecov-yaml)\n\n**5.** Use [Components](doc:components) to split up a repository into separate projects by file path. This is great for monorepos or projects that include several teams or components. \n\n**6. **Use [flags](doc:flags) to categorize coverage results in a single repository. This is great for monorepos or projects that include different types of test coverage (e.g., unit, end-to-end, integration).\n\n**7. **Use Codecov with the [Chrome Browser Extension](https://chrome.google.com/webstore/detail/codecov/gedikamndpbemklijjkncpnolildpbgo) or [Firefox Browser Extension](https://addons.mozilla.org/en-US/firefox/addon/codecov/) (GitHub Only for now).","order":0,"isReference":false,"deprecated":false,"hidden":false,"sync_unique":"","link_url":"","link_external":false,"reusableContent":[],"previousSlug":"quick-start-copy","slugUpdatedAt":"2022-06-07T17:07:56.459Z","revision":42,"_id":"64c14ec8f2680d15b2982b89","pendingAlgoliaPublish":false,"createdAt":"2022-06-06T23:10:43.332Z","updatedAt":"2024-08-15T12:25:07.075Z","user":"6658aff29845b000114c3ce3","category":{"title":"Getting Started","slug":"getting-started-1","order":0,"reference":false,"_id":"64c14ec8f2680d15b2982b24","project":"57b33b5ec9a4551700b969a5","version":"64c14ec8f2680d15b2982bc4","isAPI":false,"createdAt":"2019-01-28T03:07:50.737Z","__v":0,"type":"guide","id":"64c14ec8f2680d15b2982b24"},"project":"57b33b5ec9a4551700b969a5","version":{"version":"2023","version_clean":"2023.0.0","codename":"","is_stable":true,"is_beta":false,"is_hidden":false,"is_deprecated":false,"categories":["604a3fa3d6d5f00080272532","604a3fa3d6d5f00080272533","584d8c8ecda2b40f000583b1","604a3fa3d6d5f00080272534","64c14ec8f2680d15b2982b22","64c14ec8f2680d15b2982b23","6308fc7b69f8e6001a5b7891","6308fc7b69f8e6001a5b7892","6308fc7b69f8e6001a5b7893","6308fc7b69f8e6001a5b7894","604a3fa3d6d5f0008027253b","6308fc7b69f8e6001a5b7895","58a898f47e69742300452fd5","5eb0413161ae28003916ffe0","64c14ec8f2680d15b2982b24","604babcfe3d113006c0ac382","64c14ec8f2680d15b2982b25","64c14ec8f2680d15b2982b26","64c14ec8f2680d15b2982b27","6376b408081e400003bab88c","63d7d3bd383f980c59dfdb04","64c14ec8f2680d15b2982b28","64c14ec8f2680d15b2982b29","64c14ec8f2680d15b2982bc6","651dcc9c5bcd49002bbe5d91","668825e9bfdd8000111b6104","668826589204050010308f85","66d9ae493a66f90010b2ca41"],"pdfStatus":"","source":"readme","_id":"64c14ec8f2680d15b2982bc4","__v":0,"project":"57b33b5ec9a4551700b969a5","forked_from":"6308fc7b69f8e6001a5b790f","createdAt":"2023-07-26T16:50:16.491Z","releaseDate":"2016-12-11T17:27:42.671Z","updatedAt":"2024-09-05T13:12:41.216Z","apiRegistries":[]},"__v":9,"parentDoc":null,"lastUpdatedHash":"2a2548f1a9cf1621cd37f49dc092e8948bb68a8b","isApi":false,"tutorials":[],"id":"64c14ec8f2680d15b2982b89"},"hideTOC":false,"meta":{"_id":"64c14ec8f2680d15b2982b89","description":"A quick start guide for those that are brand new to Codecov.","hidden":false,"image":[],"keywords":"","metaTitle":"Codecov Documentation","parent":null,"robots":"index","slug":"quick-start","title":"Quick Start","type":"docs"},"slugUrl":"/docs/quick-start","config":{"algoliaIndex":"readme_search_v2","amplitude":{"apiKey":"dc8065a65ef83d6ad23e37aaf014fc84","enabled":true},"asset_url":"https://cdn.readme.io","domain":"readme.io","domainFull":"https://dash.readme.com","encryptedLocalStorageKey":"ekfls-2025-03","fullstory":{"enabled":true,"orgId":"FSV9A"},"metrics":{"billingCronEnabled":"true","dashUrl":"https://m.readme.io","defaultUrl":"https://m.readme.io","exportMaxRetries":12,"wsUrl":"wss://m.readme.io"},"proxyUrl":"https://try.readme.io","readmeRecaptchaSiteKey":"6LesVBYpAAAAAESOCHOyo2kF9SZXPVb54Nwf3i2x","releaseVersion":"5.311.1","sentry":{"dsn":"https://3bbe57a973254129bcb93e47dc0cc46f@o343074.ingest.sentry.io/2052166","enabled":true,"tracesSampleRate":0},"shMigration":{"promoVideo":"","forceWaitlist":false},"sslBaseDomain":"readmessl.com","sslGenerationService":"ssl.readmessl.com","stripePk":"pk_live_5103PML2qXbDukVh7GDAkQoR4NSuLqy8idd5xtdm9407XdPR6o3bo663C1ruEGhXJjpnb2YCpj8EU1UvQYanuCjtr00t1DRCf2a","superHub":{"newProjectsEnabled":true},"wootric":{"accountToken":"NPS-122b75a4","enabled":true}},"context":{"labs":{},"user":{},"terms":[],"variables":{"user":{},"defaults":[{"source":"security","_id":"632ca88d894a15001f6469ff","name":"basicAuth","type":"http","scheme":"basic","apiSetting":"632ca88c894a15001f6469f1"},{"source":"security","_id":"632ca88d894a15001f6469fe","name":"sessionid","type":"apiKey","apiSetting":"632ca88c894a15001f6469f1"},{"source":"security","_id":"632ca88d894a15001f6469fd","name":"tokenAuth","type":"http","scheme":"bearer","apiSetting":"632ca88c894a15001f6469f1"}]},"project":{"_id":"57b33b5ec9a4551700b969a5","appearance":{"notheme":false,"logo":["https://files.readme.io/5affb88-codecov.svg","codecov.svg",60,60,"#ff0077"],"html_footer":"","javascript":"","landing":true,"promos":[{"extras":{"type":"buttons","buttonPrimary":"get-started","buttonSecondary":""},"title":"Code coverage done right.®","text":"Welcome to Codecov Documentation. You'll find comprehensive guides and documentation to help you start working with Codecov as quickly as possible, as well as support if you get stuck. Let's jump right in!","_id":"57b33b5ec9a4551700b969a6"}],"stylesheet":"","body":{"style":"none"},"html_hidelinks":false,"favicon":["https://files.readme.io/f743cbc-small-Codecov_Mark_Circle_Pink.png","Codecov Mark Circle Pink.png",32,32,"#f35197","https://files.readme.io/9452196-Codecov_Mark_Circle_Pink.png"],"html_body":"","html_head":"","typography":{"tk_body":"","tk_headline":"","tk_key":"","typekit":false,"body":"Open+Sans:400:sans-serif","headline":"Open+Sans:400:sans-serif"},"hide_logo":false,"header":{"img":[],"img_pos":"tl","img_size":"tile-x","style":"solid"},"javascript_hub2":"","link_logo_to_url":false,"main_body":{"type":"links"},"sticky":false,"colors":{"body_highlight":"#5bb3f2","header_text":"","highlight":"","main":"#F01F7A","main_alt":"#38591e","custom_login_link_color":""},"html_footer_meta":"","stylesheet_hub2":".theme-solid header#hub-header #header-top {\n background-color:#0f1b29 !important;\n}\n\n.suggestEdits::before {\n content: \"🤓\";\n}\n\n.suggestEdits::after {\n content: \"🤓\";\n}\n\n.suggestEdits{\n display: flex;\n flex-direction: row;\n justify-content: center;\n font-size: 16px !important;\n}\n\ncode {\n background: #eeeeee;\n padding: 2px 5px;\n}\n\npre > code {\n background: inherit;\n\tpadding: 0px;\n}\n\n/*Enlarging the helpful/not helpful box at the bottom*/\ndiv.PageThumbs-helpful { font-size: 20px; }\n\n.markdown-body.markdown-body.markdown-body strong {\n font-weight:700 !important;\n}","theme":"line","html_promo":"","logo_white":[],"logo_white_use":false,"overlay":"circuits","showVersion":true,"referenceLayout":"row","categoriesAsDropdown":false,"childrenAsPills":false,"global_landing_page":{"html":"","redirect":""},"hideTableOfContents":false,"nextStepsLabel":"","splitReferenceDocs":false,"rdmd":{"callouts":{"useIconFont":false},"theme":{"background":"","border":"","markdownEdge":"","markdownFont":"","markdownFontSize":"","markdownLineHeight":"","markdownRadius":"","markdownText":"","markdownTitle":"","markdownTitleFont":"","mdCodeBackground":"","mdCodeFont":"","mdCodeRadius":"","mdCodeTabs":"","mdCodeText":"","tableEdges":"","tableHead":"","tableHeadText":"","tableRow":"","tableStripe":"","tableText":"","text":"","title":""}},"subheaderStyle":"dropdown","showMetricsInReference":true,"referenceSimpleMode":true,"stylesheet_hub3":"","loginLogo":[],"logo_large":false,"colorScheme":"system","changelog":{"layoutExpanded":false,"showAuthor":true,"showExactDate":false},"allowApiExplorerJsonEditor":false},"custom_domain":"docs.codecov.com","childrenProjects":[],"derivedPlan":"business","description":"Codecov provides highly integrated tools to group, merge, archive and compare coverage reports. Whether your team is comparing changes in a pull request or reviewing a single commit, Codecov will improve the code review workflow and quality.","error404":"","experiments":[],"first_page":"docs","flags":{"oauth":false,"speedyRender":false,"jwt":false,"migrationRun":false,"migrationSwaggerRun":true,"correctnewlines":false,"hub2":true,"swagger":false,"allowXFrame":false,"allow_hub2":false,"autoSslGeneration":true,"newApiExplorer":true,"apilogs":false,"cookieAuthentication":false,"directGoogleToStableVersion":false,"disableAnonForum":false,"enterprise":false,"hideGoogleAnalytics":false,"translation":false,"newEditor":true,"alwaysShowDocPublishStatus":false,"newMarkdown":false,"newMarkdownBetaProgram":true,"newMarkdownLooseMode":false,"oldMarkdown":false,"newSearch":true,"rdmdCompatibilityMode":false,"staging":false,"tutorials":true,"allowApiExplorerJsonEditor":false,"useReactApp":true,"newHeader":false,"referenceRedesign":false,"auth0Oauth":false,"graphql":false,"singleProjectEnterprise":false,"dashReact":false,"allowReferenceUpgrade":true,"metricsV2":true,"newEditorDash":true,"enableRealtimeExperiences":false,"reviewWorkflow":true,"star":false,"allowDarkMode":false,"forceDarkMode":false,"useReactGLP":false,"disablePasswordlessLogin":false,"personalizedDocs":false,"myDevelopers":false,"superHub":false,"developerDashboard":false,"allowReusableOTPs":false,"dashHomeRefresh":false,"owlbotAi":false,"apiV2":false,"git":{"read":false,"write":false},"superHubBeta":false,"dashQuickstart":false,"disableAutoTranslate":false,"customBlocks":false,"devDashHub":false,"disableSAMLScoping":false,"allowUnsafeCustomHtmlSuggestionsFromNonAdmins":false,"apiAccessRevoked":false,"passwordlessLogin":"default","disableSignups":false,"billingRedesignEnabled":true,"developerPortal":false,"mdx":false,"superHubDevelopment":false,"annualBillingEnabled":true,"devDashBillingRedesignEnabled":false,"enableOidc":false,"customComponents":false,"disableDiscussionSpamRecaptchaBypass":false,"developerViewUsersData":false,"changelogRssAlwaysPublic":false,"bidiSync":false,"superHubMigrationSelfServeFlow":true,"apiDesigner":false,"hideEnforceSSO":false,"localLLM":false,"superHubManageVersions":false,"gitSidebar":false,"superHubGlobalCustomBlocks":false,"childManagedBidi":false},"fullBaseUrl":"https://docs.codecov.com/","git":{"migration":{"createRepository":{},"transformation":{},"migratingPages":{},"enableSuperhub":{}},"sync":{"linked_repository":{},"installationRequest":{},"connections":[]}},"glossaryTerms":[],"graphqlSchema":"","gracePeriod":{"enabled":false,"endsAt":null},"shouldGateDash":false,"healthCheck":{"provider":"","settings":{}},"intercom_secure_emailonly":false,"intercom":"","is_active":true,"integrations":{"login":{}},"internal":"","jwtExpirationTime":0,"landing_bottom":[],"mdxMigrationStatus":"rdmd","metrics":{"enabled":false,"thumbsEnabled":true,"monthlyLimit":0,"planLimit":5000000,"realtime":{"dashEnabled":false,"hubEnabled":false},"monthlyPurchaseLimit":0,"meteredBilling":{}},"modules":{"suggested_edits":true,"discuss":false,"docs":true,"examples":true,"landing":false,"reference":true,"logs":false,"changelog":true,"custompages":false,"tutorials":false,"graphql":false},"name":"Codecov","nav_names":{"discuss":"Discussion","docs":"","reference":"API Endpoints","changelog":"Changelog","tutorials":"","recipes":""},"oauth_url":"","onboardingCompleted":{"documentation":true,"appearance":true,"jwt":true,"api":true,"logs":false,"domain":true,"metricsSDK":false},"owlbot":{"enabled":false,"isPaying":false,"customization":{"answerLength":"long","customTone":"","defaultAnswer":"","forbiddenWords":"","tone":"neutral"},"copilot":{"enabled":false,"hasBeenUsed":false,"installedCustomPage":""}},"owner":{"id":null,"email":null,"name":null},"plan":"business","planOverride":"","planSchedule":{"stripeScheduleId":null,"changeDate":null,"nextPlan":null},"planStatus":"active","planTrial":"business","readmeScore":{"components":{"newDesign":{"enabled":true,"points":25},"reference":{"enabled":true,"points":50},"tryItNow":{"enabled":true,"points":35},"syncingOAS":{"enabled":false,"points":10},"customLogin":{"enabled":true,"points":25},"metrics":{"enabled":false,"points":40},"recipes":{"enabled":false,"points":15},"pageVoting":{"enabled":true,"points":1},"suggestedEdits":{"enabled":true,"points":10},"support":{"enabled":false,"points":5},"htmlLanding":{"enabled":false,"points":5},"guides":{"enabled":true,"points":10},"changelog":{"enabled":true,"points":5},"glossary":{"enabled":false,"points":1},"variables":{"enabled":true,"points":1},"integrations":{"enabled":true,"points":2}},"percentScore":50,"totalScore":164},"reCaptchaSiteKey":"","reference":{"alwaysUseDefaults":true,"defaultExpandResponseExample":false,"defaultExpandResponseSchema":false,"enableOAuthFlows":false},"seo":{"overwrite_title_tag":false},"stable":{"_id":"64c14ec8f2680d15b2982bc4","version":"2023","version_clean":"2023.0.0","codename":"","is_stable":true,"is_beta":false,"is_hidden":false,"is_deprecated":false,"categories":["604a3fa3d6d5f00080272532","604a3fa3d6d5f00080272533","584d8c8ecda2b40f000583b1","604a3fa3d6d5f00080272534","64c14ec8f2680d15b2982b22","64c14ec8f2680d15b2982b23","6308fc7b69f8e6001a5b7891","6308fc7b69f8e6001a5b7892","6308fc7b69f8e6001a5b7893","6308fc7b69f8e6001a5b7894","604a3fa3d6d5f0008027253b","6308fc7b69f8e6001a5b7895","58a898f47e69742300452fd5","5eb0413161ae28003916ffe0","64c14ec8f2680d15b2982b24","604babcfe3d113006c0ac382","64c14ec8f2680d15b2982b25","64c14ec8f2680d15b2982b26","64c14ec8f2680d15b2982b27","6376b408081e400003bab88c","63d7d3bd383f980c59dfdb04","64c14ec8f2680d15b2982b28","64c14ec8f2680d15b2982b29","64c14ec8f2680d15b2982bc6","651dcc9c5bcd49002bbe5d91","668825e9bfdd8000111b6104","668826589204050010308f85","66d9ae493a66f90010b2ca41"],"__v":0,"project":"57b33b5ec9a4551700b969a5","forked_from":"6308fc7b69f8e6001a5b790f","createdAt":"2023-07-26T16:50:16.491Z","releaseDate":"2016-12-11T17:27:42.671Z","updatedAt":"2024-09-05T13:12:41.216Z"},"subdomain":"codecov","subpath":"","superHubWaitlist":false,"topnav":{"edited":true,"left":[{"type":"docs","text":"Guides"},{"type":"url","text":"API","url":"https://docs.codecov.com/reference"},{"type":"changelog","text":"Changelog"},{"type":"url","text":"Support","url":"https://codecovpro.zendesk.com/"},{"text":"Status","url":"https://status.codecov.com","type":"url"},{"type":"url","url":"https://about.codecov.io","text":"Codecov Home"},{"type":"url","text":"Try Codecov for Free","url":"https://about.codecov.io/codecov-free-trial/"}],"right":[],"bottom":[]},"trial":{"trialEndsAt":"2016-08-30T16:12:14.795Z","trialDeadlineEnabled":true},"translate":{"languages":[],"provider":"transifex","key_public":"","org_name":"","project_name":"","show_widget":false},"url":"https://codecov.io","versions":[{"_id":"57b33b5ec9a4551700b969a8","categories":["57b33b5ec9a4551700b969a9","57b44723da7a913200179dfb","57b448586e6ff6360047426b","57b448846e6ff6360047426c","57b448f16e6ff6360047426d","57b44957fdc0f42000dc99e6","57b462550d2b640e00e9d3cd","57b4625c6e6ff6360047427c","57b462670d2b640e00e9d3ce","57b469eb6e6ff6360047428f","57b46e0b0d2b640e00e9d3d6","57b4a39f0d2b640e00e9d422","57b4a3a46e6ff636004742fd","57b4a3aa0d2b640e00e9d423","57b4a3ad6e6ff636004742fe","57b4a3c06e6ff636004742ff","57b60ffe25f6e20e00d5cb58","57b8b313f442340e00b01747","57dbfa0ff4da530e00b3b5e2","57ed1a1e4dea95190086c531","6376b408081e400003bab887"],"codename":"","createdAt":"2016-08-16T16:12:14.823Z","is_beta":false,"is_deprecated":true,"is_hidden":true,"__v":20,"version":"1.0","releaseDate":"2016-08-16T16:12:14.823Z","version_clean":"1.0.0","is_stable":false,"project":"57b33b5ec9a4551700b969a5"},{"_id":"584d8c8ecda2b40f000583ae","version_clean":"4.3.0","__v":4,"codename":"","createdAt":"2016-12-11T17:27:42.671Z","is_beta":false,"is_deprecated":true,"is_hidden":true,"categories":["584d8c8ecda2b40f000583af","584d8c8ecda2b40f000583b0","584d8c8ecda2b40f000583b1","584d8c8ecda2b40f000583b2","584d8c8ecda2b40f000583b3","584d8c8ecda2b40f000583b4","584d8c8ecda2b40f000583b5","584d8c8ecda2b40f000583b6","584d8c8ecda2b40f000583b7","584d8c8ecda2b40f000583b8","587bf19178eb7a23002d2d08","587d4bd0cd6f210f00949bd8","58a898f47e69742300452fd5","6376b408081e400003bab88b"],"is_stable":false,"project":"57b33b5ec9a4551700b969a5","releaseDate":"2016-12-11T17:27:42.671Z","version":"4.3.0"},{"_id":"58e7d832bc0deb0f0027f1f5","is_deprecated":true,"codename":"","version_clean":"4.3.6","releaseDate":"2016-12-11T17:27:42.671Z","is_beta":false,"is_stable":false,"createdAt":"2016-12-11T17:27:42.671Z","is_hidden":true,"categories":["58e7d832bc0deb0f0027f1a2","58e7d832bc0deb0f0027f1a3","584d8c8ecda2b40f000583b1","58e7d832bc0deb0f0027f1a4","58e7d832bc0deb0f0027f1a5","58e7d832bc0deb0f0027f1a6","58e7d832bc0deb0f0027f1a7","58e7d832bc0deb0f0027f1a8","58e7d832bc0deb0f0027f1a9","58e7d832bc0deb0f0027f1aa","58e7d832bc0deb0f0027f1ab","58e7d832bc0deb0f0027f1ac","58a898f47e69742300452fd5","6376b408081e400003bab886"],"version":"4.3.6","project":"57b33b5ec9a4551700b969a5","forked_from":"584d8c8ecda2b40f000583ae","__v":0},{"_id":"5c3e5a3c387b7b004b8a03d3","__v":2,"project":"57b33b5ec9a4551700b969a5","forked_from":"584d8c8ecda2b40f000583ae","createdAt":"2016-12-11T17:27:42.671Z","releaseDate":"2016-12-11T17:27:42.671Z","categories":["5c3e5a3c387b7b004b8a0380","5c3e5a3c387b7b004b8a0381","584d8c8ecda2b40f000583b1","5c3e5a3c387b7b004b8a0382","5c3e5a3c387b7b004b8a0383","5c3e5a3c387b7b004b8a0384","5c3e5a3c387b7b004b8a0385","5c3e5a3c387b7b004b8a0386","5c3e5a3c387b7b004b8a0387","5c3e5a3c387b7b004b8a0388","5c3e5a3c387b7b004b8a0389","5c3e5a3c387b7b004b8a038a","58a898f47e69742300452fd5","5c4e71ef0cddf0002ca47768","5c4e7206021404002bd6e988","6376b408081e400003bab88a"],"is_deprecated":false,"is_hidden":true,"is_beta":false,"is_stable":false,"codename":"","version_clean":"4.4.0","version":"4.4.0"},{"_id":"5eb0413161ae28003917002e","version":"4.5","version_clean":"4.5.0","codename":"","is_stable":false,"is_beta":false,"is_hidden":true,"is_deprecated":false,"categories":["5eb0413161ae28003916ffd5","5eb0413161ae28003916ffd6","584d8c8ecda2b40f000583b1","5eb0413161ae28003916ffd7","5eb0413161ae28003916ffd8","5eb0413161ae28003916ffd9","5eb0413161ae28003916ffda","5eb0413161ae28003916ffdb","5eb0413161ae28003916ffdc","5eb0413161ae28003916ffdd","5eb0413161ae28003916ffde","5eb0413161ae28003916ffdf","58a898f47e69742300452fd5","5eb0413161ae28003916ffe0","5eb0413161ae28003916ffe1","6376b408081e400003bab889"],"__v":0,"project":"57b33b5ec9a4551700b969a5","forked_from":"5c3e5a3c387b7b004b8a03d3","createdAt":"2016-12-11T17:27:42.671Z","releaseDate":"2016-12-11T17:27:42.671Z"},{"_id":"604a3fa3d6d5f0008027258e","version":"4.6","version_clean":"4.6.0","codename":"","is_stable":false,"is_beta":false,"is_hidden":false,"is_deprecated":true,"categories":["604a3fa3d6d5f00080272532","604a3fa3d6d5f00080272533","584d8c8ecda2b40f000583b1","604a3fa3d6d5f00080272534","604a3fa3d6d5f00080272535","604a3fa3d6d5f00080272536","604a3fa3d6d5f00080272537","604a3fa3d6d5f00080272538","604a3fa3d6d5f00080272539","604a3fa3d6d5f0008027253a","604a3fa3d6d5f0008027253b","604a3fa3d6d5f0008027253c","58a898f47e69742300452fd5","5eb0413161ae28003916ffe0","604a3fa3d6d5f0008027253d","604babcfe3d113006c0ac382","605e107fa1b4710022622bb9","605e1084bc81560031aae596","605e135b517d83006763f4ed","632ca88c894a15001f6469f2","632ca9aa9a6f7412bcdbe6ab","632ca9e16afbb9004453de55","6376b408081e400003bab888"],"__v":0,"project":"57b33b5ec9a4551700b969a5","forked_from":"5eb0413161ae28003917002e","createdAt":"2016-12-11T17:27:42.671Z","releaseDate":"2016-12-11T17:27:42.671Z"},{"_id":"6308fc7b69f8e6001a5b790f","version":"5.0","version_clean":"5.0.0","codename":"","is_stable":false,"is_beta":false,"is_hidden":false,"is_deprecated":true,"categories":["604a3fa3d6d5f00080272532","604a3fa3d6d5f00080272533","584d8c8ecda2b40f000583b1","604a3fa3d6d5f00080272534","6308fc7b69f8e6001a5b788f","6308fc7b69f8e6001a5b7890","6308fc7b69f8e6001a5b7891","6308fc7b69f8e6001a5b7892","6308fc7b69f8e6001a5b7893","6308fc7b69f8e6001a5b7894","604a3fa3d6d5f0008027253b","6308fc7b69f8e6001a5b7895","58a898f47e69742300452fd5","5eb0413161ae28003916ffe0","6308fc7b69f8e6001a5b7896","604babcfe3d113006c0ac382","6308fc7b69f8e6001a5b7897","6308fc7b69f8e6001a5b7898","6308fc7b69f8e6001a5b7899","6376b408081e400003bab88c","63d7d3bd383f980c59dfdb04","640be28e13ddfc001f6bd666","642f494a52fd2a006b905575"],"__v":0,"project":"57b33b5ec9a4551700b969a5","forked_from":"604a3fa3d6d5f0008027258e","createdAt":"2016-12-11T17:27:42.671Z","releaseDate":"2016-12-11T17:27:42.671Z","updatedAt":"2023-10-03T17:06:29.585Z"},{"_id":"64c14ec8f2680d15b2982bc4","version":"2023","version_clean":"2023.0.0","codename":"","is_stable":true,"is_beta":false,"is_hidden":false,"is_deprecated":false,"categories":["604a3fa3d6d5f00080272532","604a3fa3d6d5f00080272533","584d8c8ecda2b40f000583b1","604a3fa3d6d5f00080272534","64c14ec8f2680d15b2982b22","64c14ec8f2680d15b2982b23","6308fc7b69f8e6001a5b7891","6308fc7b69f8e6001a5b7892","6308fc7b69f8e6001a5b7893","6308fc7b69f8e6001a5b7894","604a3fa3d6d5f0008027253b","6308fc7b69f8e6001a5b7895","58a898f47e69742300452fd5","5eb0413161ae28003916ffe0","64c14ec8f2680d15b2982b24","604babcfe3d113006c0ac382","64c14ec8f2680d15b2982b25","64c14ec8f2680d15b2982b26","64c14ec8f2680d15b2982b27","6376b408081e400003bab88c","63d7d3bd383f980c59dfdb04","64c14ec8f2680d15b2982b28","64c14ec8f2680d15b2982b29","64c14ec8f2680d15b2982bc6","651dcc9c5bcd49002bbe5d91","668825e9bfdd8000111b6104","668826589204050010308f85","66d9ae493a66f90010b2ca41"],"__v":0,"project":"57b33b5ec9a4551700b969a5","forked_from":"6308fc7b69f8e6001a5b790f","createdAt":"2023-07-26T16:50:16.491Z","releaseDate":"2016-12-11T17:27:42.671Z","updatedAt":"2024-09-05T13:12:41.216Z"}],"variableDefaults":[{"source":"security","_id":"632ca88d894a15001f6469ff","name":"basicAuth","type":"http","scheme":"basic","apiSetting":"632ca88c894a15001f6469f1"},{"source":"security","_id":"632ca88d894a15001f6469fe","name":"sessionid","type":"apiKey","apiSetting":"632ca88c894a15001f6469f1"},{"source":"security","_id":"632ca88d894a15001f6469fd","name":"tokenAuth","type":"http","scheme":"bearer","apiSetting":"632ca88c894a15001f6469f1"}],"webhookEnabled":false,"isHubEditable":true},"projectStore":{"data":{"allow_crawlers":"disabled","canonical_url":null,"default_version":{"name":"2023"},"description":"Codecov provides highly integrated tools to group, merge, archive and compare coverage reports. Whether your team is comparing changes in a pull request or reviewing a single commit, Codecov will improve the code review workflow and quality.","glossary":[],"homepage_url":"https://codecov.io","id":"57b33b5ec9a4551700b969a5","name":"Codecov","parent":null,"redirects":[],"sitemap":"disabled","subdomain":"codecov","suggested_edits":"enabled","uri":"/projects/me","variable_defaults":[{"name":"basicAuth","scheme":"basic","source":"security","type":"http","id":"632ca88d894a15001f6469ff"},{"name":"sessionid","source":"security","type":"apiKey","id":"632ca88d894a15001f6469fe"},{"name":"tokenAuth","scheme":"bearer","source":"security","type":"http","id":"632ca88d894a15001f6469fd"}],"webhooks":[],"api_designer":{"allow_editing":"enabled"},"custom_login":{"login_url":null,"logout_url":null},"features":{"custom_components":"disabled","mdx":"disabled"},"onboarding_completed":{"api":true,"appearance":true,"documentation":true,"domain":true,"jwt":true,"logs":false,"metricsSDK":false},"pages":{"not_found":null},"privacy":{"view":"public","password":null},"refactored":{"status":"disabled","migrated":"unknown"},"reference":{"api_sdk_snippets":"enabled","defaults":"always_use","json_editor":"disabled","oauth_flows":"disabled","request_history":"enabled","response_examples":"collapsed","response_schemas":"collapsed"},"seo":{"overwrite_title_tag":"disabled"},"plan":{"type":"business","grace_period":{"enabled":false,"end_date":null},"trial":{"expired":false,"end_date":"2016-08-30T16:12:14.795Z"}},"health_check":{"provider":"none","settings":{"manual":{"status":"down","url":null},"statuspage":{"id":null}}},"integrations":{"aws":{"readme_webhook_login":{"region":null,"external_id":null,"role_arn":null,"usage_plan_id":null}},"bing":{"verify":null},"google":{"analytics":null,"site_verification":null},"heap":{"id":null},"koala":{"key":null},"localize":{"key":null},"recaptcha":{"site_key":null,"secret_key":null},"segment":{"key":null,"domain":null},"typekit":{"key":null},"zendesk":{"subdomain":null},"intercom":{"app_id":null,"secure_mode":{"key":null,"email_only":false}}},"permissions":{"appearance":{"private_label":"enabled","custom_code":{"css":"enabled","html":"enabled","js":"enabled"}}},"appearance":{"brand":{"primary_color":"#F01F7A","link_color":"#5bb3f2","theme":"system"},"changelog":{"layout":"collapsed","show_author":true,"show_exact_date":false},"markdown":{"callouts":{"icon_font":"emojis"}},"table_of_contents":"enabled","whats_next_label":null,"footer":{"readme_logo":"show"},"logo":{"size":"default","dark_mode":{"uri":null,"url":null,"name":null,"width":null,"height":null,"color":null,"links":{"original_url":null}},"main":{"uri":null,"url":"https://files.readme.io/5affb88-codecov.svg","name":"codecov.svg","width":60,"height":60,"color":"#ff0077","links":{"original_url":null}},"favicon":{"uri":null,"url":"https://files.readme.io/f743cbc-small-Codecov_Mark_Circle_Pink.png","name":"Codecov Mark Circle Pink.png","width":32,"height":32,"color":"#f35197","links":{"original_url":"https://files.readme.io/9452196-Codecov_Mark_Circle_Pink.png"}}},"custom_code":{"css":".theme-solid header#hub-header #header-top {\n background-color:#0f1b29 !important;\n}\n\n.suggestEdits::before {\n content: \"🤓\";\n}\n\n.suggestEdits::after {\n content: \"🤓\";\n}\n\n.suggestEdits{\n display: flex;\n flex-direction: row;\n justify-content: center;\n font-size: 16px !important;\n}\n\ncode {\n background: #eeeeee;\n padding: 2px 5px;\n}\n\npre > code {\n background: inherit;\n\tpadding: 0px;\n}\n\n/*Enlarging the helpful/not helpful box at the bottom*/\ndiv.PageThumbs-helpful { font-size: 20px; }\n\n.markdown-body.markdown-body.markdown-body strong {\n font-weight:700 !important;\n}","js":null,"html":{"header":null,"home_footer":null,"page_footer":null}},"header":{"type":"line","gradient_color":"#38591e","overlay":{"fill":"tile-x","type":"circuits","position":"top-left","image":{"uri":null,"url":null,"name":null,"width":null,"height":null,"color":null,"links":{"original_url":null}}}},"navigation":{"first_page":"documentation","left":[{"type":"guides","title":null,"url":null,"custom_page":null},{"type":"link_url","title":"API","url":"https://docs.codecov.com/reference","custom_page":null},{"type":"changelog","title":null,"url":null,"custom_page":null},{"type":"link_url","title":"Support","url":"https://codecovpro.zendesk.com/","custom_page":null},{"type":"link_url","title":"Status","url":"https://status.codecov.com","custom_page":null},{"type":"link_url","title":"Codecov Home","url":"https://about.codecov.io","custom_page":null},{"type":"link_url","title":"Try Codecov for Free","url":"https://about.codecov.io/codecov-free-trial/","custom_page":null}],"logo_link":"landing_page","right":[],"sub_nav":[],"subheader_layout":"dropdown","version":"enabled","links":{"home":{"label":"Home","visibility":"disabled"},"graphql":{"label":"GraphQL","visibility":"disabled"},"guides":{"label":"Guides","alias":null,"visibility":"enabled"},"reference":{"label":"API Reference","alias":"API Endpoints","visibility":"enabled"},"recipes":{"label":"Recipes","alias":null,"visibility":"disabled"},"changelog":{"label":"Changelog","alias":"Changelog","visibility":"enabled"},"discussions":{"label":"Discussions","alias":"Discussion","visibility":"disabled"}}}},"git":{"connection":{"status":"inactive"}}}},"version":{"_id":"64c14ec8f2680d15b2982bc4","version":"2023","version_clean":"2023.0.0","codename":"","is_stable":true,"is_beta":false,"is_hidden":false,"is_deprecated":false,"categories":["604a3fa3d6d5f00080272532","604a3fa3d6d5f00080272533","584d8c8ecda2b40f000583b1","604a3fa3d6d5f00080272534","64c14ec8f2680d15b2982b22","64c14ec8f2680d15b2982b23","6308fc7b69f8e6001a5b7891","6308fc7b69f8e6001a5b7892","6308fc7b69f8e6001a5b7893","6308fc7b69f8e6001a5b7894","604a3fa3d6d5f0008027253b","6308fc7b69f8e6001a5b7895","58a898f47e69742300452fd5","5eb0413161ae28003916ffe0","64c14ec8f2680d15b2982b24","604babcfe3d113006c0ac382","64c14ec8f2680d15b2982b25","64c14ec8f2680d15b2982b26","64c14ec8f2680d15b2982b27","6376b408081e400003bab88c","63d7d3bd383f980c59dfdb04","64c14ec8f2680d15b2982b28","64c14ec8f2680d15b2982b29","64c14ec8f2680d15b2982bc6","651dcc9c5bcd49002bbe5d91","668825e9bfdd8000111b6104","668826589204050010308f85","66d9ae493a66f90010b2ca41"],"__v":0,"project":"57b33b5ec9a4551700b969a5","forked_from":"6308fc7b69f8e6001a5b790f","createdAt":"2023-07-26T16:50:16.491Z","releaseDate":"2016-12-11T17:27:42.671Z","updatedAt":"2024-09-05T13:12:41.216Z"}},"isDetachedProductionSite":false,"lang":"en","langFull":"Default","reqUrl":"/docs/quick-start","version":{"_id":"64c14ec8f2680d15b2982bc4","version":"2023","version_clean":"2023.0.0","codename":"","is_stable":true,"is_beta":false,"is_hidden":false,"is_deprecated":false,"categories":["604a3fa3d6d5f00080272532","604a3fa3d6d5f00080272533","584d8c8ecda2b40f000583b1","604a3fa3d6d5f00080272534","64c14ec8f2680d15b2982b22","64c14ec8f2680d15b2982b23","6308fc7b69f8e6001a5b7891","6308fc7b69f8e6001a5b7892","6308fc7b69f8e6001a5b7893","6308fc7b69f8e6001a5b7894","604a3fa3d6d5f0008027253b","6308fc7b69f8e6001a5b7895","58a898f47e69742300452fd5","5eb0413161ae28003916ffe0","64c14ec8f2680d15b2982b24","604babcfe3d113006c0ac382","64c14ec8f2680d15b2982b25","64c14ec8f2680d15b2982b26","64c14ec8f2680d15b2982b27","6376b408081e400003bab88c","63d7d3bd383f980c59dfdb04","64c14ec8f2680d15b2982b28","64c14ec8f2680d15b2982b29","64c14ec8f2680d15b2982bc6","651dcc9c5bcd49002bbe5d91","668825e9bfdd8000111b6104","668826589204050010308f85","66d9ae493a66f90010b2ca41"],"__v":0,"project":"57b33b5ec9a4551700b969a5","forked_from":"6308fc7b69f8e6001a5b790f","createdAt":"2023-07-26T16:50:16.491Z","releaseDate":"2016-12-11T17:27:42.671Z","updatedAt":"2024-09-05T13:12:41.216Z"}}"></script></div><div id="hub-container"><div class="hub-container"><div state-container ng-attr-id="{{state.current().root !== 'docs' && 'react-app-content-container'}}"><div id="replace-view" ng-non-bindable></div></div></div></div><script>!function(){var analytics=window.analytics=window.analytics||[];if(!analytics.initialize)if(analytics.invoked)window.console&&console.error&&console.error("Segment snippet included twice.");else{analytics.invoked=!0;analytics.methods=["trackSubmit","trackClick","trackLink","trackForm","pageview","identify","group","track","ready","alias","page","once","off","on"];analytics.factory=function(t){return function(){var e=Array.prototype.slice.call(arguments);e.unshift(t);analytics.push(e);return analytics}};for(var t=0;t<analytics.methods.length;t++){var e=analytics.methods[t];analytics[e]=analytics.factory(e)}analytics.load=function(t){var e=document.createElement("script");e.type="text/javascript";e.async=!0;e.src=("https:"===document.location.protocol?"https://":"http://")+ "cdn.segment.com" +"/analytics.js/v1/"+t+"/analytics.min.js";var n=document.getElementsByTagName("script")[0];n.parentNode.insertBefore(e,n)};analytics.SNIPPET_VERSION="3.0.1"; analytics.load("JQHfXvDgzj7wRVnxUXKyMsB75tCdtk8U"); }}(); </script><script>var is_hub = true; var is_hub2 = true; var is_hub_edit = true; </script><div id="ssr-end"><script id="__LOADABLE_REQUIRED_CHUNKS__" type="application/json">[6601,1802,6563,9772,4904,7449,7372,2249,5382,734,954,6903,2395,8161,1008,7188,5753,2852,3901,7783,1456,1666,5798,4935,4287,4201,1936,8063,5948,8230,1313,1202,6591,3787,1080,9852,8684,1343,3457,2859,9575,3221,7327,6060,7717,5359,3307,7356,2144,2637,4674,1731]</script><script id="__LOADABLE_REQUIRED_CHUNKS___ext" type="application/json">{"namedChunks":["routes-SuperHub","Header","routes-PageNotFound","Footer","core-icons-chevron-up-down-svg","routes-Doc","core-icons-arrow-up-right-svg","routes-Reference","core-icons-alert-circle-svg","routes-Landing","Editor","core-icons-x-circle-svg","core-icons-suggested-edits-svg","core-icons-more-vertical-svg","CustomPage","core-icons-arrow-right-svg","core-icons-search-svg","core-icons-custom-pages-svg","core-icons-lock-svg","routes-SuperHub-Routes","RMDX","routes-Changelog","List"]}</script> <script async data-chunk="main" src="https://cdn.readme.io/public/hub/web/main.b27df384fec525ca9bac.js"></script> <script async data-chunk="routes-SuperHub" src="https://cdn.readme.io/public/hub/web/6601.cef2fa12a9b5e2b9df03.js"></script> <script async data-chunk="routes-SuperHub" src="https://cdn.readme.io/public/hub/web/1802.00a1e88cc0d9da2aae1b.js"></script> <script async data-chunk="routes-SuperHub" src="https://cdn.readme.io/public/hub/web/6563.fbd3d15eee3b5e94f665.js"></script> <script async data-chunk="routes-SuperHub" src="https://cdn.readme.io/public/hub/web/9772.2b0a744b76cb77e0dced.js"></script> <script async data-chunk="routes-SuperHub" src="https://cdn.readme.io/public/hub/web/4904.1067704c85da57778e22.js"></script> <script async data-chunk="routes-SuperHub" src="https://cdn.readme.io/public/hub/web/7449.dae0332305a8704415a6.js"></script> <script async data-chunk="routes-SuperHub" src="https://cdn.readme.io/public/hub/web/7372.fbd27ab77e6e47de9931.js"></script> <script async data-chunk="routes-SuperHub" src="https://cdn.readme.io/public/hub/web/2249.cb1f4fb7d2cce2c5e425.js"></script> <script async data-chunk="routes-SuperHub" src="https://cdn.readme.io/public/hub/web/5382.f3d48dea01a7ee0548c9.js"></script> <script async data-chunk="routes-SuperHub" src="https://cdn.readme.io/public/hub/web/734.2949e3d7010fa5c21ffd.js"></script> <script async data-chunk="routes-SuperHub" src="https://cdn.readme.io/public/hub/web/954.53ce7f86793664155f78.js"></script> <script async data-chunk="routes-SuperHub" src="https://cdn.readme.io/public/hub/web/6903.75b9333e2c99d6924d0e.js"></script> <script async data-chunk="routes-SuperHub" src="https://cdn.readme.io/public/hub/web/2395.0e49c51ab8d22525f6ff.js"></script> <script async data-chunk="routes-SuperHub" src="https://cdn.readme.io/public/hub/web/8161.a15ebcbf0b5b4748c0fd.js"></script> <script async data-chunk="routes-SuperHub" src="https://cdn.readme.io/public/hub/web/1008.828e1c3ad92702b30f8b.js"></script> <script async data-chunk="routes-SuperHub" src="https://cdn.readme.io/public/hub/web/7188.006f6f7e3184fb873f71.js"></script> <script async data-chunk="routes-SuperHub" src="https://cdn.readme.io/public/hub/web/5753.19245c7129f056485c33.js"></script> <script async data-chunk="routes-SuperHub" src="https://cdn.readme.io/public/hub/web/routes-SuperHub.80f0348ff5861a413a46.js"></script> <script async data-chunk="Header" src="https://cdn.readme.io/public/hub/web/3901.9a23139e8c32bd6a1186.js"></script> <script async data-chunk="Header" src="https://cdn.readme.io/public/hub/web/7783.4d5a6e419a35233ebd3c.js"></script> <script async data-chunk="Header" src="https://cdn.readme.io/public/hub/web/Header.e076d4e6ea766318a213.js"></script> <script async data-chunk="routes-PageNotFound" src="https://cdn.readme.io/public/hub/web/routes-PageNotFound.7f382f4941474998a761.js"></script> <script async data-chunk="Footer" src="https://cdn.readme.io/public/hub/web/Footer.f3a023593089686064a9.js"></script> <script async data-chunk="core-icons-chevron-up-down-svg" src="https://cdn.readme.io/public/hub/web/core-icons-chevron-up-down-svg.6aae957df71e6f4c5e24.js"></script> <script async data-chunk="routes-Doc" src="https://cdn.readme.io/public/hub/web/4287.916cdd386055d2c5d238.js"></script> <script async data-chunk="routes-Doc" src="https://cdn.readme.io/public/hub/web/4201.ae4918ddf0595a4bfca6.js"></script> <script async data-chunk="routes-Doc" src="https://cdn.readme.io/public/hub/web/routes-Doc.a69d1038565eec3baddc.js"></script> <script async data-chunk="core-icons-arrow-up-right-svg" src="https://cdn.readme.io/public/hub/web/core-icons-arrow-up-right-svg.8ec73f7e322d79a2695b.js"></script> <script async data-chunk="routes-Reference" src="https://cdn.readme.io/public/hub/web/5948.a51402657e2eb40ab43b.js"></script> <script async data-chunk="routes-Reference" src="https://cdn.readme.io/public/hub/web/8230.69318b242a05e8e74cd8.js"></script> <script async data-chunk="routes-Reference" src="https://cdn.readme.io/public/hub/web/routes-Reference.52b5b8c183631200e8bc.js"></script> <script async data-chunk="core-icons-alert-circle-svg" src="https://cdn.readme.io/public/hub/web/core-icons-alert-circle-svg.4cee8264c97045599b56.js"></script> <script async data-chunk="routes-Landing" src="https://cdn.readme.io/public/hub/web/6591.ebe74884cadb175806e0.js"></script> <script async data-chunk="routes-Landing" src="https://cdn.readme.io/public/hub/web/routes-Landing.55eccb79070682a90c02.js"></script> <script async data-chunk="Editor" src="https://cdn.readme.io/public/hub/web/Editor.778b5192afd13371d8ec.js"></script> <script async data-chunk="core-icons-x-circle-svg" src="https://cdn.readme.io/public/hub/web/core-icons-x-circle-svg.abc0e0ea5b7f9dff667c.js"></script> <script async data-chunk="core-icons-suggested-edits-svg" src="https://cdn.readme.io/public/hub/web/core-icons-suggested-edits-svg.8d2d8ac2fd22ded9238d.js"></script> <script async data-chunk="core-icons-more-vertical-svg" src="https://cdn.readme.io/public/hub/web/core-icons-more-vertical-svg.4822b3f831e11095980d.js"></script> <script async data-chunk="CustomPage" src="https://cdn.readme.io/public/hub/web/3457.54b5f96a07aafc769550.js"></script> <script async data-chunk="CustomPage" src="https://cdn.readme.io/public/hub/web/2859.dc9d7bf83dcb38e2167f.js"></script> <script async data-chunk="core-icons-arrow-right-svg" src="https://cdn.readme.io/public/hub/web/core-icons-arrow-right-svg.eadb74658f93b4e7d75f.js"></script> <script async data-chunk="core-icons-search-svg" src="https://cdn.readme.io/public/hub/web/core-icons-search-svg.ad9cac962958d30983a7.js"></script> <script async data-chunk="core-icons-custom-pages-svg" src="https://cdn.readme.io/public/hub/web/core-icons-custom-pages-svg.444e514638d9afbec182.js"></script> <script async data-chunk="core-icons-lock-svg" src="https://cdn.readme.io/public/hub/web/core-icons-lock-svg.70942d3ee6bad6267696.js"></script> <script async data-chunk="routes-SuperHub-Routes" src="https://cdn.readme.io/public/hub/web/7717.c3f46aef4dac129abcfb.js"></script> <script async data-chunk="routes-SuperHub-Routes" src="https://cdn.readme.io/public/hub/web/5359.fb0c48929b1827a8a2b2.js"></script> <script async data-chunk="routes-SuperHub-Routes" src="https://cdn.readme.io/public/hub/web/routes-SuperHub-Routes.f7a42c9e7ca76978c49b.js"></script> <script async data-chunk="RMDX" src="https://cdn.readme.io/public/hub/web/RMDX.6966846032c03969e44f.js"></script> <script async data-chunk="routes-Changelog" src="https://cdn.readme.io/public/hub/web/routes-Changelog.c2ef3ef5eb8f547c5186.js"></script> <script async data-chunk="List" src="https://cdn.readme.io/public/hub/web/2637.910d32e664cf986b636e.js"></script> <script async data-chunk="List" src="https://cdn.readme.io/public/hub/web/4674.b77d8e6ddbdaef99bf47.js"></script> <script async data-chunk="List" src="https://cdn.readme.io/public/hub/web/List.ff2cf58cdb1ec8d5703f.js"></script></div><script>(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){ (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o), m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m) })(window,document,'script','//www.google-analytics.com/analytics.js','ga'); </script><script>ga('create', 'UA-63027104-1', 'auto', {'name': 'custom'}); $(window).on('pageLoad', function(e, state){ ga('custom.send', 'pageview', window.location.pathname); }); </script><script>$(window).on('pageLoad', function(e, state){ analytics.page(window.location.pathname, state.meta.title, { "context": { "plugin": { "name": "readme_io", "version": "1.0.0" } } }) }); </script><script id="hub-me" type="application/json" data-json="{"loggedIn":false,"search":{"app":"T28YKFATPY","token":"MTg5M2Y2NzAwNzgzOTJlZjIyY2VmNmI4MjNiNmIyMTA5ODIzYWNjOTRmMTI2NTMwZDc5NTEyZGZiMTA2OGEwMnRhZ0ZpbHRlcnM9KHByb2plY3Q6NTdiMzNiNWVjOWE0NTUxNzAwYjk2OWE1KSwodmVyc2lvbjpub25lLHZlcnNpb246NjRjMTRlYzhmMjY4MGQxNWIyOTgyYmM0KSwoaGlkZGVuOm5vbmUsaGlkZGVuOmZhbHNlKSwoaW5kZXg6Q3VzdG9tUGFnZSxpbmRleDpQYWdlLGluZGV4OkJsb2cp","filters":"tagFilters=(project:57b33b5ec9a4551700b969a5),(version:none,version:64c14ec8f2680d15b2982bc4),(hidden:none,hidden:false),(index:CustomPage,index:Page,index:Blog)","metaData":[{"modules":{"suggested_edits":true,"discuss":false,"docs":true,"examples":true,"landing":false,"reference":true,"logs":false,"changelog":true,"custompages":false,"tutorials":false,"graphql":false},"id":"57b33b5ec9a4551700b969a5","name":"Codecov","subdomain":"codecov","subpath":"","nav_names":{"discuss":"Discussion","docs":"","reference":"API Endpoints","changelog":"Changelog","tutorials":"","recipes":""}}]}}"></script><script id="readme-data-baseUrl" type="application/json" data-json=""/""></script></body></html>