1. Packages
  2. Sentry
  3. API Docs
  4. SentryIssueAlert
Sentry v0.0.9 published on Friday, Nov 15, 2024 by Pulumiverse

sentry.SentryIssueAlert

Explore with Pulumi AI

Sentry Issue Alert resource. Note that there’s no public documentation for the values of conditions, filters, and actions. You can either inspect the request payload sent when creating or editing an issue alert on Sentry or inspect Sentry’s rules registry in the source code. Since v0.11.2, you should also omit the name property of each condition, filter, and action.

Example Usage

import * as pulumi from "@pulumi/pulumi";
import * as sentry from "@pulumi/sentry";
import * as sentry from "@pulumiverse/sentry";

// Retrieve a Slack integration
const slack = sentry.getSentryOrganizationIntegration({
    organization: test.organization,
    providerKey: "slack",
    name: "Slack Workspace",
});
const main = new sentry.SentryIssueAlert("main", {
    organization: mainSentryProject.organization,
    project: mainSentryProject.id,
    name: "My issue alert",
    actionMatch: "any",
    filterMatch: "any",
    frequency: 30,
    conditions: [
        {
            id: "sentry.rules.conditions.first_seen_event.FirstSeenEventCondition",
        },
        {
            id: "sentry.rules.conditions.regression_event.RegressionEventCondition",
        },
        {
            id: "sentry.rules.conditions.event_frequency.EventFrequencyCondition",
            value: "100",
            comparisonType: "count",
            interval: "1h",
        },
        {
            id: "sentry.rules.conditions.event_frequency.EventUniqueUserFrequencyCondition",
            value: "100",
            comparisonType: "count",
            interval: "1h",
        },
        {
            id: "sentry.rules.conditions.event_frequency.EventFrequencyPercentCondition",
            value: "50.0",
            comparisonType: "count",
            interval: "1h",
        },
    ],
    filters: [
        {
            id: "sentry.rules.filters.age_comparison.AgeComparisonFilter",
            value: "10",
            time: "minute",
            comparison_type: "older",
        },
        {
            id: "sentry.rules.filters.issue_occurrences.IssueOccurrencesFilter",
            value: "10",
        },
        {
            id: "sentry.rules.filters.assigned_to.AssignedToFilter",
            targetType: "Team",
            targetIdentifier: mainSentryTeam.teamId,
        },
        {
            id: "sentry.rules.filters.latest_release.LatestReleaseFilter",
        },
        {
            id: "sentry.rules.filters.event_attribute.EventAttributeFilter",
            attribute: "message",
            match: "co",
            value: "test",
        },
        {
            id: "sentry.rules.filters.tagged_event.TaggedEventFilter",
            key: "test",
            match: "co",
            value: "test",
        },
        {
            id: "sentry.rules.filters.level.LevelFilter",
            match: "eq",
            level: "50",
        },
    ],
    actions: [
        {
            id: "sentry.mail.actions.NotifyEmailAction",
            targetType: "IssueOwners",
            targetIdentifier: "",
        },
        {
            id: "sentry.mail.actions.NotifyEmailAction",
            targetType: "Team",
            targetIdentifier: mainSentryTeam.teamId,
        },
        {
            id: "sentry.rules.actions.notify_event.NotifyEventAction",
        },
        {
            id: "sentry.integrations.slack.notify_action.SlackNotifyServiceAction",
            channel: "#general",
            workspace: slack.then(slack => slack.internalId),
        },
    ],
});
Copy
import pulumi
import pulumi_sentry as sentry
import pulumiverse_sentry as sentry

# Retrieve a Slack integration
slack = sentry.get_sentry_organization_integration(organization=test["organization"],
    provider_key="slack",
    name="Slack Workspace")
main = sentry.SentryIssueAlert("main",
    organization=main_sentry_project["organization"],
    project=main_sentry_project["id"],
    name="My issue alert",
    action_match="any",
    filter_match="any",
    frequency=30,
    conditions=[
        {
            "id": "sentry.rules.conditions.first_seen_event.FirstSeenEventCondition",
        },
        {
            "id": "sentry.rules.conditions.regression_event.RegressionEventCondition",
        },
        {
            "id": "sentry.rules.conditions.event_frequency.EventFrequencyCondition",
            "value": "100",
            "comparisonType": "count",
            "interval": "1h",
        },
        {
            "id": "sentry.rules.conditions.event_frequency.EventUniqueUserFrequencyCondition",
            "value": "100",
            "comparisonType": "count",
            "interval": "1h",
        },
        {
            "id": "sentry.rules.conditions.event_frequency.EventFrequencyPercentCondition",
            "value": "50.0",
            "comparisonType": "count",
            "interval": "1h",
        },
    ],
    filters=[
        {
            "id": "sentry.rules.filters.age_comparison.AgeComparisonFilter",
            "value": "10",
            "time": "minute",
            "comparison_type": "older",
        },
        {
            "id": "sentry.rules.filters.issue_occurrences.IssueOccurrencesFilter",
            "value": "10",
        },
        {
            "id": "sentry.rules.filters.assigned_to.AssignedToFilter",
            "targetType": "Team",
            "targetIdentifier": main_sentry_team["teamId"],
        },
        {
            "id": "sentry.rules.filters.latest_release.LatestReleaseFilter",
        },
        {
            "id": "sentry.rules.filters.event_attribute.EventAttributeFilter",
            "attribute": "message",
            "match": "co",
            "value": "test",
        },
        {
            "id": "sentry.rules.filters.tagged_event.TaggedEventFilter",
            "key": "test",
            "match": "co",
            "value": "test",
        },
        {
            "id": "sentry.rules.filters.level.LevelFilter",
            "match": "eq",
            "level": "50",
        },
    ],
    actions=[
        {
            "id": "sentry.mail.actions.NotifyEmailAction",
            "targetType": "IssueOwners",
            "targetIdentifier": "",
        },
        {
            "id": "sentry.mail.actions.NotifyEmailAction",
            "targetType": "Team",
            "targetIdentifier": main_sentry_team["teamId"],
        },
        {
            "id": "sentry.rules.actions.notify_event.NotifyEventAction",
        },
        {
            "id": "sentry.integrations.slack.notify_action.SlackNotifyServiceAction",
            "channel": "#general",
            "workspace": slack.internal_id,
        },
    ])
Copy
package main

import (
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
	"github.com/pulumiverse/pulumi-sentry/sdk/go/sentry"
)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		// Retrieve a Slack integration
		slack, err := sentry.GetSentryOrganizationIntegration(ctx, &sentry.GetSentryOrganizationIntegrationArgs{
			Organization: test.Organization,
			ProviderKey:  "slack",
			Name:         "Slack Workspace",
		}, nil)
		if err != nil {
			return err
		}
		_, err = sentry.NewSentryIssueAlert(ctx, "main", &sentry.SentryIssueAlertArgs{
			Organization: pulumi.Any(mainSentryProject.Organization),
			Project:      pulumi.Any(mainSentryProject.Id),
			Name:         pulumi.String("My issue alert"),
			ActionMatch:  pulumi.String("any"),
			FilterMatch:  pulumi.String("any"),
			Frequency:    pulumi.Int(30),
			Conditions: pulumi.StringMapArray{
				pulumi.StringMap{
					"id": pulumi.String("sentry.rules.conditions.first_seen_event.FirstSeenEventCondition"),
				},
				pulumi.StringMap{
					"id": pulumi.String("sentry.rules.conditions.regression_event.RegressionEventCondition"),
				},
				pulumi.StringMap{
					"id":             pulumi.String("sentry.rules.conditions.event_frequency.EventFrequencyCondition"),
					"value":          pulumi.String("100"),
					"comparisonType": pulumi.String("count"),
					"interval":       pulumi.String("1h"),
				},
				pulumi.StringMap{
					"id":             pulumi.String("sentry.rules.conditions.event_frequency.EventUniqueUserFrequencyCondition"),
					"value":          pulumi.String("100"),
					"comparisonType": pulumi.String("count"),
					"interval":       pulumi.String("1h"),
				},
				pulumi.StringMap{
					"id":             pulumi.String("sentry.rules.conditions.event_frequency.EventFrequencyPercentCondition"),
					"value":          pulumi.String("50.0"),
					"comparisonType": pulumi.String("count"),
					"interval":       pulumi.String("1h"),
				},
			},
			Filters: pulumi.StringMapArray{
				pulumi.StringMap{
					"id":              pulumi.String("sentry.rules.filters.age_comparison.AgeComparisonFilter"),
					"value":           pulumi.String("10"),
					"time":            pulumi.String("minute"),
					"comparison_type": pulumi.String("older"),
				},
				pulumi.StringMap{
					"id":    pulumi.String("sentry.rules.filters.issue_occurrences.IssueOccurrencesFilter"),
					"value": pulumi.String("10"),
				},
				pulumi.StringMap{
					"id":               pulumi.String("sentry.rules.filters.assigned_to.AssignedToFilter"),
					"targetType":       pulumi.String("Team"),
					"targetIdentifier": pulumi.Any(mainSentryTeam.TeamId),
				},
				pulumi.StringMap{
					"id": pulumi.String("sentry.rules.filters.latest_release.LatestReleaseFilter"),
				},
				pulumi.StringMap{
					"id":        pulumi.String("sentry.rules.filters.event_attribute.EventAttributeFilter"),
					"attribute": pulumi.String("message"),
					"match":     pulumi.String("co"),
					"value":     pulumi.String("test"),
				},
				pulumi.StringMap{
					"id":    pulumi.String("sentry.rules.filters.tagged_event.TaggedEventFilter"),
					"key":   pulumi.String("test"),
					"match": pulumi.String("co"),
					"value": pulumi.String("test"),
				},
				pulumi.StringMap{
					"id":    pulumi.String("sentry.rules.filters.level.LevelFilter"),
					"match": pulumi.String("eq"),
					"level": pulumi.String("50"),
				},
			},
			Actions: pulumi.StringMapArray{
				pulumi.StringMap{
					"id":               pulumi.String("sentry.mail.actions.NotifyEmailAction"),
					"targetType":       pulumi.String("IssueOwners"),
					"targetIdentifier": pulumi.String(""),
				},
				pulumi.StringMap{
					"id":               pulumi.String("sentry.mail.actions.NotifyEmailAction"),
					"targetType":       pulumi.String("Team"),
					"targetIdentifier": pulumi.Any(mainSentryTeam.TeamId),
				},
				pulumi.StringMap{
					"id": pulumi.String("sentry.rules.actions.notify_event.NotifyEventAction"),
				},
				pulumi.StringMap{
					"id":        pulumi.String("sentry.integrations.slack.notify_action.SlackNotifyServiceAction"),
					"channel":   pulumi.String("#general"),
					"workspace": pulumi.String(slack.InternalId),
				},
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}
Copy
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Sentry = Pulumi.Sentry;
using Sentry = Pulumiverse.Sentry;

return await Deployment.RunAsync(() => 
{
    // Retrieve a Slack integration
    var slack = Sentry.GetSentryOrganizationIntegration.Invoke(new()
    {
        Organization = test.Organization,
        ProviderKey = "slack",
        Name = "Slack Workspace",
    });

    var main = new Sentry.SentryIssueAlert("main", new()
    {
        Organization = mainSentryProject.Organization,
        Project = mainSentryProject.Id,
        Name = "My issue alert",
        ActionMatch = "any",
        FilterMatch = "any",
        Frequency = 30,
        Conditions = new[]
        {
            
            {
                { "id", "sentry.rules.conditions.first_seen_event.FirstSeenEventCondition" },
            },
            
            {
                { "id", "sentry.rules.conditions.regression_event.RegressionEventCondition" },
            },
            
            {
                { "id", "sentry.rules.conditions.event_frequency.EventFrequencyCondition" },
                { "value", "100" },
                { "comparisonType", "count" },
                { "interval", "1h" },
            },
            
            {
                { "id", "sentry.rules.conditions.event_frequency.EventUniqueUserFrequencyCondition" },
                { "value", "100" },
                { "comparisonType", "count" },
                { "interval", "1h" },
            },
            
            {
                { "id", "sentry.rules.conditions.event_frequency.EventFrequencyPercentCondition" },
                { "value", "50.0" },
                { "comparisonType", "count" },
                { "interval", "1h" },
            },
        },
        Filters = new[]
        {
            
            {
                { "id", "sentry.rules.filters.age_comparison.AgeComparisonFilter" },
                { "value", "10" },
                { "time", "minute" },
                { "comparison_type", "older" },
            },
            
            {
                { "id", "sentry.rules.filters.issue_occurrences.IssueOccurrencesFilter" },
                { "value", "10" },
            },
            
            {
                { "id", "sentry.rules.filters.assigned_to.AssignedToFilter" },
                { "targetType", "Team" },
                { "targetIdentifier", mainSentryTeam.TeamId },
            },
            
            {
                { "id", "sentry.rules.filters.latest_release.LatestReleaseFilter" },
            },
            
            {
                { "id", "sentry.rules.filters.event_attribute.EventAttributeFilter" },
                { "attribute", "message" },
                { "match", "co" },
                { "value", "test" },
            },
            
            {
                { "id", "sentry.rules.filters.tagged_event.TaggedEventFilter" },
                { "key", "test" },
                { "match", "co" },
                { "value", "test" },
            },
            
            {
                { "id", "sentry.rules.filters.level.LevelFilter" },
                { "match", "eq" },
                { "level", "50" },
            },
        },
        Actions = new[]
        {
            
            {
                { "id", "sentry.mail.actions.NotifyEmailAction" },
                { "targetType", "IssueOwners" },
                { "targetIdentifier", "" },
            },
            
            {
                { "id", "sentry.mail.actions.NotifyEmailAction" },
                { "targetType", "Team" },
                { "targetIdentifier", mainSentryTeam.TeamId },
            },
            
            {
                { "id", "sentry.rules.actions.notify_event.NotifyEventAction" },
            },
            
            {
                { "id", "sentry.integrations.slack.notify_action.SlackNotifyServiceAction" },
                { "channel", "#general" },
                { "workspace", slack.Apply(getSentryOrganizationIntegrationResult => getSentryOrganizationIntegrationResult.InternalId) },
            },
        },
    });

});
Copy
package generated_program;

import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.sentry.SentryFunctions;
import com.pulumi.sentry.inputs.GetSentryOrganizationIntegrationArgs;
import com.pulumi.sentry.SentryIssueAlert;
import com.pulumi.sentry.SentryIssueAlertArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;

public class App {
    public static void main(String[] args) {
        Pulumi.run(App::stack);
    }

    public static void stack(Context ctx) {
        // Retrieve a Slack integration
        final var slack = SentryFunctions.getSentryOrganizationIntegration(GetSentryOrganizationIntegrationArgs.builder()
            .organization(test.organization())
            .providerKey("slack")
            .name("Slack Workspace")
            .build());

        var main = new SentryIssueAlert("main", SentryIssueAlertArgs.builder()
            .organization(mainSentryProject.organization())
            .project(mainSentryProject.id())
            .name("My issue alert")
            .actionMatch("any")
            .filterMatch("any")
            .frequency(30)
            .conditions(            
                Map.of("id", "sentry.rules.conditions.first_seen_event.FirstSeenEventCondition"),
                Map.of("id", "sentry.rules.conditions.regression_event.RegressionEventCondition"),
                Map.ofEntries(
                    Map.entry("id", "sentry.rules.conditions.event_frequency.EventFrequencyCondition"),
                    Map.entry("value", 100),
                    Map.entry("comparisonType", "count"),
                    Map.entry("interval", "1h")
                ),
                Map.ofEntries(
                    Map.entry("id", "sentry.rules.conditions.event_frequency.EventUniqueUserFrequencyCondition"),
                    Map.entry("value", 100),
                    Map.entry("comparisonType", "count"),
                    Map.entry("interval", "1h")
                ),
                Map.ofEntries(
                    Map.entry("id", "sentry.rules.conditions.event_frequency.EventFrequencyPercentCondition"),
                    Map.entry("value", "50.0"),
                    Map.entry("comparisonType", "count"),
                    Map.entry("interval", "1h")
                ))
            .filters(            
                Map.ofEntries(
                    Map.entry("id", "sentry.rules.filters.age_comparison.AgeComparisonFilter"),
                    Map.entry("value", 10),
                    Map.entry("time", "minute"),
                    Map.entry("comparison_type", "older")
                ),
                Map.ofEntries(
                    Map.entry("id", "sentry.rules.filters.issue_occurrences.IssueOccurrencesFilter"),
                    Map.entry("value", 10)
                ),
                Map.ofEntries(
                    Map.entry("id", "sentry.rules.filters.assigned_to.AssignedToFilter"),
                    Map.entry("targetType", "Team"),
                    Map.entry("targetIdentifier", mainSentryTeam.teamId())
                ),
                Map.of("id", "sentry.rules.filters.latest_release.LatestReleaseFilter"),
                Map.ofEntries(
                    Map.entry("id", "sentry.rules.filters.event_attribute.EventAttributeFilter"),
                    Map.entry("attribute", "message"),
                    Map.entry("match", "co"),
                    Map.entry("value", "test")
                ),
                Map.ofEntries(
                    Map.entry("id", "sentry.rules.filters.tagged_event.TaggedEventFilter"),
                    Map.entry("key", "test"),
                    Map.entry("match", "co"),
                    Map.entry("value", "test")
                ),
                Map.ofEntries(
                    Map.entry("id", "sentry.rules.filters.level.LevelFilter"),
                    Map.entry("match", "eq"),
                    Map.entry("level", "50")
                ))
            .actions(            
                Map.ofEntries(
                    Map.entry("id", "sentry.mail.actions.NotifyEmailAction"),
                    Map.entry("targetType", "IssueOwners"),
                    Map.entry("targetIdentifier", "")
                ),
                Map.ofEntries(
                    Map.entry("id", "sentry.mail.actions.NotifyEmailAction"),
                    Map.entry("targetType", "Team"),
                    Map.entry("targetIdentifier", mainSentryTeam.teamId())
                ),
                Map.of("id", "sentry.rules.actions.notify_event.NotifyEventAction"),
                Map.ofEntries(
                    Map.entry("id", "sentry.integrations.slack.notify_action.SlackNotifyServiceAction"),
                    Map.entry("channel", "#general"),
                    Map.entry("workspace", slack.applyValue(getSentryOrganizationIntegrationResult -> getSentryOrganizationIntegrationResult.internalId()))
                ))
            .build());

    }
}
Copy
resources:
  main:
    type: sentry:SentryIssueAlert
    properties:
      organization: ${mainSentryProject.organization}
      project: ${mainSentryProject.id}
      name: My issue alert
      actionMatch: any
      filterMatch: any
      frequency: 30
      conditions:
        - id: sentry.rules.conditions.first_seen_event.FirstSeenEventCondition
        - id: sentry.rules.conditions.regression_event.RegressionEventCondition
        - id: sentry.rules.conditions.event_frequency.EventFrequencyCondition
          value: 100
          comparisonType: count
          interval: 1h
        - id: sentry.rules.conditions.event_frequency.EventUniqueUserFrequencyCondition
          value: 100
          comparisonType: count
          interval: 1h
        - id: sentry.rules.conditions.event_frequency.EventFrequencyPercentCondition
          value: '50.0'
          comparisonType: count
          interval: 1h
      filters:
        - id: sentry.rules.filters.age_comparison.AgeComparisonFilter
          value: 10
          time: minute
          comparison_type: older
        - id: sentry.rules.filters.issue_occurrences.IssueOccurrencesFilter
          value: 10
        - id: sentry.rules.filters.assigned_to.AssignedToFilter
          targetType: Team
          targetIdentifier: ${mainSentryTeam.teamId}
        - id: sentry.rules.filters.latest_release.LatestReleaseFilter
        - id: sentry.rules.filters.event_attribute.EventAttributeFilter
          attribute: message
          match: co
          value: test
        - id: sentry.rules.filters.tagged_event.TaggedEventFilter
          key: test
          match: co
          value: test
        - id: sentry.rules.filters.level.LevelFilter
          match: eq
          level: '50'
      actions:
        - id: sentry.mail.actions.NotifyEmailAction
          targetType: IssueOwners
          targetIdentifier:
        - id: sentry.mail.actions.NotifyEmailAction
          targetType: Team
          targetIdentifier: ${mainSentryTeam.teamId}
        - id: sentry.rules.actions.notify_event.NotifyEventAction
        - id: sentry.integrations.slack.notify_action.SlackNotifyServiceAction
          channel: '#general'
          workspace: ${slack.internalId}
variables:
  # Retrieve a Slack integration
  slack:
    fn::invoke:
      Function: sentry:getSentryOrganizationIntegration
      Arguments:
        organization: ${test.organization}
        providerKey: slack
        name: Slack Workspace
Copy

Create SentryIssueAlert Resource

Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.

Constructor syntax

new SentryIssueAlert(name: string, args: SentryIssueAlertArgs, opts?: CustomResourceOptions);
@overload
def SentryIssueAlert(resource_name: str,
                     args: SentryIssueAlertArgs,
                     opts: Optional[ResourceOptions] = None)

@overload
def SentryIssueAlert(resource_name: str,
                     opts: Optional[ResourceOptions] = None,
                     action_match: Optional[str] = None,
                     actions: Optional[Sequence[Mapping[str, str]]] = None,
                     conditions: Optional[Sequence[Mapping[str, str]]] = None,
                     filter_match: Optional[str] = None,
                     frequency: Optional[int] = None,
                     organization: Optional[str] = None,
                     project: Optional[str] = None,
                     environment: Optional[str] = None,
                     filters: Optional[Sequence[Mapping[str, str]]] = None,
                     name: Optional[str] = None)
func NewSentryIssueAlert(ctx *Context, name string, args SentryIssueAlertArgs, opts ...ResourceOption) (*SentryIssueAlert, error)
public SentryIssueAlert(string name, SentryIssueAlertArgs args, CustomResourceOptions? opts = null)
public SentryIssueAlert(String name, SentryIssueAlertArgs args)
public SentryIssueAlert(String name, SentryIssueAlertArgs args, CustomResourceOptions options)
type: sentry:SentryIssueAlert
properties: # The arguments to resource properties.
options: # Bag of options to control resource's behavior.

Parameters

name This property is required. string
The unique name of the resource.
args This property is required. SentryIssueAlertArgs
The arguments to resource properties.
opts CustomResourceOptions
Bag of options to control resource's behavior.
resource_name This property is required. str
The unique name of the resource.
args This property is required. SentryIssueAlertArgs
The arguments to resource properties.
opts ResourceOptions
Bag of options to control resource's behavior.
ctx Context
Context object for the current deployment.
name This property is required. string
The unique name of the resource.
args This property is required. SentryIssueAlertArgs
The arguments to resource properties.
opts ResourceOption
Bag of options to control resource's behavior.
name This property is required. string
The unique name of the resource.
args This property is required. SentryIssueAlertArgs
The arguments to resource properties.
opts CustomResourceOptions
Bag of options to control resource's behavior.
name This property is required. String
The unique name of the resource.
args This property is required. SentryIssueAlertArgs
The arguments to resource properties.
options CustomResourceOptions
Bag of options to control resource's behavior.

Constructor example

The following reference example uses placeholder values for all input properties.

var sentryIssueAlertResource = new Sentry.SentryIssueAlert("sentryIssueAlertResource", new()
{
    ActionMatch = "string",
    Actions = new[]
    {
        
        {
            { "string", "string" },
        },
    },
    Conditions = new[]
    {
        
        {
            { "string", "string" },
        },
    },
    FilterMatch = "string",
    Frequency = 0,
    Organization = "string",
    Project = "string",
    Environment = "string",
    Filters = new[]
    {
        
        {
            { "string", "string" },
        },
    },
    Name = "string",
});
Copy
example, err := sentry.NewSentryIssueAlert(ctx, "sentryIssueAlertResource", &sentry.SentryIssueAlertArgs{
	ActionMatch: pulumi.String("string"),
	Actions: pulumi.StringMapArray{
		pulumi.StringMap{
			"string": pulumi.String("string"),
		},
	},
	Conditions: pulumi.StringMapArray{
		pulumi.StringMap{
			"string": pulumi.String("string"),
		},
	},
	FilterMatch:  pulumi.String("string"),
	Frequency:    pulumi.Int(0),
	Organization: pulumi.String("string"),
	Project:      pulumi.String("string"),
	Environment:  pulumi.String("string"),
	Filters: pulumi.StringMapArray{
		pulumi.StringMap{
			"string": pulumi.String("string"),
		},
	},
	Name: pulumi.String("string"),
})
Copy
var sentryIssueAlertResource = new SentryIssueAlert("sentryIssueAlertResource", SentryIssueAlertArgs.builder()
    .actionMatch("string")
    .actions(Map.of("string", "string"))
    .conditions(Map.of("string", "string"))
    .filterMatch("string")
    .frequency(0)
    .organization("string")
    .project("string")
    .environment("string")
    .filters(Map.of("string", "string"))
    .name("string")
    .build());
Copy
sentry_issue_alert_resource = sentry.SentryIssueAlert("sentryIssueAlertResource",
    action_match="string",
    actions=[{
        "string": "string",
    }],
    conditions=[{
        "string": "string",
    }],
    filter_match="string",
    frequency=0,
    organization="string",
    project="string",
    environment="string",
    filters=[{
        "string": "string",
    }],
    name="string")
Copy
const sentryIssueAlertResource = new sentry.SentryIssueAlert("sentryIssueAlertResource", {
    actionMatch: "string",
    actions: [{
        string: "string",
    }],
    conditions: [{
        string: "string",
    }],
    filterMatch: "string",
    frequency: 0,
    organization: "string",
    project: "string",
    environment: "string",
    filters: [{
        string: "string",
    }],
    name: "string",
});
Copy
type: sentry:SentryIssueAlert
properties:
    actionMatch: string
    actions:
        - string: string
    conditions:
        - string: string
    environment: string
    filterMatch: string
    filters:
        - string: string
    frequency: 0
    name: string
    organization: string
    project: string
Copy

SentryIssueAlert Resource Properties

To learn more about resource properties and how to use them, see Inputs and Outputs in the Architecture and Concepts docs.

Inputs

In Python, inputs that are objects can be passed either as argument classes or as dictionary literals.

The SentryIssueAlert resource accepts the following input properties:

ActionMatch This property is required. string
Trigger actions when an event is captured by Sentry and any or all of the specified conditions happen.
Actions This property is required. List<ImmutableDictionary<string, string>>
List of actions.
Conditions This property is required. List<ImmutableDictionary<string, string>>
List of conditions.
FilterMatch This property is required. string
Trigger actions if all, any, or none of the specified filters match.
Frequency This property is required. int
Perform actions at most once every X minutes for this issue. Defaults to 30.
Organization This property is required. string
The slug of the organization the issue alert belongs to.
Project This property is required. string
The slug of the project to create the issue alert for.
Environment string
Perform issue alert in a specific environment.
Filters List<ImmutableDictionary<string, string>>
List of filters.
Name string
The issue alert name.
ActionMatch This property is required. string
Trigger actions when an event is captured by Sentry and any or all of the specified conditions happen.
Actions This property is required. []map[string]string
List of actions.
Conditions This property is required. []map[string]string
List of conditions.
FilterMatch This property is required. string
Trigger actions if all, any, or none of the specified filters match.
Frequency This property is required. int
Perform actions at most once every X minutes for this issue. Defaults to 30.
Organization This property is required. string
The slug of the organization the issue alert belongs to.
Project This property is required. string
The slug of the project to create the issue alert for.
Environment string
Perform issue alert in a specific environment.
Filters []map[string]string
List of filters.
Name string
The issue alert name.
actionMatch This property is required. String
Trigger actions when an event is captured by Sentry and any or all of the specified conditions happen.
actions This property is required. List<Map<String,String>>
List of actions.
conditions This property is required. List<Map<String,String>>
List of conditions.
filterMatch This property is required. String
Trigger actions if all, any, or none of the specified filters match.
frequency This property is required. Integer
Perform actions at most once every X minutes for this issue. Defaults to 30.
organization This property is required. String
The slug of the organization the issue alert belongs to.
project This property is required. String
The slug of the project to create the issue alert for.
environment String
Perform issue alert in a specific environment.
filters List<Map<String,String>>
List of filters.
name String
The issue alert name.
actionMatch This property is required. string
Trigger actions when an event is captured by Sentry and any or all of the specified conditions happen.
actions This property is required. {[key: string]: string}[]
List of actions.
conditions This property is required. {[key: string]: string}[]
List of conditions.
filterMatch This property is required. string
Trigger actions if all, any, or none of the specified filters match.
frequency This property is required. number
Perform actions at most once every X minutes for this issue. Defaults to 30.
organization This property is required. string
The slug of the organization the issue alert belongs to.
project This property is required. string
The slug of the project to create the issue alert for.
environment string
Perform issue alert in a specific environment.
filters {[key: string]: string}[]
List of filters.
name string
The issue alert name.
action_match This property is required. str
Trigger actions when an event is captured by Sentry and any or all of the specified conditions happen.
actions This property is required. Sequence[Mapping[str, str]]
List of actions.
conditions This property is required. Sequence[Mapping[str, str]]
List of conditions.
filter_match This property is required. str
Trigger actions if all, any, or none of the specified filters match.
frequency This property is required. int
Perform actions at most once every X minutes for this issue. Defaults to 30.
organization This property is required. str
The slug of the organization the issue alert belongs to.
project This property is required. str
The slug of the project to create the issue alert for.
environment str
Perform issue alert in a specific environment.
filters Sequence[Mapping[str, str]]
List of filters.
name str
The issue alert name.
actionMatch This property is required. String
Trigger actions when an event is captured by Sentry and any or all of the specified conditions happen.
actions This property is required. List<Map<String>>
List of actions.
conditions This property is required. List<Map<String>>
List of conditions.
filterMatch This property is required. String
Trigger actions if all, any, or none of the specified filters match.
frequency This property is required. Number
Perform actions at most once every X minutes for this issue. Defaults to 30.
organization This property is required. String
The slug of the organization the issue alert belongs to.
project This property is required. String
The slug of the project to create the issue alert for.
environment String
Perform issue alert in a specific environment.
filters List<Map<String>>
List of filters.
name String
The issue alert name.

Outputs

All input properties are implicitly available as output properties. Additionally, the SentryIssueAlert resource produces the following output properties:

Id string
The provider-assigned unique ID for this managed resource.
InternalId string
The internal ID for this issue alert.
Projects List<string>
Use project (singular) instead.

Deprecated: Use project (singular) instead.

Id string
The provider-assigned unique ID for this managed resource.
InternalId string
The internal ID for this issue alert.
Projects []string
Use project (singular) instead.

Deprecated: Use project (singular) instead.

id String
The provider-assigned unique ID for this managed resource.
internalId String
The internal ID for this issue alert.
projects List<String>
Use project (singular) instead.

Deprecated: Use project (singular) instead.

id string
The provider-assigned unique ID for this managed resource.
internalId string
The internal ID for this issue alert.
projects string[]
Use project (singular) instead.

Deprecated: Use project (singular) instead.

id str
The provider-assigned unique ID for this managed resource.
internal_id str
The internal ID for this issue alert.
projects Sequence[str]
Use project (singular) instead.

Deprecated: Use project (singular) instead.

id String
The provider-assigned unique ID for this managed resource.
internalId String
The internal ID for this issue alert.
projects List<String>
Use project (singular) instead.

Deprecated: Use project (singular) instead.

Look up Existing SentryIssueAlert Resource

Get an existing SentryIssueAlert resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

public static get(name: string, id: Input<ID>, state?: SentryIssueAlertState, opts?: CustomResourceOptions): SentryIssueAlert
@staticmethod
def get(resource_name: str,
        id: str,
        opts: Optional[ResourceOptions] = None,
        action_match: Optional[str] = None,
        actions: Optional[Sequence[Mapping[str, str]]] = None,
        conditions: Optional[Sequence[Mapping[str, str]]] = None,
        environment: Optional[str] = None,
        filter_match: Optional[str] = None,
        filters: Optional[Sequence[Mapping[str, str]]] = None,
        frequency: Optional[int] = None,
        internal_id: Optional[str] = None,
        name: Optional[str] = None,
        organization: Optional[str] = None,
        project: Optional[str] = None,
        projects: Optional[Sequence[str]] = None) -> SentryIssueAlert
func GetSentryIssueAlert(ctx *Context, name string, id IDInput, state *SentryIssueAlertState, opts ...ResourceOption) (*SentryIssueAlert, error)
public static SentryIssueAlert Get(string name, Input<string> id, SentryIssueAlertState? state, CustomResourceOptions? opts = null)
public static SentryIssueAlert get(String name, Output<String> id, SentryIssueAlertState state, CustomResourceOptions options)
resources:  _:    type: sentry:SentryIssueAlert    get:      id: ${id}
name This property is required.
The unique name of the resulting resource.
id This property is required.
The unique provider ID of the resource to lookup.
state
Any extra arguments used during the lookup.
opts
A bag of options that control this resource's behavior.
resource_name This property is required.
The unique name of the resulting resource.
id This property is required.
The unique provider ID of the resource to lookup.
name This property is required.
The unique name of the resulting resource.
id This property is required.
The unique provider ID of the resource to lookup.
state
Any extra arguments used during the lookup.
opts
A bag of options that control this resource's behavior.
name This property is required.
The unique name of the resulting resource.
id This property is required.
The unique provider ID of the resource to lookup.
state
Any extra arguments used during the lookup.
opts
A bag of options that control this resource's behavior.
name This property is required.
The unique name of the resulting resource.
id This property is required.
The unique provider ID of the resource to lookup.
state
Any extra arguments used during the lookup.
opts
A bag of options that control this resource's behavior.
The following state arguments are supported:
ActionMatch string
Trigger actions when an event is captured by Sentry and any or all of the specified conditions happen.
Actions List<ImmutableDictionary<string, string>>
List of actions.
Conditions List<ImmutableDictionary<string, string>>
List of conditions.
Environment string
Perform issue alert in a specific environment.
FilterMatch string
Trigger actions if all, any, or none of the specified filters match.
Filters List<ImmutableDictionary<string, string>>
List of filters.
Frequency int
Perform actions at most once every X minutes for this issue. Defaults to 30.
InternalId string
The internal ID for this issue alert.
Name string
The issue alert name.
Organization string
The slug of the organization the issue alert belongs to.
Project string
The slug of the project to create the issue alert for.
Projects List<string>
Use project (singular) instead.

Deprecated: Use project (singular) instead.

ActionMatch string
Trigger actions when an event is captured by Sentry and any or all of the specified conditions happen.
Actions []map[string]string
List of actions.
Conditions []map[string]string
List of conditions.
Environment string
Perform issue alert in a specific environment.
FilterMatch string
Trigger actions if all, any, or none of the specified filters match.
Filters []map[string]string
List of filters.
Frequency int
Perform actions at most once every X minutes for this issue. Defaults to 30.
InternalId string
The internal ID for this issue alert.
Name string
The issue alert name.
Organization string
The slug of the organization the issue alert belongs to.
Project string
The slug of the project to create the issue alert for.
Projects []string
Use project (singular) instead.

Deprecated: Use project (singular) instead.

actionMatch String
Trigger actions when an event is captured by Sentry and any or all of the specified conditions happen.
actions List<Map<String,String>>
List of actions.
conditions List<Map<String,String>>
List of conditions.
environment String
Perform issue alert in a specific environment.
filterMatch String
Trigger actions if all, any, or none of the specified filters match.
filters List<Map<String,String>>
List of filters.
frequency Integer
Perform actions at most once every X minutes for this issue. Defaults to 30.
internalId String
The internal ID for this issue alert.
name String
The issue alert name.
organization String
The slug of the organization the issue alert belongs to.
project String
The slug of the project to create the issue alert for.
projects List<String>
Use project (singular) instead.

Deprecated: Use project (singular) instead.

actionMatch string
Trigger actions when an event is captured by Sentry and any or all of the specified conditions happen.
actions {[key: string]: string}[]
List of actions.
conditions {[key: string]: string}[]
List of conditions.
environment string
Perform issue alert in a specific environment.
filterMatch string
Trigger actions if all, any, or none of the specified filters match.
filters {[key: string]: string}[]
List of filters.
frequency number
Perform actions at most once every X minutes for this issue. Defaults to 30.
internalId string
The internal ID for this issue alert.
name string
The issue alert name.
organization string
The slug of the organization the issue alert belongs to.
project string
The slug of the project to create the issue alert for.
projects string[]
Use project (singular) instead.

Deprecated: Use project (singular) instead.

action_match str
Trigger actions when an event is captured by Sentry and any or all of the specified conditions happen.
actions Sequence[Mapping[str, str]]
List of actions.
conditions Sequence[Mapping[str, str]]
List of conditions.
environment str
Perform issue alert in a specific environment.
filter_match str
Trigger actions if all, any, or none of the specified filters match.
filters Sequence[Mapping[str, str]]
List of filters.
frequency int
Perform actions at most once every X minutes for this issue. Defaults to 30.
internal_id str
The internal ID for this issue alert.
name str
The issue alert name.
organization str
The slug of the organization the issue alert belongs to.
project str
The slug of the project to create the issue alert for.
projects Sequence[str]
Use project (singular) instead.

Deprecated: Use project (singular) instead.

actionMatch String
Trigger actions when an event is captured by Sentry and any or all of the specified conditions happen.
actions List<Map<String>>
List of actions.
conditions List<Map<String>>
List of conditions.
environment String
Perform issue alert in a specific environment.
filterMatch String
Trigger actions if all, any, or none of the specified filters match.
filters List<Map<String>>
List of filters.
frequency Number
Perform actions at most once every X minutes for this issue. Defaults to 30.
internalId String
The internal ID for this issue alert.
name String
The issue alert name.
organization String
The slug of the organization the issue alert belongs to.
project String
The slug of the project to create the issue alert for.
projects List<String>
Use project (singular) instead.

Deprecated: Use project (singular) instead.

Import

import using the organization, project slugs and rule id from the URL:

https://sentry.io/organizations/[org-slug]/alerts/rules/[project-slug]/[rule-id]/details/

$ pulumi import sentry:index/sentryIssueAlert:SentryIssueAlert default org-slug/project-slug/rule-id
Copy

To learn more about importing existing cloud resources, see Importing resources.

Package Details

Repository
sentry pulumiverse/pulumi-sentry
License
Apache-2.0
Notes
This Pulumi package is based on the sentry Terraform Provider.