diff --git a/static/app/views/detectors/components/forms/uptime/index.tsx b/static/app/views/detectors/components/forms/uptime/index.tsx index 4172d615990cb4..0e41b2109fa593 100644 --- a/static/app/views/detectors/components/forms/uptime/index.tsx +++ b/static/app/views/detectors/components/forms/uptime/index.tsx @@ -1,7 +1,9 @@ import styled from '@emotion/styled'; +import {useFormField} from 'sentry/components/workflowEngine/form/useFormField'; import {t} from 'sentry/locale'; import type {UptimeDetector} from 'sentry/types/workflowEngine/detectors'; +import {HTTPSnippet} from 'sentry/views/alerts/rules/uptime/httpSnippet'; import {AutomateSection} from 'sentry/views/detectors/components/forms/automateSection'; import {AssignSection} from 'sentry/views/detectors/components/forms/common/assignSection'; import {useSetAutomaticName} from 'sentry/views/detectors/components/forms/common/useSetAutomaticName'; @@ -15,6 +17,32 @@ import { import {UptimeRegionWarning} from 'sentry/views/detectors/components/forms/uptime/regionWarning'; import {UptimeDetectorResolveSection} from 'sentry/views/detectors/components/forms/uptime/resolve'; +const HTTP_METHODS_NO_BODY = ['GET', 'HEAD', 'OPTIONS']; + +function ConnectedHttpSnippet() { + const url = useFormField('url'); + const method = useFormField('method'); + const headers = useFormField>('headers'); + const body = useFormField('body'); + const traceSampling = useFormField('traceSampling'); + + if (!url || !method) { + return null; + } + + const shouldIncludeBody = !HTTP_METHODS_NO_BODY.includes(method); + + return ( + + ); +} + function UptimeDetectorForm() { useSetAutomaticName(form => { const url = form.getValue('url'); @@ -38,6 +66,7 @@ function UptimeDetectorForm() { +