{"docsConfig":{"theme":"aspen","$schema":"https://mintlify.com/docs.json","name":"Checkly Docs","colors":{"primary":"#0075FF","light":"#2B8AFF","dark":"#031834"},"logo":{"light":"https://mintcdn.com/checkly-422f444a/KiRymP194lYB6fu_/logo/light.svg?fit=max\u0026auto=format\u0026n=KiRymP194lYB6fu_\u0026q=85\u0026s=c4c50c3b55e375fe5d06b52fad5c8032","dark":"https://mintcdn.com/checkly-422f444a/KiRymP194lYB6fu_/logo/dark.svg?fit=max\u0026auto=format\u0026n=KiRymP194lYB6fu_\u0026q=85\u0026s=4bb854d62eeba1ed323838710a533a2f"},"favicon":"https://mintcdn.com/checkly-422f444a/9iwkS8Mlm4KfOHnA/racoon_favicon.png?fit=max\u0026auto=format\u0026n=9iwkS8Mlm4KfOHnA\u0026q=85\u0026s=005761353168b62a923dddddc298da2c","navbar":{"links":[{"href":"https://www.checklyhq.com","label":"Home"},{"href":"https://www.checklyhq.com/docs/changelog/changelog/","label":"Changelog"}],"primary":{"type":"button","label":"Dashboard","href":"https://app.checklyhq.com"}},"footer":{"socials":{"x":"https://x.com/checklyhq","github":"https://github.com/checkly","linkedin":"https://linkedin.com/company/checkly"}},"seo":{"metatags":{"canonical":"https://www.checklyhq.com/docs"}},"icons":{"library":"tabler"},"integrations":{"segment":{"key":"Bjlk6vx065LS2B25zVBzcfsjTaGrrpAM"},"telemetry":{"enabled":true}},"errors":{"404":{"redirect":false,"title":"Looks like this page has moved!","description":"Please try searching for the new page you're looking for in the search bar or sidebar."}},"contextual":{"options":["copy","view","chatgpt","claude","perplexity"],"display":"header"},"styling":{"latex":false},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"checkly-422f444a","hasAudioNarration":false,"actualSubdomain":"checkly-422f444a","customDomains":["www.checklyhq.com"],"gitSource":{"type":"github","owner":"checkly","repo":"docs","deployBranch":"main","contentDirectory":"","isPrivate":false,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6aeaa0174e7ab0e193060863","collectionId":"985a9620-a794-43e1-a90a-64e80aa77c2a","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6aeaa0174e7ab0e193060863"},"feedback":{"thumbs":true,"edits":true,"issues":true},"entitlements":{"AI_CHAT":{"status":"ENABLED"},"WEB_MCP":{"status":"ENABLED"},"NARRATION":{"status":"ENABLED"}},"buildId":"6aee3f9128e8c4ec9b15350a","clientVersion":"0.0.4076","searchFilterCounts":[{"language":"default","tag":"API Reference","count":467},{"language":"default","tag":"Docs","count":218},{"language":"default","tag":"Learn","count":101},{"language":"default","tag":"Detect","count":68},{"language":"default","tag":"Getting Started","count":66},{"language":"default","tag":"Integrations","count":56},{"language":"default","tag":"Playwright","count":49},{"language":"default","tag":"Constructs","count":41},{"language":"default","tag":"Synthetic Monitoring","count":36},{"language":"default","tag":"Checks and Monitors","count":34}]},"assistantConfig":{"enableAskAiButton":false,"enableAskAiSearchBar":true,"deflection":{"enabled":true,"email":"support@checklyhq.com","showHelpButton":true}},"basePath":"/docs","hasChatPermissions":true,"hasWebMcpPermissions":true,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"rbac-expansion","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-serve","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"live-agents","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"comment-mode","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[{"filePath":"style.css","content":"body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.sidebar-group-header{text-transform:uppercase;letter-spacing:0.04em}.eyebrow{text-transform:uppercase}li .group{margin-bottom:0rem!important;padding-bottom:.25rem!important}th{text-align:left}tr{border-bottom:1px solid var(--border-color, rgba(128, 128, 128, 0.15))}.field .font-semibold.text-primary[data-component-part=\"field-name\"]{line-height:normal;font-weight:700;font-size:1.15rem}.dark kbd{background-color:rgba(255, 255, 255, 0.08);border-color:rgba(255, 255, 255, 0.2);color:#e6e6e6}.sign-up-cta{position:relative;border-radius:0.5rem;padding:1.5rem;margin:1rem 0;background:linear-gradient(to bottom, #0c449a, #062047);color:#fff}.sign-up-cta-title{font-size:1.25rem;line-height:1.75rem;font-weight:700;text-wrap:balance;margin-bottom:0.25rem}.sign-up-cta-title img{display:inline-block;width:2rem;height:2rem;vertical-align:middle;margin-top:-0.25rem}.sign-up-cta-body{color:#e2e8f0}.sign-up-cta a{color:inherit}.sign-up-cta a::before{content:\"\";position:absolute;inset:0}header button[aria-label=\"Open search\"],header button[aria-label=\"Toggle assistant panel\"],header button[aria-label=\"Toggle dark mode\"],header button[aria-label=\"More actions\"]{position:relative}header button[aria-label=\"Open search\"]::after,header button[aria-label=\"Toggle assistant panel\"]::after,header button[aria-label=\"Toggle dark mode\"]::after,header button[aria-label=\"More actions\"]::after{content:\"\";position:absolute;top:50%;left:50%;width:44px;height:44px;transform:translate(-50%, -50%)}.home{--home-blue: #0075ff;--home-line: rgba(128, 128, 128, 0.2);--home-muted: #52525b;--home-text: #18181b;--home-surface: #fff;--home-surface-muted: #fafafa;width:100%;max-width:64rem;margin:0 auto;padding:2.5rem 1.5rem 5rem;color:var(--home-text);font-size:1rem;line-height:1.75rem}.dark .home{--home-blue: #2b8aff;--home-line: rgba(255, 255, 255, 0.12);--home-muted: #a1a1aa;--home-text: #f4f4f5;--home-surface: #0b0f17;--home-surface-muted: #10151f}.home a{text-decoration:none}.home code{font-size:0.85em}.home-hero{padding:1.5rem 0 2.5rem}.home-title{font-size:2.25rem;line-height:2.5rem;font-weight:600;letter-spacing:-0.025em;margin:0 0 0.75rem;color:var(--home-text)}.home-subtitle{max-width:36rem;font-size:1.125rem;line-height:1.75rem;color:var(--home-muted);margin:0}.home-hero-actions{display:flex;flex-wrap:wrap;align-items:center;gap:0.75rem;margin-top:1.5rem}.home-hero-hint{flex-basis:100%;font-size:0.875rem;color:var(--home-muted);line-height:1.25rem}.home-button,.home-tab-cta{display:inline-flex;align-items:center;justify-content:center;gap:0.5rem;padding:0.5rem 1.25rem;border:1px solid #041734;border-radius:0.5rem;font-size:1rem;font-weight:500;line-height:1.5rem;background:#041734;color:#fff!important;cursor:pointer;transition:background-color 0.3s ease, color 0.3s ease, border-color 0.3s ease, transform 160ms cubic-bezier(0.23, 1, 0.32, 1)}.home-button-secondary,.home-tab-cta{background:transparent;color:#041734!important}.dark .home-button,.dark .home-tab-cta{border-color:#fff;background:#fff;color:#041734!important}.dark .home-button-secondary,.dark .home-tab-cta{background:transparent;color:#fff!important}.home-button:hover,.home-tab-links .home-tab-cta:hover{background:#002652;color:#fff!important}.home-button:active,.home-tab-links .home-tab-cta:active{background:#001b3d;transform:scale(0.97);transition-duration:0.1s}.home-button:focus-visible,.home-tab-cta:focus-visible{outline:2px solid var(--home-blue);outline-offset:3px}.home-section{padding:2.5rem 0}.home-section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:1.5rem;margin-bottom:1.5rem}.home-heading{font-size:1.5rem;line-height:2rem;font-weight:600;letter-spacing:-0.025em;margin:0 0 0.375rem;color:var(--home-text)}.home-lead{max-width:44rem;font-size:1rem;line-height:1.75rem;color:var(--home-muted);margin:0}.home-section-link{flex-shrink:0;display:inline-flex;align-items:center;gap:0.375rem;font-size:0.875rem;font-weight:500;color:var(--home-blue)!important;white-space:nowrap;line-height:1.25rem}.home-eyebrow{margin:1.75rem 0 0.75rem;font-size:0.75rem;font-weight:600;letter-spacing:0.04em;text-transform:uppercase;color:var(--home-muted);line-height:1rem}.home-eyebrow:first-of-type{margin-top:0}.home-tab{padding:1.25rem 1.25rem 1.5rem;border:1px solid var(--home-line);border-radius:0.5rem;background:var(--home-surface-muted)}.home-tab-title{display:flex;align-items:center;gap:0.5rem;font-size:1rem;font-weight:600;color:var(--home-text);line-height:1.5rem}.home-tab-title svg{color:var(--home-blue)}.home-tab-text{max-width:44rem;margin:0.5rem 0 1rem;font-size:1rem;line-height:1.75rem;color:var(--home-muted)}.home-tab-links{display:flex;flex-wrap:wrap;align-items:center;gap:0.5rem 1rem;margin-top:1rem;font-size:0.875rem;line-height:1.25rem}.home-tab-links a{color:var(--home-muted)}.home-tab-links a:hover{color:var(--home-text)}.home-grid,.home-news{display:grid;gap:1px;padding:1px;border-radius:0.5rem;background:var(--home-line);overflow:hidden}.home-grid{grid-template-columns:1fr}.home-news{grid-template-columns:1fr}.home-feature,.home-news-card,.home-connect-card{display:flex;flex-direction:column;gap:0.5rem;padding:1.25rem;background:var(--home-surface);color:var(--home-text)!important;transition:background-color 0.15s ease}.home-feature:hover,.home-news-card:hover{background:var(--home-surface-muted)}.home-news-featured{position:relative;isolation:isolate;overflow:hidden;grid-row:span 2}.home-news-featured .home-news-text{padding-bottom:10rem}.home-news-waves{position:absolute;z-index:-1;bottom:2.5rem;left:50%;width:auto;max-width:none;height:10rem;margin:0;transform:translateX(-50%);opacity:0.85;pointer-events:none}.home-tag{font-size:0.75rem;font-weight:600;letter-spacing:0.04em;text-transform:uppercase;color:var(--home-blue);line-height:1rem}.home-news-title,.home-feature-title{font-size:1rem;line-height:1.5rem;font-weight:600;color:var(--home-text)}.home-news-text,.home-feature-text{flex:1;font-size:1rem;line-height:1.5rem;color:var(--home-muted)}.home-card-link{display:inline-flex;align-items:center;gap:0.375rem;margin-top:0.5rem;font-size:0.875rem;font-weight:500;color:var(--home-text);line-height:1.25rem}.home-card-link svg{color:var(--home-blue)}.home-monitoring-group{padding:1.25rem;background:var(--home-surface)}.home-monitoring-group h3{margin:0 0 0.75rem}.home-monitoring-group ul{display:flex;flex-direction:column;gap:0.75rem;list-style:none;margin:0;padding:0;font-size:0.875rem;line-height:1.25rem}.home-monitoring-group a{color:var(--home-text)}.home-monitoring-group a:hover{color:var(--home-blue)}.home-connect-links{display:flex;flex-wrap:wrap;gap:1rem;margin-top:0.5rem;font-size:0.875rem;font-weight:500;line-height:1.25rem}.home-connect-links a{color:var(--home-text)}.home-connect-links a:hover{color:var(--home-blue)}@media (min-width: 640px){.home-grid{grid-template-columns:repeat(3, minmax(0, 1fr))}.home-news{grid-template-columns:repeat(3, minmax(0, 1fr))}}@media (max-width: 639px){.home-title{font-size:1.875rem;line-height:2.25rem}.home-section-head{flex-direction:column;align-items:flex-start;gap:0.5rem}.home-news-featured{grid-row:auto;padding-bottom:7.5rem}.home-news-featured .home-news-text{padding-bottom:0}.home-news-waves{bottom:-1rem;height:8rem}}.role-matrix table td{min-width:0}"}],"page":{"pagePath":"detect/testing/using-env-variables","slug":"/detect/testing/using-env-variables","pageMetadata":{"title":"Using environment variables","description":"Pass environment variables to your Checkly tests so a single check can run against staging, preview, or production URLs using the --env flag.","sidebarTitle":"Environment variables","canonical":"https://www.checklyhq.com/docs/detect/testing/using-env-variables/","href":"/detect/testing/using-env-variables"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"Pass environment variables to your Checkly tests so a single check can run against staging, preview, or production URLs using the —env flag.\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={code:`code`,p:`p`,pre:`pre`,span:`span`,..._provideComponents(),...props.components},{CodeBlock}=_components;if(!CodeBlock)_missingMdxReference(`CodeBlock`,true);return _jsxs(_Fragment,{children:[_jsx(_components.p,{children:`Use environment variables to test different environments:`}),`\n`,_jsx(CodeBlock,{filename:`Homepage.test.ts`,numberOfLines:`6`,language:`typescript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`typescript`,children:_jsxs(_components.code,{language:`typescript`,numberOfLines:`6`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`// In your test file`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`test`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`'Homepage loads'`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`async`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` ({ `}),_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:`page`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }) `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`=>`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:` const`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#4FC1FF`},children:` baseUrl`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` =`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` process`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`env`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#4FC1FF`},children:`ENVIRONMENT_URL`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` ||`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` 'https://example.com'`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:` await`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` page`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`goto`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`baseUrl`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`)`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:` // ... rest of your test`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`})`})}),`\n`]})})}),`\n`,_jsx(_components.p,{children:`Run with environment variables:`}),`\n`,_jsx(CodeBlock,{filename:`Terminal`,numberOfLines:`1`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`1`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`npx`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` checkly`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` test`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` --env`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` ENVIRONMENT_URL=\"https://staging.example.com\"`})]}),`\n`]})})})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Using environment variables","description":"Pass environment variables to your Checkly tests so a single check can run against staging, preview, or production URLs using the --env flag.","sidebarTitle":"Environment variables","canonical":"https://www.checklyhq.com/docs/detect/testing/using-env-variables/","href":"/detect/testing/using-env-variables"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":["/docs/_mintlify/custom/checkly-422f444a/aad71fb35d0772c0/block-headless.js","/docs/_mintlify/custom/checkly-422f444a/3f79a661eed0dd6f/unify-tracking.js","/docs/_mintlify/custom/checkly-422f444a/b003b8f3946ae09a/vercel-analytics.js"],"subdomain":"checkly-422f444a","siteName":"Checkly Docs","title":"Using environment variables - Checkly Docs","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-10-30T18:57:18.913Z","originalFileLocation":"detect/testing/using-env-variables.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Pass environment variables to your Checkly tests so a single check can run against staging, preview, or production URLs using the --env flag.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Checkly Docs\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/docs/mintlify-assets/_mintlify/favicons/checkly-422f444a/2kkgPuwuI9OgTLg8/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/docs/mintlify-assets/_mintlify/favicons/checkly-422f444a/2kkgPuwuI9OgTLg8/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/docs/mintlify-assets/_mintlify/favicons/checkly-422f444a/2kkgPuwuI9OgTLg8/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/docs/mintlify-assets/_mintlify/favicons/checkly-422f444a/2kkgPuwuI9OgTLg8/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/docs/mintlify-assets/_mintlify/favicons/checkly-422f444a/2kkgPuwuI9OgTLg8/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/docs/mintlify-assets/_mintlify/favicons/checkly-422f444a/2kkgPuwuI9OgTLg8/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/docs/mintlify-assets/_mintlify/favicons/checkly-422f444a/2kkgPuwuI9OgTLg8/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/docs/mintlify-assets/_mintlify/favicons/checkly-422f444a/2kkgPuwuI9OgTLg8/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/docs/mintlify-assets/_mintlify/favicons/checkly-422f444a/2kkgPuwuI9OgTLg8/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Using environment variables - Checkly Docs\">\u003cmeta data-mint-head property=\"og:description\" content=\"Pass environment variables to your Checkly tests so a single check can run against staging, preview, or production URLs using the --env flag.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Checkly Docs\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://www.checklyhq.com/docs/detect/testing/using-env-variables/\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://checkly-422f444a.mintlify.site/docs/_mintlify/api/og/v2?division=Testing\u0026amp;title=Using+environment+variables\u0026amp;description=Pass+environment+variables+to+your+Checkly+tests+so+a+single+check+can+run+against+staging%2C+preview%2C+or+production+URLs+using+the+--env+flag.\u0026amp;theme=177ebac03dbdb024a546ac51\u0026amp;signature=be4c1a56d1a3041a1cc46658db6d79fa6247d0ab78e73d37dca84ff21db47b18\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Using environment variables - Checkly Docs\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Pass environment variables to your Checkly tests so a single check can run against staging, preview, or production URLs using the --env flag.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://checkly-422f444a.mintlify.site/docs/_mintlify/api/og/v2?division=Testing\u0026amp;title=Using+environment+variables\u0026amp;description=Pass+environment+variables+to+your+Checkly+tests+so+a+single+check+can+run+against+staging%2C+preview%2C+or+production+URLs+using+the+--env+flag.\u0026amp;theme=177ebac03dbdb024a546ac51\u0026amp;signature=be4c1a56d1a3041a1cc46658db6d79fa6247d0ab78e73d37dca84ff21db47b18\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/docs/mintlify-assets/_mintlify/favicons/checkly-422f444a/2kkgPuwuI9OgTLg8/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Checkly Docs\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#0075FF\">\u003clink data-mint-head rel=\"canonical\" href=\"https://www.checklyhq.com/docs/detect/testing/using-env-variables/\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/docs/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/docs/detect/testing/using-env-variables.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://www.checklyhq.com/#organization\",\"name\":\"Checkly Docs\",\"url\":\"https://www.checklyhq.com\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/checkly-422f444a/KiRymP194lYB6fu_/logo/light.svg?fit=max\u0026auto=format\u0026n=KiRymP194lYB6fu_\u0026q=85\u0026s=c4c50c3b55e375fe5d06b52fad5c8032\"}},{\"@type\":\"WebSite\",\"@id\":\"https://www.checklyhq.com/docs#website\",\"name\":\"Checkly Docs\",\"url\":\"https://www.checklyhq.com/docs\",\"publisher\":{\"@id\":\"https://www.checklyhq.com/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://www.checklyhq.com/docs/detect/testing/using-env-variables/#webpage\",\"url\":\"https://www.checklyhq.com/docs/detect/testing/using-env-variables/\",\"name\":\"Using environment variables\",\"description\":\"Pass environment variables to your Checkly tests so a single check can run against staging, preview, or production URLs using the --env flag.\",\"dateModified\":\"2026-10-30T18:57:18.913Z\",\"isPartOf\":{\"@id\":\"https://www.checklyhq.com/docs#website\"},\"breadcrumb\":{\"@id\":\"https://www.checklyhq.com/docs/detect/testing/using-env-variables/#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://www.checklyhq.com/docs/detect/testing/using-env-variables/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Detect\",\"item\":\"https://www.checklyhq.com/docs/detect/overview\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Testing\",\"item\":\"https://www.checklyhq.com/docs/detect/testing/overview\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Using environment variables\",\"item\":\"https://www.checklyhq.com/docs/detect/testing/using-env-variables/\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://www.checklyhq.com/docs/detect/testing/using-env-variables/#article\",\"headline\":\"Using environment variables\",\"name\":\"Using environment variables\",\"description\":\"Pass environment variables to your Checkly tests so a single check can run against staging, preview, or production URLs using the --env flag.\",\"url\":\"https://www.checklyhq.com/docs/detect/testing/using-env-variables/\",\"mainEntityOfPage\":{\"@id\":\"https://www.checklyhq.com/docs/detect/testing/using-env-variables/#webpage\"},\"dateModified\":\"2026-10-30T18:57:18.913Z\",\"publisher\":{\"@id\":\"https://www.checklyhq.com/#organization\"},\"isPartOf\":{\"@id\":\"https://www.checklyhq.com/docs#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Checkly Docs\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Checkly Docs","nav":{"global":null,"tabs":[{"tab":"Docs","groups":[{"group":"Getting Started","pages":[{"title":"What is Checkly?","sidebarTitle":"What is Checkly?","mode":"wide","href":"/what-is-checkly"},{"title":"Checkly Quickstart","sidebarTitle":"Quickstart","href":"/quickstart"},{"group":"Concepts","pages":[{"title":"What are Checks?","sidebarTitle":"Checks","href":"/concepts/checks"},{"title":"Monitoring as Code","href":"/concepts/monitoring-as-code"},{"title":"Monitor multiple environments","sidebarTitle":"Environments","href":"/concepts/environments"},{"title":"Locations","sidebarTitle":"Locations","href":"/concepts/locations"},{"title":"Scheduling","sidebarTitle":"Scheduling","href":"/concepts/scheduling"},{"title":"Results","sidebarTitle":"Results","href":"/concepts/results"},{"title":"Cancellation","sidebarTitle":"Cancellation","href":"/concepts/cancellation"},{"title":"Metrics","sidebarTitle":"Metrics","href":"/concepts/metrics"}]},{"group":"Platform","pages":[{"title":"Groups","sidebarTitle":"Groups","href":"/platform/groups"},{"title":"Filters","sidebarTitle":"Filters","href":"/platform/filters"},{"title":"Views","sidebarTitle":"Views","href":"/platform/views"},{"group":"Private Locations","pages":[{"title":"Getting started with private locations","sidebarTitle":"Overview","href":"/platform/private-locations/overview"},{"title":"Agent Configuration","href":"/platform/private-locations/agent-configuration"},{"title":"Agent Metrics","sidebarTitle":"Agent Metrics","href":"/platform/private-locations/agent-metrics"},{"title":"Agent Images","sidebarTitle":"Agent Images","href":"/platform/private-locations/agent-images"},{"title":"Kubernetes Deployment","href":"/platform/private-locations/kubernetes-deployment"},{"title":"Proxy Setup","href":"/platform/private-locations/proxy-setup"},{"title":"Scaling and Redundancy","href":"/platform/private-locations/scaling-redundancy"},{"title":"Autoscaling","href":"/platform/private-locations/autoscaling"},{"title":"Checkly Agent Changelog","sidebarTitle":"Agent Changelog","href":"/platform/private-locations/change-log"}]},{"group":"Reporting","pages":[{"title":"Reporting Results with Checkly","sidebarTitle":"Overview","href":"/platform/reporting/overview"},{"title":"Analytics API","sidebarTitle":"Analytics API","href":"/platform/reporting/analytics-api"}]},{"group":"Runtimes","pages":[{"title":"Checkly Runtimes","sidebarTitle":"Overview","href":"/platform/runtimes/overview"},{"title":"Runtime Specification","sidebarTitle":"Runtime Specification","href":"/platform/runtimes/runtime-specification"}]},{"title":"Storing Secrets","sidebarTitle":"Storing Secrets","href":"/platform/secrets"},{"title":"Manage secrets at scale","sidebarTitle":"Secrets at scale","href":"/platform/manage-secrets-at-scale"},{"title":"Dynamic Secret Scrubbing","sidebarTitle":"Secret Scrubbing","href":"/platform/dynamic-secret-scrubbing"},{"title":"How we store data","sidebarTitle":"Data Storage","mode":"wide","href":"/platform/data-storage"},{"title":"Environment variables and secrets","sidebarTitle":"Environment variables","href":"/platform/variables"},{"title":"Allowlisting Traffic","sidebarTitle":"Allowlisting Traffic","href":"/platform/allowlisting-traffic"},{"title":"IP Information \u0026 Versions","sidebarTitle":"IP Information","href":"/platform/ip-information"},{"title":"Network Diagnostic Tools","sidebarTitle":"Network Diagnostic Tools","href":"/platform/network-diagnostic-tools"},{"title":"Managing False Positives","sidebarTitle":"Managing False Positives","href":"/platform/managing-false-positives"}]},{"group":"Admin","pages":[{"title":"Creating an API key in Checkly","sidebarTitle":"Creating an API Key","href":"/admin/creating-api-key"},{"group":"Team Management","pages":[{"title":"Admin Overview","sidebarTitle":"Overview","href":"/admin/team-management/overview"},{"title":"Permissions reference","sidebarTitle":"Permissions","href":"/admin/team-management/permissions"},{"title":"Adding team members to your Checkly account","sidebarTitle":"Adding Team Members","href":"/admin/team-management/adding-team-members"},{"title":"Managing team members","sidebarTitle":"Managing Team Members","href":"/admin/team-management/managing-team-members"},{"title":"Custom roles","sidebarTitle":"Custom Roles","tag":"Beta","href":"/admin/team-management/custom-roles"},{"title":"Multi-Factor Authentication in Checkly","sidebarTitle":"Multi-Factor Auth","href":"/admin/team-management/multi-factor-authentication"},{"title":"Single Sign-on in Checkly","sidebarTitle":"Single Sign-On","href":"/admin/team-management/single-sign-on"}]},{"title":"Changing your email or password in Checkly","sidebarTitle":"Changing Email or Password","href":"/admin/changing-your-email-password"},{"title":"Deleting your Checkly account","sidebarTitle":"Deleting Your Account","href":"/admin/deleting-your-account"}]}]},{"group":"Detect","pages":[{"title":"Checkly Detect","sidebarTitle":"Overview","href":"/detect/overview"},{"group":"Uptime Monitoring","pages":[{"title":"Uptime Monitoring","sidebarTitle":"Overview","href":"/detect/uptime-monitoring/overview"},{"group":"URL Monitors","pages":[{"title":"URL monitors overview","sidebarTitle":"Overview","href":"/detect/uptime-monitoring/url-monitors/overview"},{"title":"Creating a URL monitor","sidebarTitle":"Quickstart","href":"/detect/uptime-monitoring/url-monitors/quickstart"},{"title":"URL monitor configuration","sidebarTitle":"Configuration","href":"/detect/uptime-monitoring/url-monitors/configuration"}]},{"group":"TCP Monitors","pages":[{"title":"TCP monitors overview","sidebarTitle":"Overview","href":"/detect/uptime-monitoring/tcp-monitors/overview"},{"title":"Creating a TCP monitor","sidebarTitle":"Quickstart","href":"/detect/uptime-monitoring/tcp-monitors/quickstart"},{"title":"TCP monitor configuration","sidebarTitle":"Configuration","href":"/detect/uptime-monitoring/tcp-monitors/configuration"}]},{"group":"DNS Monitors","pages":[{"title":"DNS monitors overview","sidebarTitle":"Overview","href":"/detect/uptime-monitoring/dns-monitors/overview"},{"title":"DNS monitor configuration","sidebarTitle":"Configuration","href":"/detect/uptime-monitoring/dns-monitors/configuration"}]},{"group":"ICMP Monitors","pages":[{"title":"ICMP monitors overview","sidebarTitle":"Overview","href":"/detect/uptime-monitoring/icmp-monitors/overview"},{"title":"ICMP monitor configuration","sidebarTitle":"Configuration","href":"/detect/uptime-monitoring/icmp-monitors/configuration"}]},{"group":"Traceroute Monitors","pages":[{"title":"Traceroute monitors overview","sidebarTitle":"Overview","href":"/detect/uptime-monitoring/traceroute-monitors/overview"},{"title":"Traceroute monitor configuration","sidebarTitle":"Configuration","href":"/detect/uptime-monitoring/traceroute-monitors/configuration"}]},{"group":"gRPC Monitors","pages":[{"title":"gRPC monitors overview","sidebarTitle":"Overview","href":"/detect/uptime-monitoring/grpc-monitors/overview"},{"title":"gRPC monitor configuration","sidebarTitle":"Configuration","href":"/detect/uptime-monitoring/grpc-monitors/configuration"}]},{"group":"SSL Monitors","pages":[{"title":"SSL monitor overview","sidebarTitle":"Overview","href":"/detect/uptime-monitoring/ssl-monitors/overview"},{"title":"SSL monitor configuration","sidebarTitle":"Configuration","href":"/detect/uptime-monitoring/ssl-monitors/configuration"}]},{"group":"Heartbeat Monitors","pages":[{"title":"Heartbeat monitors","sidebarTitle":"Overview","href":"/detect/uptime-monitoring/heartbeat-monitors/overview"},{"title":"Creating a Heartbeat monitor","sidebarTitle":"Quickstart","href":"/detect/uptime-monitoring/heartbeat-monitors/quickstart"},{"title":"Heartbeat Examples","sidebarTitle":"Examples","href":"/detect/uptime-monitoring/heartbeat-monitors/examples"}]}]},{"group":"Synthetic Monitoring","pages":[{"title":"Synthetic Monitoring Overview","sidebarTitle":"Overview","href":"/detect/synthetic-monitoring/overview"},{"group":"API Checks","pages":[{"title":"API checks overview","sidebarTitle":"Overview","href":"/detect/synthetic-monitoring/api-checks/overview"},{"title":"Creating an API check","sidebarTitle":"Quickstart","href":"/detect/synthetic-monitoring/api-checks/quickstart"},{"title":"Configuration","sidebarTitle":"Configuration","href":"/detect/synthetic-monitoring/api-checks/configuration"},{"title":"Setup and Teardown Scripts","sidebarTitle":"Setup and Teardown","href":"/detect/synthetic-monitoring/api-checks/setup-and-teardown"},{"title":"API check structure","sidebarTitle":"MaC Structure","href":"/detect/synthetic-monitoring/api-checks/api-structure"},{"title":"Client certificates","sidebarTitle":"Client Certificates","href":"/detect/synthetic-monitoring/api-checks/client-certificates"},{"title":"Creating Checks from an OpenAPI Spec","sidebarTitle":"Importing OpenAPI Spec","href":"/detect/synthetic-monitoring/api-checks/openapi-spec"},{"title":"API check troubleshooting","sidebarTitle":"Troubleshooting","href":"/detect/synthetic-monitoring/api-checks/troubleshooting"}]},{"title":"Playwright Monitoring Options","sidebarTitle":"Playwright Monitoring Options","href":"/detect/synthetic-monitoring/playwright-monitoring-comparison"},{"group":"Multistep Checks","pages":[{"title":"Multistep checks overview","sidebarTitle":"Overview","href":"/detect/synthetic-monitoring/multistep-checks/overview"},{"title":"Creating a Multistep check","sidebarTitle":"Quickstart","href":"/detect/synthetic-monitoring/multistep-checks/quickstart"},{"title":"Multistep check structure","sidebarTitle":"MaC Structure","href":"/detect/synthetic-monitoring/multistep-checks/multistep-structure"},{"title":"Degraded states in Multistep checks","sidebarTitle":"Degraded States","href":"/detect/synthetic-monitoring/multistep-checks/degraded-states"},{"title":"Uploading \u0026 Downloading Files To The File System","sidebarTitle":"File System","href":"/detect/synthetic-monitoring/multistep-checks/file-system"},{"title":"WebSockets on Multistep checks","sidebarTitle":"WebSockets","href":"/detect/synthetic-monitoring/multistep-checks/websockets"},{"title":"Multistep check examples","sidebarTitle":"Examples","href":"/detect/synthetic-monitoring/multistep-checks/examples"}]},{"group":"Browser Checks","pages":[{"title":"Browser checks overview","sidebarTitle":"Overview","href":"/detect/synthetic-monitoring/browser-checks/overview"},{"title":"Creating a Browser check","sidebarTitle":"Quickstart","href":"/detect/synthetic-monitoring/browser-checks/quickstart"},{"title":"Browser check structure","sidebarTitle":"MaC Structure","href":"/detect/synthetic-monitoring/browser-checks/mac-structure"},{"title":"Performance \u0026 Web Vitals","sidebarTitle":"Performance Metrics","href":"/detect/synthetic-monitoring/browser-checks/performance-metrics"},{"title":"Visual Monitoring with Checkly","sidebarTitle":"Visual Monitoring","href":"/detect/synthetic-monitoring/browser-checks/visual-regressions"},{"title":"Playwright Support in Checkly","sidebarTitle":"Playwright Support","href":"/detect/synthetic-monitoring/browser-checks/playwright-support"},{"title":"Browser check timeouts","sidebarTitle":"Timeouts","href":"/detect/synthetic-monitoring/browser-checks/timeouts"},{"title":"Degraded state","sidebarTitle":"Degraded State","href":"/detect/synthetic-monitoring/browser-checks/degraded"},{"title":"Trouble Shotting and Debugging","sidebarTitle":"Troubleshooting","href":"/detect/synthetic-monitoring/browser-checks/troubleshooting"}]},{"group":"Playwright Check Suites","pages":[{"title":"Playwright Check Suites","sidebarTitle":"Overview","href":"/detect/synthetic-monitoring/playwright-checks/overview"},{"title":"Creating a Playwright Check Suite","sidebarTitle":"Quickstart","href":"/detect/synthetic-monitoring/playwright-checks/quickstart"},{"title":"Playwright Check Suites Configuration","sidebarTitle":"Configuration","href":"/detect/synthetic-monitoring/playwright-checks/configuration"},{"title":"Organize your tests and monitors","sidebarTitle":"Test organization","href":"/detect/synthetic-monitoring/playwright-checks/test-organization"},{"title":"Performance \u0026 Web Vitals","sidebarTitle":"Web Vitals","href":"/detect/synthetic-monitoring/playwright-checks/performance-metrics"},{"title":"Adding Playwright Check Suites to Groups","sidebarTitle":"Add to Group","href":"/detect/synthetic-monitoring/playwright-checks/add-to-group"},{"title":"Dependencies in Playwright Check Suites","sidebarTitle":"Dependencies","href":"/detect/synthetic-monitoring/playwright-checks/dependencies"},{"title":"Packages from Internal Registries in Playwright Check Suites","sidebarTitle":"Internal Registries","href":"/detect/synthetic-monitoring/playwright-checks/internal-registries"},{"title":"Playwright Check Suite environment variables","sidebarTitle":"Environment variables","href":"/detect/synthetic-monitoring/playwright-checks/environment-variables"},{"title":"Playwright Check Suite Timeouts","sidebarTitle":"Timeouts","href":"/detect/synthetic-monitoring/playwright-checks/timeouts"}]}]},{"group":"Testing","pages":[{"title":"Testing","sidebarTitle":"Overview","href":"/detect/testing/overview"},{"title":"Creating Your First Test","description":"Get started with Checkly by creating and running your first Playwright test for application monitoring","sidebarTitle":"Creating Your First Test","href":"/detect/testing/creating-your-first-test"},{"title":"Using environment variables","sidebarTitle":"Environment variables","href":"/detect/testing/using-env-variables"},{"title":"Playwright Reporter","description":"Learn how to use the Checkly Playwright Reporter.","sidebarTitle":"Using the Playwright Reporter","href":"/detect/testing/playwright-reporter"},{"title":"Playwright Reporter Changelog","sidebarTitle":"Reporter Changelog","href":"/detect/testing/playwright-reporter-changelog"}]},{"title":"Defining Assertions","sidebarTitle":"Assertions","href":"/detect/assertions"}]},{"group":"Communicate","pages":[{"title":"Checkly Communicate","sidebarTitle":"Overview","href":"/communicate/overview"},{"group":"Alerts","pages":[{"title":"Alerting With Checkly","sidebarTitle":"Overview","mode":"wide","href":"/communicate/alerts/overview"},{"title":"Alert Configuration","sidebarTitle":"Configuration","href":"/communicate/alerts/configuration"},{"title":"Alert channels","sidebarTitle":"Channels","href":"/communicate/alerts/channels"},{"title":"Alert Retries","sidebarTitle":"Retries","href":"/communicate/alerts/retries"},{"title":"SSL Certificate Expiration Alerts","sidebarTitle":"SSL Alerts","href":"/communicate/alerts/ssl-expiration"},{"title":"Alert Notification Log","sidebarTitle":"Notification Log","href":"/communicate/alerts/notification-log"}]},{"group":"Status Pages","pages":[{"title":"Status pages overview","sidebarTitle":"Overview","href":"/communicate/status-pages/overview"},{"title":"Creating a status page","sidebarTitle":"Creating a status page","href":"/communicate/status-pages/creating-a-status-page"},{"title":"Custom domain","sidebarTitle":"Custom Domain","href":"/communicate/status-pages/custom-domain"},{"title":"Status page customization","sidebarTitle":"Customization","href":"/communicate/status-pages/customization"},{"title":"Password Protection","sidebarTitle":"Password Protection","href":"/communicate/status-pages/password-protection"},{"title":"Incident Management","sidebarTitle":"Incidents","href":"/communicate/status-pages/incidents"},{"title":"Status page maintenance","sidebarTitle":"Maintenance","href":"/communicate/status-pages/maintenance-windows"},{"title":"Subscriber Notifications","sidebarTitle":"Subscriber Notifications","href":"/communicate/status-pages/subscriber-notifications"},{"title":"Status pages v2 (deprecated)","sidebarTitle":"v2 (deprecated)","href":"/communicate/status-pages/v2-deprecated"}]},{"group":"Dashboards","pages":[{"title":"Dashboards overview","sidebarTitle":"Overview","href":"/communicate/dashboards/overview"},{"title":"Dashboard configuration","sidebarTitle":"Configuration","href":"/communicate/dashboards/configuration"},{"title":"Customizing your dashboard with CSS","sidebarTitle":"Custom CSS","href":"/communicate/dashboards/custom-css"},{"title":"Incident \u0026 Maintenance messages","sidebarTitle":"Incidents","href":"/communicate/dashboards/incidents"}]},{"title":"Maintenance windows","sidebarTitle":"Maintenance windows","href":"/communicate/maintenance-windows/overview"}]},{"group":"Resolve","pages":[{"title":"Checkly Resolve","sidebarTitle":"Overview","href":"/resolve/overview"},{"title":"Rocky AI Root Cause Analysis","sidebarTitle":"AI Root Cause Analysis","href":"/resolve/ai-root-cause-analysis/overview"},{"title":"Automatic check repair","sidebarTitle":"Automatic Repair","href":"/resolve/automatic-check-repair"},{"group":"Traces","pages":[{"title":"Traces","sidebarTitle":"Overview","href":"/resolve/traces/overview"},{"title":"How It Works","href":"/resolve/traces/how-it-works"},{"group":"Importing","pages":[{"title":"Importing Traces To Checkly","sidebarTitle":"Importing Traces","href":"/resolve/traces/import/overview"},{"title":"Setting Up The OpenTelemetry Collector","sidebarTitle":"From OpenTelemetry","href":"/resolve/traces/import/open-telemetry"},{"title":"Missing Spans","sidebarTitle":"Missing Spans","href":"/resolve/traces/import/missing-spans"},{"title":"HTTPS vs GRPC Traces","sidebarTitle":"HTTPS vs GRPC","href":"/resolve/traces/import/https-grpc"}]},{"group":"Exporting","pages":[{"title":"Export traces to your observability backend","sidebarTitle":"Exporting","href":"/resolve/traces/export/overview"}]},{"group":"Instrumentation","pages":[{"title":"Next.js","sidebarTitle":"Next.js","href":"/resolve/traces/instrumentation/nextjs"},{"title":"Node.js","sidebarTitle":"Node.js","href":"/resolve/traces/instrumentation/nodejs"},{"title":"Express","sidebarTitle":"Express","href":"/resolve/traces/instrumentation/express"},{"title":"Django","sidebarTitle":"Django","href":"/resolve/traces/instrumentation/django"},{"title":"Flask","sidebarTitle":"Flask","href":"/resolve/traces/instrumentation/flask"},{"title":"Laravel","sidebarTitle":"Laravel","href":"/resolve/traces/instrumentation/laravel"},{"title":"Ruby on Rails","sidebarTitle":"Ruby on Rails","href":"/resolve/traces/instrumentation/ruby-on-rails"},{"title":"Go / Golang","sidebarTitle":"Go / Golang","href":"/resolve/traces/instrumentation/golang"},{"title":"Java","sidebarTitle":"Java","href":"/resolve/traces/instrumentation/java"},{"title":".NET","sidebarTitle":".NET","href":"/resolve/traces/instrumentation/dotnet"}]}]}]},{"group":"AI","pages":[{"title":"Rocky AI","sidebarTitle":"Rocky AI","href":"/ai/rocky-ai"},{"title":"Create checks with the AI Assistant","sidebarTitle":"AI Assistant","href":"/ai/ai-assistant"},{"group":"Agent Resources","pages":[{"title":"AI Agents \u0026 Coding Assistants","sidebarTitle":"Overview","href":"/ai/overview"},{"group":"MCP Server","pages":[{"title":"Checkly MCP Server","sidebarTitle":"Overview","href":"/ai/mcp-server"},{"title":"Set up the Checkly MCP Server","sidebarTitle":"Setup","href":"/ai/mcp-server/setup"},{"title":"Interactive MCP views","sidebarTitle":"Interactive views","href":"/ai/mcp-server/interactive-views"},{"title":"Checkly MCP tools","sidebarTitle":"Tools","href":"/ai/mcp-server/tools"},{"title":"MCP security and permissions","sidebarTitle":"Security \u0026 permissions","href":"/ai/mcp-server/security-and-permissions"},{"title":"Troubleshoot the Checkly MCP Server","sidebarTitle":"Troubleshooting","href":"/ai/mcp-server/troubleshooting"}]},{"title":"Checkly Plugin for AI Coding Agents","sidebarTitle":"Plugin","href":"/ai/plugin"},{"title":"Checkly Skills","sidebarTitle":"Skills","href":"/ai/skills"},{"title":"Markdown Access","sidebarTitle":"Markdown Access","href":"/ai/markdown-access"},{"title":"llms.txt","sidebarTitle":"llms.txt","href":"/ai/llms-txt"}]}]},{"group":"Integrations","pages":[{"group":"Alerts \u0026 Notifications","pages":[{"title":"Send Alerts to Discord","sidebarTitle":"Discord","href":"/integrations/alerts/discord"},{"title":"Email Notifications","sidebarTitle":"Email","href":"/integrations/alerts/email"},{"title":"Integrating GitLab Alerts","sidebarTitle":"GitLab Alerts","href":"/integrations/alerts/gitlab_alerts"},{"title":"Send Alerts to Microsoft Teams","sidebarTitle":"Microsoft Teams","href":"/integrations/alerts/msteams"},{"title":"Phone Calls","sidebarTitle":"Phone Calls","href":"/integrations/alerts/phone-calls"},{"title":"Slack","sidebarTitle":"Slack","href":"/integrations/alerts/slack"},{"title":"SMS Alerts","sidebarTitle":"SMS","href":"/integrations/alerts/sms"},{"title":"Send Alerts via Telegram","sidebarTitle":"Telegram","href":"/integrations/alerts/telegram"},{"title":"Webhook Integrations","sidebarTitle":"Webhooks","href":"/integrations/alerts/webhooks"}]},{"group":"Incident Management","pages":[{"title":"Send Alerts to FireHydrant","sidebarTitle":"FireHydrant","href":"/integrations/incident-management/firehydrant"},{"title":"Send Alerts to PagerDuty","sidebarTitle":"PagerDuty","href":"/integrations/incident-management/pagerduty"},{"title":"Send Alerts to Opsgenie","sidebarTitle":"Opsgenie","href":"/integrations/incident-management/opsgenie"},{"title":"Send Alerts via Rootly","sidebarTitle":"Rootly","href":"/integrations/incident-management/rootly"},{"title":"Send Alerts to ilert","sidebarTitle":"ilert","href":"/integrations/incident-management/ilert"},{"title":"Send Alerts to Incident.io","sidebarTitle":"Incident.io","href":"/integrations/incident-management/incidentio"},{"title":"Integrating StatusPage","sidebarTitle":"StatusPage","href":"/integrations/incident-management/statuspage"},{"title":"Send Alerts via Spike","sidebarTitle":"Spike","href":"/integrations/incident-management/spike"},{"title":"Send Alerts via Splunk On-Call","sidebarTitle":"Splunk On-Call","href":"/integrations/incident-management/splunk-on-call"}]},{"group":"CI/CD","pages":[{"title":"CI/CD","sidebarTitle":"Overview","href":"/integrations/ci-cd/overview"},{"group":"GitHub","pages":[{"title":"Run Checkly from GitHub Actions","sidebarTitle":"GitHub Actions","href":"/integrations/ci-cd/github/actions"},{"title":"GitHub deployment hooks","sidebarTitle":"Deployment hooks","href":"/integrations/ci-cd/github/deployments"},{"group":"External secrets","pages":[{"title":"Deploy Checkly secrets from AWS Secrets Manager","sidebarTitle":"AWS Secrets Manager","href":"/integrations/ci-cd/github/secrets/aws-secrets-manager"},{"title":"Deploy Checkly secrets from Google Secret Manager","sidebarTitle":"Google Secret Manager","href":"/integrations/ci-cd/github/secrets/google-secret-manager"},{"title":"Deploy Checkly secrets from Azure Key Vault","sidebarTitle":"Azure Key Vault","href":"/integrations/ci-cd/github/secrets/azure-key-vault"},{"title":"Deploy Checkly secrets from HashiCorp Vault","sidebarTitle":"HashiCorp Vault","href":"/integrations/ci-cd/github/secrets/hashicorp-vault"}]}]},{"title":"Integrating Checkly in GitLab CI/CD","sidebarTitle":"GitLab","href":"/integrations/ci-cd/gitlab/overview"},{"group":"Vercel","pages":[{"title":"Integrating Checkly in Vercel","sidebarTitle":"Overview","href":"/integrations/ci-cd/vercel/overview"},{"title":"Vercel Deployment Protection","sidebarTitle":"Deployment Protection","href":"/integrations/ci-cd/vercel/deployment-protection"},{"title":"Managing Users and Plans with Vercel","sidebarTitle":"Managing Users and Plans","href":"/integrations/ci-cd/vercel/managing-plan"}]},{"title":"Integrating Checkly in Jenkins","sidebarTitle":"Jenkins","href":"/integrations/ci-cd/jenkins/overview"}]},{"group":"Observability","pages":[{"title":"Observability integrations","sidebarTitle":"Overview","href":"/integrations/observability/overview"},{"group":"Metrics","pages":[{"title":"Export metrics to Prometheus","sidebarTitle":"Prometheus","href":"/integrations/observability/prometheus"}]},{"group":"Traces","pages":[{"title":"Export traces to any OpenTelemetry backend","sidebarTitle":"OTLP (any backend)","href":"/integrations/observability/traces/otlp"},{"title":"Send traces, RUM and alerts to Coralogix","sidebarTitle":"Coralogix","href":"/integrations/observability/coralogix"},{"title":"Export traces to Chronosphere","sidebarTitle":"Chronosphere","href":"/integrations/observability/traces/chronosphere"},{"title":"Export traces to ClickStack","sidebarTitle":"ClickStack","href":"/integrations/observability/traces/clickstack"},{"title":"Export traces to Cribl Stream","sidebarTitle":"Cribl Stream","href":"/integrations/observability/traces/cribl"},{"title":"Export traces to Dash0","sidebarTitle":"Dash0","href":"/integrations/observability/traces/dash0"},{"title":"Export traces to Datadog","sidebarTitle":"Datadog","href":"/integrations/observability/traces/datadog"},{"title":"Export traces to Grafana Tempo","sidebarTitle":"Grafana Tempo","href":"/integrations/observability/traces/grafana-tempo"},{"title":"Export traces to Honeycomb","sidebarTitle":"Honeycomb","href":"/integrations/observability/traces/honeycomb"},{"title":"Export traces to New Relic","sidebarTitle":"New Relic","href":"/integrations/observability/traces/new-relic"}]}]},{"group":"Infrastructure as Code","pages":[{"group":"Terraform","pages":[{"title":"Getting started with the Terraform provider for Checkly","sidebarTitle":"Overview","href":"/integrations/iac/terraform/overview"},{"title":"Alert channels and settings for Terraform","sidebarTitle":"Alert channels","href":"/integrations/iac/terraform/alerting"},{"title":"Service maintenance windows in Terraform","sidebarTitle":"Service maintenance windows","href":"/integrations/iac/terraform/maintenance-windows"},{"title":"Dashboards in Terraform","sidebarTitle":"Dashboards","href":"/integrations/iac/terraform/dashboards"},{"title":"CI/CD pipelines for Terraform","sidebarTitle":"CI/CD Pipelines","href":"/integrations/iac/terraform/ci-cd"},{"title":"Command line triggers for Terraform","sidebarTitle":"Command line Triggers","href":"/integrations/iac/terraform/command-line-triggers"},{"title":"Testing Terraform scripts locally","sidebarTitle":"Testing Scripts Locally","href":"/integrations/iac/terraform/testing-scripts-locally"},{"title":"Environment variables in Terraform","sidebarTitle":"Environment variables","href":"/integrations/iac/terraform/environment-variables"},{"title":"Common issues with the Terraform provider","sidebarTitle":"Troubleshooting","href":"/integrations/iac/terraform/troubleshooting"}]},{"group":"Pulumi","pages":[{"title":"The Checkly Pulumi Provider","sidebarTitle":"Pulumi Provider","href":"/integrations/iac/pulumi/overview"},{"title":"Pulumi Best Practices","sidebarTitle":"Best Practices","href":"/integrations/iac/pulumi/best-practices"},{"title":"Pulumi Setup Guide","sidebarTitle":"Setup Guide","href":"/integrations/iac/pulumi/setup"},{"title":"Pulumi Examples","sidebarTitle":"Examples","href":"/integrations/iac/pulumi/examples"},{"title":"CI/CD Integration","sidebarTitle":"CI/CD Integration","href":"/integrations/iac/pulumi/ci-cd"}]}]}]}]},{"tab":"Constructs","pages":[{"title":"Constructs","href":"/constructs/overview"}]},{"tab":"CLI Reference","pages":[{"title":"CLI Reference","href":"/cli/overview"}]},{"tab":"API Reference","pages":[{"title":"API Reference","href":"/api-reference/overview"}]},{"tab":"Guides","pages":[{"title":"Guides","href":"/guides/overview"}]},{"tab":"Learn","dropdowns":[{"dropdown":"Playwright","icon":"masks-theater","pages":[{"title":"Learn How to Test, Monitor, and Automate with Playwright","sidebarTitle":"Overview","href":"/learn/playwright/overview"},{"group":"Getting Started","pages":[{"title":"Beginner’s Guide to Playwright Automation","sidebarTitle":"What is Playwright?","href":"/learn/playwright/what-is-playwright"},{"title":"How to Set Up Playwright Locally","sidebarTitle":"Setting up Playwright","href":"/learn/playwright/how-to-set-up-locally"},{"title":"The Layers of the Testing Pyramid","href":"/learn/playwright/testing-pyramid"}]},{"group":"Interaction","pages":[{"title":"Playwright Assertions - Types \u0026 Best Practices","sidebarTitle":"Assertions","href":"/learn/playwright/assertions"},{"title":"How to Click, Type, and Hover with Playwright","sidebarTitle":"Clicking and typing","href":"/learn/playwright/clicking-typing-hovering"},{"title":"How to Handle iFrames in Playwright","sidebarTitle":"Interacting with iframes","href":"/learn/playwright/iframe-interaction"},{"title":"How to Use Playwright to Navigate and Interact with Web Pages","sidebarTitle":"Navigation","href":"/learn/playwright/navigation"},{"title":"How to Work with Selectors in Playwright","sidebarTitle":"UI selectors","href":"/learn/playwright/selectors"},{"title":"Dealing with waits and timeouts in Playwright","sidebarTitle":"Waits and timeouts","href":"/learn/playwright/waits-and-timeouts"}]},{"group":"Basics","pages":[{"title":"How to Manage Authentication in Playwright","sidebarTitle":"Authentication","href":"/learn/playwright/authentication"},{"title":"Record Automation Scripts Using Playwright Codegen","sidebarTitle":"Codegen","href":"/learn/playwright/codegen"},{"title":"How to emulate mobile devices with Playwright","sidebarTitle":"Emulating mobile devices","href":"/learn/playwright/emulating-mobile-devices"},{"title":"How to Generate PDFs with Playwright","sidebarTitle":"Generating PDFs","href":"/learn/playwright/generating-pdfs"},{"title":"How to detect broken links using Playwright","sidebarTitle":"Detecting broken links","href":"/learn/playwright/how-to-detect-broken-links"},{"title":"How to Intercept Requests in Playwright","sidebarTitle":"Intercepting requests","href":"/learn/playwright/intercept-requests"},{"title":"Test Dynamic Content by Mocking API Responses","sidebarTitle":"Mocking API Responses","href":"/learn/playwright/mock-api"},{"title":"Handling Multiple Tabs with Playwright","sidebarTitle":"Multiple tabs","href":"/learn/playwright/multitab-flows"},{"title":"Playwright Screenshots - How to Take and Automate Screenshots","sidebarTitle":"Taking screenshots","href":"/learn/playwright/taking-screenshots"},{"title":"How to run Playwright tests in parallel","sidebarTitle":"Parallel testing","href":"/learn/playwright/testing-in-parallel"}]},{"group":"Best Practices","pages":[{"title":"How to Handle Challenging Automation Flows in Playwright","sidebarTitle":"Complex workflows","href":"/learn/playwright/challenging-flows"},{"title":"How to Handle Test Data with Playwright","sidebarTitle":"Test data","href":"/learn/playwright/handling-test-data"},{"title":"Parameterizing your Playwright projects","sidebarTitle":"Parameterizing Projects","href":"/learn/playwright/how-to-parameterize-playwright-projects"},{"title":"Measuring Page Performance Using Playwright - Best Practices","sidebarTitle":"Performance","href":"/learn/playwright/performance"},{"title":"How to Scrape Data Behind a Login with Playwright","sidebarTitle":"Scraping behind a login","href":"/learn/playwright/scraping-behind-login"},{"title":"Using Script Recorders with Playwright","sidebarTitle":"Script recorders","href":"/learn/playwright/script-recorders"},{"title":"Self-documenting tests - add automatic Playwright steps with TypeScript Decorators","sidebarTitle":"Automatic Steps","href":"/learn/playwright/steps-decorators"},{"title":"Reuse code with custom test fixtures in Playwright","sidebarTitle":"Test Fixtures","href":"/learn/playwright/test-fixtures"},{"title":"Testing APIs with Playwright","sidebarTitle":"Testing APIs","href":"/learn/playwright/testing-apis"},{"title":"Playwright Web Scraping - How to Extract Data from Websites","sidebarTitle":"Scraping","href":"/learn/playwright/web-scraping"},{"title":"Best Practices for Writing Tests in Playwright","sidebarTitle":"Testing","href":"/learn/playwright/writing-tests"}]},{"group":"E2E Examples","pages":[{"title":"How to Bypass Time-Based 2FA Login Flows With Playwright","sidebarTitle":"TOTP Authentication","href":"/learn/playwright/bypass-totp"},{"title":"Mastering E2E Checkout Testing Using Playwright","sidebarTitle":"Checkout","href":"/learn/playwright/checkout-testing-guide"},{"title":"How to Download Files with Playwright","sidebarTitle":"Downloading files","href":"/learn/playwright/file-download"},{"title":"How to Automate Google Login with Playwright","sidebarTitle":"Google Auth","href":"/learn/playwright/google-login-automation"},{"title":"How to search with Playwright","sidebarTitle":"Search","href":"/learn/playwright/how-to-search"},{"title":"How to Automate Login with Playwright","sidebarTitle":"Standard authentication","href":"/learn/playwright/login-automation"},{"title":"How to Automate Microsoft Live Login with Playwright","sidebarTitle":"Microsoft Live Auth","href":"/learn/playwright/microsoft-login-automation"},{"title":"How to Test Coupons and Discounts with Playwright","sidebarTitle":"Discounts \u0026 coupons","href":"/learn/playwright/testing-coupons"},{"title":"How to Test File Uploads with Playwright","sidebarTitle":"File uploads","href":"/learn/playwright/testing-file-uploads"},{"title":"Automating User Signup with Playwright","sidebarTitle":"User signup","href":"/learn/playwright/user-signup-automation"}]},{"group":"Debugging","pages":[{"title":"Playwright Debugging Errors - Common Issues and Solutions","sidebarTitle":"Common issues","href":"/learn/playwright/debugging-errors"},{"title":"Playwright Debugging - Techniques for Script Troubleshooting","sidebarTitle":"Debugging scripts","href":"/learn/playwright/debugging"},{"title":"How to Fix the \"Click Not Executed\" Error in Playwright","sidebarTitle":"Click not executed","href":"/learn/playwright/error-click-not-executed"},{"title":"How to Fix 'Element Not Found' Errors in Playwright","sidebarTitle":"Element not found","href":"/learn/playwright/error-element-not-found"},{"title":"How to Fix \"Element Not Visible\" Error in Playwright","sidebarTitle":"Element not visible","href":"/learn/playwright/error-element-not-visible"},{"title":"How to Fix \"Target Closed\" Error in Playwright","sidebarTitle":"Target closed","href":"/learn/playwright/error-target-closed"},{"title":"How to Fix \"Wait Not Respected\" Error in Playwright","sidebarTitle":"Wait not respected","href":"/learn/playwright/error-wait-not-respected"}]},{"group":"AI \u0026 Coding Agents","pages":[{"title":"Debugging Playwright Tests with AI Agents","sidebarTitle":"Debugging with AI agents","href":"/learn/playwright/debugging-with-ai-agents"}]}]},{"dropdown":"Incidents","icon":"alert-triangle","pages":[{"title":"Incident Response - Improve Recovery \u0026 Avoid Downtime","sidebarTitle":"Overview","href":"/learn/incidents/overview"},{"group":"Detection","pages":[{"title":"Best Practices for Detecting Downtime | Incident Response","sidebarTitle":"Detecting Downtime","href":"/learn/incidents/detection-best-practices"},{"title":"Incident Management Challenges | Checkly Guide","sidebarTitle":"Incident Management Challenges","href":"/learn/incidents/incident-management-challenges"},{"title":"Reduce Mean Time to Detection MTTD - Best Practices Guide","sidebarTitle":"MTTD Best Practices","href":"/learn/incidents/reduce-mttd"},{"title":"SLA vs SLO vs SLI - What’s the Difference? Comparison with examples","sidebarTitle":"SLA vs SLO vs SLI","href":"/learn/incidents/slo-sla-sli"},{"title":"What is Incident Response? Fundamentals and best practices","sidebarTitle":"What is Incident Response?","href":"/learn/incidents/what-is-incident-response"}]},{"group":"Classification","pages":[{"title":"Incident Response Automation - From Alerts to Action","sidebarTitle":"Playbooks \u0026 Automation","href":"/learn/incidents/automation-incident-response"},{"title":"Incident Assessment \u0026 Severity | Checkly Guide","sidebarTitle":"Incident Assessment \u0026 Severity Guide","href":"/learn/incidents/incident-assessment-severity"},{"title":"How to Set an On‑Call Schedule | Checkly Incident Response","sidebarTitle":"On-Call Schedules - How to","href":"/learn/incidents/on-call-schedule"},{"title":"Incident Response Playbooks - Culture \u0026 Compliance | Checkly","sidebarTitle":"Incident Response Playbooks","href":"/learn/incidents/playbooks"}]},{"group":"Investigation","pages":[{"title":"Modern Root Cause Analysis | Checkly Guide","sidebarTitle":"Modern Root Cause Analysis","href":"/learn/incidents/modern-root-cause-analysis"},{"title":"Root Cause with Traces - Faster RCA | Checkly","sidebarTitle":"Tracing for Root Cause Analysis","href":"/learn/incidents/root-cause-with-traces"}]},{"group":"Repair","pages":[{"title":"Defining MTTR - what mean time to repair means for your team","sidebarTitle":"What is MTTR?","href":"/learn/incidents/defining-mttr"},{"title":"How to Use DORA Metrics the Right Way | Checkly","sidebarTitle":"DORA Metrics for Performance Evaluation","href":"/learn/incidents/dora-metrics"},{"title":"MTTR Challenges \u0026 Solutions | Checkly","sidebarTitle":"Reducing Time to Repair","href":"/learn/incidents/mttr-challenges"}]},{"group":"Communication","pages":[{"title":"Anatomy of a status page | Checkly Guide","sidebarTitle":"Anatomy of a status page","href":"/learn/incidents/anatomy-of-a-status-page"},{"title":"Best Practices for Communicating During Outages and Incidents","sidebarTitle":"Incident Communication","href":"/learn/incidents/incident-communication"},{"title":"Postmortems That Drive Real Improvements (+ Template) | Checkly Guide","sidebarTitle":"Postmortems That Drive Real Improvement (+ Template)","href":"/learn/incidents/postmortems"}]}]},{"dropdown":"Kubernetes","icon":"steering-wheel","pages":[{"title":"Learn How to Observe and Monitor your Kubernetes","sidebarTitle":"Overview","href":"/learn/kubernetes/overview"},{"title":"Centralized logging in Kubernetes with OpenTelemetry - guide with examples","sidebarTitle":"Centralized Logging","href":"/learn/kubernetes/centralized-logging"},{"title":"Kubernetes Events - A Native Resource for State Insight","sidebarTitle":"Events","href":"/learn/kubernetes/events"},{"title":"Introducing klog - The Kubernetes Logging Library","sidebarTitle":"klog","href":"/learn/kubernetes/klog"},{"title":"Logging in Kubernetes - Best Practices","sidebarTitle":"Best Practices","href":"/learn/kubernetes/logging-best-practices"},{"title":"Learn How to Observe and Monitor your Kubernetes Environment with Open Source Tools","sidebarTitle":"Monitoring Kubernetes","href":"/learn/kubernetes/monitoring-challenges"},{"title":"Introduction to Node Problem Detector for Kubernetes","sidebarTitle":"Node Problem Detector","href":"/learn/kubernetes/node-problem-detector"},{"title":"Introduction to Kubernetes Operators - scraping metrics with Prometheus","sidebarTitle":"Operators","href":"/learn/kubernetes/operators-metrics"},{"title":"Structured Logging in Kubernetes - Why it matters and how to get started","sidebarTitle":"Structured Logging","href":"/learn/kubernetes/structured-logging"}]},{"dropdown":"Monitoring","icon":"chart-line","pages":[{"title":"Monitoring Resources - Tools, Metrics \u0026 Best Practices","sidebarTitle":"Monitoring","href":"/learn/monitoring/overview"},{"group":"SDLC Basics","pages":[{"title":"Understanding the Software Development Life Cycle (SDLC) for Engineers","sidebarTitle":"Understanding the SDLC","href":"/learn/monitoring/intro-to-sdlc"},{"title":"Observability Basics - Metrics that every team needs","sidebarTitle":"Metrics Every Team Needs","href":"/learn/monitoring/metrics-every-team-needs"}]},{"group":"Monitoring Concepts","pages":[{"title":"What is API Monitoring? - Tools, techniques, and examples","sidebarTitle":"API Monitoring","href":"/learn/monitoring/api-monitoring"},{"title":"What is End to End Monitoring? An Overview with Examples","sidebarTitle":"What is End-to-End Monitoring?","href":"/learn/monitoring/end-to-end-monitoring"},{"title":"Frontend Monitoring - Benefits, Challenges, and Top Tools","sidebarTitle":"Frontend Monitoring","href":"/learn/monitoring/frontend-monitoring"},{"title":"Monitoring as Code - A Practical Guide from Checkly","sidebarTitle":"Monitoring as Code","href":"/learn/monitoring/monitoring-as-code"},{"title":"Real User Monitoring (RUM) - Benefits, Challenges, and Alternatives","sidebarTitle":"Real User Monitoring","href":"/learn/monitoring/real-user-monitoring"},{"title":"Synthetic Monitoring - Concepts, Benefits \u0026 Challenges","sidebarTitle":"Synthetic Monitoring","href":"/learn/monitoring/synthetic-monitoring"},{"title":"Transaction Monitoring - Components, Benefits \u0026 Challenges","sidebarTitle":"Transaction Monitoring","href":"/learn/monitoring/transaction-monitoring"},{"title":"Web Application Monitoring - Types, Benefits \u0026 Top 10 Tools","sidebarTitle":"Web Application Monitoring","href":"/learn/monitoring/web-application-monitoring"}]},{"group":"Protocols","pages":[{"title":"HTTPS Fundamentals - Beginner's Guide for App Developers","sidebarTitle":"Intro to HTTPS","href":"/learn/monitoring/https-for-app-developers"},{"title":"TCP and SSL - What an application developer needs to know","sidebarTitle":"TCP and SSL","href":"/learn/monitoring/tcp-and-ssl"},{"title":"What is TCP? - how it works and why it matters to application developers","sidebarTitle":"What is TCP?","href":"/learn/monitoring/what-is-tcp"}]}]},{"dropdown":"OpenTelemetry","icon":"satellite","pages":[{"title":"Learn How to Observe and Monitor your Software with OpenTelemetry","sidebarTitle":"Overview","href":"/learn/opentelemetry/overview"},{"group":"OpenTelemetry Basics","pages":[{"title":"Getting Started with Observability","sidebarTitle":"What is Observability?","href":"/learn/opentelemetry/getting-started-with-observability"},{"title":"How to instrument your application with OpenTelemetry","sidebarTitle":"Instrumentation","href":"/learn/opentelemetry/how-to-instrument"},{"title":"Introduction to the OpenTelemetry Collector","sidebarTitle":"The OTel Collector","href":"/learn/opentelemetry/what-is-the-otel-collector"}]},{"group":"Key Signals","pages":[{"title":"Logging in OpenTelemetry, an Engineer’s Guide","sidebarTitle":"Logging","href":"/learn/opentelemetry/logs"},{"title":"What are OpenTelemetry Metrics?","sidebarTitle":"Metrics","href":"/learn/opentelemetry/metrics"},{"title":"What are OpenTelemetry Traces? - key concepts and examples","sidebarTitle":"Traces","href":"/learn/opentelemetry/traces"}]},{"group":"Best Practices","pages":[{"title":"Fundamentals of Context Propagation in OpenTelemetry","sidebarTitle":"Context Propagation","href":"/learn/opentelemetry/context-propagation"},{"title":"OpenTelemetry Agent Management Protocol","sidebarTitle":"OpAMP","href":"/learn/opentelemetry/otel-agent-management-protocol"},{"title":"Advanced Data Filtering with the OpenTelemetry Collector","sidebarTitle":"Filtering","href":"/learn/opentelemetry/otel-filtering"},{"title":"A guide to the OpenTelemetry Trace API","sidebarTitle":"Trace API","href":"/learn/opentelemetry/trace-api"}]}]}]},{"tab":"Comparisons","pages":[{"title":"Comparisons","href":"/comparisons/frameworks/playwright-vs-cypress"}]}]},"basePath":"","title":"Using environment variables - Checkly Docs","buildId":"dpl_ATnXPMW25DMPUr9VBw6kL6MfBt6T","deploymentId":"dpl_ATnXPMW25DMPUr9VBw6kL6MfBt6T","dynamics":[],"chunks":[]}