|
@@ -4,196 +4,194 @@ exports[`ProjectAlertSettings render() renders 1`] = `
|
|
|
<SideEffect(DocumentTitle)
|
|
|
title="Project Alert Settings - Sentry"
|
|
|
>
|
|
|
- <React.Fragment>
|
|
|
- <SettingsPageHeading
|
|
|
- action={
|
|
|
- <Tooltip
|
|
|
- disabled={true}
|
|
|
- title="You do not have permission to edit alert rules."
|
|
|
+ <SettingsPageHeading
|
|
|
+ action={
|
|
|
+ <Tooltip
|
|
|
+ disabled={true}
|
|
|
+ title="You do not have permission to edit alert rules."
|
|
|
+ >
|
|
|
+ <Button
|
|
|
+ disabled={false}
|
|
|
+ icon="icon-circle-add"
|
|
|
+ priority="primary"
|
|
|
+ size="small"
|
|
|
+ to="rules/new/"
|
|
|
>
|
|
|
- <Button
|
|
|
- disabled={false}
|
|
|
- icon="icon-circle-add"
|
|
|
- priority="primary"
|
|
|
- size="small"
|
|
|
- to="rules/new/"
|
|
|
- >
|
|
|
- New Alert Rule
|
|
|
- </Button>
|
|
|
- </Tooltip>
|
|
|
- }
|
|
|
- tabs={
|
|
|
- <ul
|
|
|
- className="nav nav-tabs"
|
|
|
- style={
|
|
|
- Object {
|
|
|
- "borderBottom": "1px solid #ddd",
|
|
|
- }
|
|
|
+ New Alert Rule
|
|
|
+ </Button>
|
|
|
+ </Tooltip>
|
|
|
+ }
|
|
|
+ tabs={
|
|
|
+ <ul
|
|
|
+ className="nav nav-tabs"
|
|
|
+ style={
|
|
|
+ Object {
|
|
|
+ "borderBottom": "1px solid #ddd",
|
|
|
}
|
|
|
- >
|
|
|
- <ListLink
|
|
|
- activeClassName="active"
|
|
|
- index={true}
|
|
|
- to=""
|
|
|
- >
|
|
|
- Settings
|
|
|
- </ListLink>
|
|
|
- <ListLink
|
|
|
- activeClassName="active"
|
|
|
- index={false}
|
|
|
- to="rules/"
|
|
|
- >
|
|
|
- Rules
|
|
|
- </ListLink>
|
|
|
- </ul>
|
|
|
- }
|
|
|
- title="Alerts"
|
|
|
- />
|
|
|
- <AlertLink
|
|
|
- icon="icon-mail"
|
|
|
- priority="warning"
|
|
|
- to="/settings/account/notifications/"
|
|
|
- >
|
|
|
- Looking to fine-tune your personal notification preferences? Visit your Account Settings
|
|
|
- </AlertLink>
|
|
|
- <Form
|
|
|
- allowUndo={true}
|
|
|
- apiEndpoint="/projects/org-slug/project-slug/"
|
|
|
- apiMethod="PUT"
|
|
|
- cancelLabel="Cancel"
|
|
|
- className="form-stacked"
|
|
|
- footerClass="form-actions align-right"
|
|
|
- initialData={
|
|
|
- Object {
|
|
|
- "digestsMaxDelay": 60,
|
|
|
- "digestsMinDelay": 5,
|
|
|
- "subjectTemplate": "[$project] \${tag:level}: $title",
|
|
|
}
|
|
|
+ >
|
|
|
+ <ListLink
|
|
|
+ activeClassName="active"
|
|
|
+ index={true}
|
|
|
+ to=""
|
|
|
+ >
|
|
|
+ Settings
|
|
|
+ </ListLink>
|
|
|
+ <ListLink
|
|
|
+ activeClassName="active"
|
|
|
+ index={false}
|
|
|
+ to="rules/"
|
|
|
+ >
|
|
|
+ Rules
|
|
|
+ </ListLink>
|
|
|
+ </ul>
|
|
|
+ }
|
|
|
+ title="Alerts"
|
|
|
+ />
|
|
|
+ <AlertLink
|
|
|
+ icon="icon-mail"
|
|
|
+ priority="warning"
|
|
|
+ to="/settings/account/notifications/"
|
|
|
+ >
|
|
|
+ Looking to fine-tune your personal notification preferences? Visit your Account Settings
|
|
|
+ </AlertLink>
|
|
|
+ <Form
|
|
|
+ allowUndo={true}
|
|
|
+ apiEndpoint="/projects/org-slug/project-slug/"
|
|
|
+ apiMethod="PUT"
|
|
|
+ cancelLabel="Cancel"
|
|
|
+ className="form-stacked"
|
|
|
+ footerClass="form-actions align-right"
|
|
|
+ initialData={
|
|
|
+ Object {
|
|
|
+ "digestsMaxDelay": 60,
|
|
|
+ "digestsMinDelay": 5,
|
|
|
+ "subjectTemplate": "[$project] \${tag:level}: $title",
|
|
|
}
|
|
|
- onSubmitError={[Function]}
|
|
|
- onSubmitSuccess={[Function]}
|
|
|
- requireChanges={false}
|
|
|
- saveOnBlur={true}
|
|
|
- submitDisabled={false}
|
|
|
- submitLabel="Save Changes"
|
|
|
- submitPriority="primary"
|
|
|
- >
|
|
|
- <JsonForm
|
|
|
- additionalFieldProps={Object {}}
|
|
|
- fields={
|
|
|
- Array [
|
|
|
- Object {
|
|
|
- "help": "The email subject to use (excluding the prefix) for individual alerts. Usable variables include: $title, $shortID, $projectID, $orgID, and \${tag:key}, such as \${tag:environment} or \${tag:release}.",
|
|
|
- "label": "Subject Template",
|
|
|
- "name": "subjectTemplate",
|
|
|
- "placeholder": "e.g. $shortID - $title",
|
|
|
- "type": "string",
|
|
|
- },
|
|
|
- ]
|
|
|
- }
|
|
|
- title="Email Settings"
|
|
|
- />
|
|
|
- <JsonForm
|
|
|
- additionalFieldProps={Object {}}
|
|
|
- fields={
|
|
|
- Array [
|
|
|
- Object {
|
|
|
- "defaultValue": 300,
|
|
|
- "formatLabel": [Function],
|
|
|
- "help": "Notifications will be delivered at most this often.",
|
|
|
- "label": "Minimum delivery interval",
|
|
|
- "max": 3600,
|
|
|
- "min": 60,
|
|
|
- "name": "digestsMinDelay",
|
|
|
- "step": 60,
|
|
|
- "type": "range",
|
|
|
- },
|
|
|
- Object {
|
|
|
- "defaultValue": 300,
|
|
|
- "formatLabel": [Function],
|
|
|
- "help": "Notifications will be delivered at least this often.",
|
|
|
- "label": "Maximum delivery interval",
|
|
|
- "max": 3600,
|
|
|
- "min": 60,
|
|
|
- "name": "digestsMaxDelay",
|
|
|
- "step": 60,
|
|
|
- "type": "range",
|
|
|
- },
|
|
|
- ]
|
|
|
- }
|
|
|
- renderHeader={[Function]}
|
|
|
- title="Digests"
|
|
|
- />
|
|
|
- </Form>
|
|
|
- <PluginList
|
|
|
- onDisablePlugin={[Function]}
|
|
|
- onEnablePlugin={[Function]}
|
|
|
- organization={
|
|
|
- Object {
|
|
|
- "access": Array [
|
|
|
- "org:read",
|
|
|
- "org:write",
|
|
|
- "org:admin",
|
|
|
- "project:read",
|
|
|
- "project:write",
|
|
|
- "project:admin",
|
|
|
- "team:read",
|
|
|
- "team:write",
|
|
|
- "team:admin",
|
|
|
- ],
|
|
|
- "features": Array [],
|
|
|
- "id": "3",
|
|
|
- "name": "Organization Name",
|
|
|
- "onboardingTasks": Array [],
|
|
|
- "projects": Array [],
|
|
|
- "scrapeJavaScript": true,
|
|
|
- "slug": "org-slug",
|
|
|
- "status": Object {
|
|
|
- "id": "active",
|
|
|
- "name": "active",
|
|
|
+ }
|
|
|
+ onSubmitError={[Function]}
|
|
|
+ onSubmitSuccess={[Function]}
|
|
|
+ requireChanges={false}
|
|
|
+ saveOnBlur={true}
|
|
|
+ submitDisabled={false}
|
|
|
+ submitLabel="Save Changes"
|
|
|
+ submitPriority="primary"
|
|
|
+ >
|
|
|
+ <JsonForm
|
|
|
+ additionalFieldProps={Object {}}
|
|
|
+ fields={
|
|
|
+ Array [
|
|
|
+ Object {
|
|
|
+ "help": "The email subject to use (excluding the prefix) for individual alerts. Usable variables include: $title, $shortID, $projectID, $orgID, and \${tag:key}, such as \${tag:environment} or \${tag:release}.",
|
|
|
+ "label": "Subject Template",
|
|
|
+ "name": "subjectTemplate",
|
|
|
+ "placeholder": "e.g. $shortID - $title",
|
|
|
+ "type": "string",
|
|
|
},
|
|
|
- "teams": Array [],
|
|
|
- }
|
|
|
+ ]
|
|
|
}
|
|
|
- pluginList={Array []}
|
|
|
- project={
|
|
|
- Object {
|
|
|
- "allowedDomains": Array [
|
|
|
- "example.com",
|
|
|
- "https://example.com",
|
|
|
- ],
|
|
|
- "dataScrubber": false,
|
|
|
- "dataScrubberDefaults": false,
|
|
|
- "digestsMaxDelay": 60,
|
|
|
- "digestsMinDelay": 5,
|
|
|
- "features": Array [],
|
|
|
- "hasAccess": true,
|
|
|
- "id": "2",
|
|
|
- "isBookmarked": false,
|
|
|
- "isMember": true,
|
|
|
- "name": "Project Name",
|
|
|
- "resolveAge": 48,
|
|
|
- "safeFields": Array [
|
|
|
- "business-email",
|
|
|
- "company",
|
|
|
- ],
|
|
|
- "scrapeJavaScript": true,
|
|
|
- "scrubIPAddresses": false,
|
|
|
- "securityToken": "security-token",
|
|
|
- "securityTokenHeader": "x-security-header",
|
|
|
- "sensitiveFields": Array [
|
|
|
- "creditcard",
|
|
|
- "ssn",
|
|
|
- ],
|
|
|
- "slug": "project-slug",
|
|
|
- "storeCrashReports": false,
|
|
|
- "subjectPrefix": "[my-org]",
|
|
|
- "subjectTemplate": "[$project] \${tag:level}: $title",
|
|
|
- "teams": Array [],
|
|
|
- "verifySSL": true,
|
|
|
- }
|
|
|
+ title="Email Settings"
|
|
|
+ />
|
|
|
+ <JsonForm
|
|
|
+ additionalFieldProps={Object {}}
|
|
|
+ fields={
|
|
|
+ Array [
|
|
|
+ Object {
|
|
|
+ "defaultValue": 300,
|
|
|
+ "formatLabel": [Function],
|
|
|
+ "help": "Notifications will be delivered at most this often.",
|
|
|
+ "label": "Minimum delivery interval",
|
|
|
+ "max": 3600,
|
|
|
+ "min": 60,
|
|
|
+ "name": "digestsMinDelay",
|
|
|
+ "step": 60,
|
|
|
+ "type": "range",
|
|
|
+ },
|
|
|
+ Object {
|
|
|
+ "defaultValue": 300,
|
|
|
+ "formatLabel": [Function],
|
|
|
+ "help": "Notifications will be delivered at least this often.",
|
|
|
+ "label": "Maximum delivery interval",
|
|
|
+ "max": 3600,
|
|
|
+ "min": 60,
|
|
|
+ "name": "digestsMaxDelay",
|
|
|
+ "step": 60,
|
|
|
+ "type": "range",
|
|
|
+ },
|
|
|
+ ]
|
|
|
}
|
|
|
+ renderHeader={[Function]}
|
|
|
+ title="Digests"
|
|
|
/>
|
|
|
- </React.Fragment>
|
|
|
+ </Form>
|
|
|
+ <PluginList
|
|
|
+ onDisablePlugin={[Function]}
|
|
|
+ onEnablePlugin={[Function]}
|
|
|
+ organization={
|
|
|
+ Object {
|
|
|
+ "access": Array [
|
|
|
+ "org:read",
|
|
|
+ "org:write",
|
|
|
+ "org:admin",
|
|
|
+ "project:read",
|
|
|
+ "project:write",
|
|
|
+ "project:admin",
|
|
|
+ "team:read",
|
|
|
+ "team:write",
|
|
|
+ "team:admin",
|
|
|
+ ],
|
|
|
+ "features": Array [],
|
|
|
+ "id": "3",
|
|
|
+ "name": "Organization Name",
|
|
|
+ "onboardingTasks": Array [],
|
|
|
+ "projects": Array [],
|
|
|
+ "scrapeJavaScript": true,
|
|
|
+ "slug": "org-slug",
|
|
|
+ "status": Object {
|
|
|
+ "id": "active",
|
|
|
+ "name": "active",
|
|
|
+ },
|
|
|
+ "teams": Array [],
|
|
|
+ }
|
|
|
+ }
|
|
|
+ pluginList={Array []}
|
|
|
+ project={
|
|
|
+ Object {
|
|
|
+ "allowedDomains": Array [
|
|
|
+ "example.com",
|
|
|
+ "https://example.com",
|
|
|
+ ],
|
|
|
+ "dataScrubber": false,
|
|
|
+ "dataScrubberDefaults": false,
|
|
|
+ "digestsMaxDelay": 60,
|
|
|
+ "digestsMinDelay": 5,
|
|
|
+ "features": Array [],
|
|
|
+ "hasAccess": true,
|
|
|
+ "id": "2",
|
|
|
+ "isBookmarked": false,
|
|
|
+ "isMember": true,
|
|
|
+ "name": "Project Name",
|
|
|
+ "resolveAge": 48,
|
|
|
+ "safeFields": Array [
|
|
|
+ "business-email",
|
|
|
+ "company",
|
|
|
+ ],
|
|
|
+ "scrapeJavaScript": true,
|
|
|
+ "scrubIPAddresses": false,
|
|
|
+ "securityToken": "security-token",
|
|
|
+ "securityTokenHeader": "x-security-header",
|
|
|
+ "sensitiveFields": Array [
|
|
|
+ "creditcard",
|
|
|
+ "ssn",
|
|
|
+ ],
|
|
|
+ "slug": "project-slug",
|
|
|
+ "storeCrashReports": false,
|
|
|
+ "subjectPrefix": "[my-org]",
|
|
|
+ "subjectTemplate": "[$project] \${tag:level}: $title",
|
|
|
+ "teams": Array [],
|
|
|
+ "verifySSL": true,
|
|
|
+ }
|
|
|
+ }
|
|
|
+ />
|
|
|
</SideEffect(DocumentTitle)>
|
|
|
`;
|