you can do almost anything through the api. Even tho its not documented
This is how I added alerts for x amount of projects
$apps = @(“project1”, “Project2”)
$authToken = “CREATE_TokenWith_project:write”
$headers = New-Object "System.Collections.Generic.Dictionary[[String],[String]]"
$headers.Add("Authorization", "Bearer $authToken")
foreach ($app in $apps) {
$app = $app.ToLower()
$location = "https://myurl.com/api/0/projects/nasa.gov/${app}/rules/"
Invoke-WebRequest -Uri $location -Method Post -Body "{`"actionMatch`":`"all`",`"filterMatch`":`"all`",`"actions`":[{`"id`":`"sentry.integrations.slack.notify_action.SlackNotifyServiceAction`",`"workspace`":`"1`",`"channel`":`"#sentry-verbose`"}],`"conditions`":[{`"id`":`"sentry.rules.conditions.first_seen_event.FirstSeenEventCondition`"}],`"filters`":[],`"name`":`"Slack on new issue for ${app}`",`"frequency`":30}" -Headers $headers -ContentType "application/json; charset=utf-8"
}
This post helped me alot:
Hope this can be of some use for someone