- Add heartbeat monitoring options to alert source resource (
interval,grace_period_seconds,failure_threshold)
- Add support for
delaynodes on escalation paths
- Add
alert_events_urlto alert source resource and data source
- Add
incident_maintenance_windowresources to create maintenance windows
- Add support for
repeat_configon escalation paths
- Add support for
emojion alert attributes
- Add auto_resolve_incident_alerts and auto_resolve_timeout_minutes to alert source provider
- Added support for
merge_strategyon alert attributes
- Add support for
message_templateon alert routes
- Add plan-time validation to the
branchesoperations inexpressions
- Fix error when workflow steps are upgraded
- Fixes an issue where you couldn't destroy catalog entries where the type was managed and you were only managing a subset of its attributes
- Fixes an issue where
incident_template.severitywas being required, when it's actually optional
- Add support for
owning_team_idsfor alert sources and alert routes
- Fix
schema_onlydrift when catalog type attribute mode changes
- Add support for private alert sources
- Fix handling of empty
external_idin catalog entries
- Add "include_private_escalations" option to workflows
- Add "incident_escalation_path" data source for getting escalation paths by id or name
- Revert
expressionsto use a set type. There order isn't consistent when coming back from the server.
- Improve terraform plan performance by using a list type rather than set for
conditions,condition_groupsandexpressions. This may cause a one-time ordering changes in plans, this is expected and will resolve after applying.
- Improve terraform plan performance by using a list type rather than set for
array_values. This may cause a one-time ordering changes in plans, this is expected and will resolve after applying. - Add support for
auto_relate_grouped_alertsfor Alert Routes
- Performance improvement:
incident_catalog_entriesnow uses bulk update API to batch updates in groups of 100, significantly reducing API calls for large catalog syncs
- Automatically remove resources from Terraform state if they're not found remotely (contribution from @maxtacu)
- We will now allow you to use dynamic variables for
working_intervalsinincident_schedule.
- Handle 404s when an alert attribute has been deleted outside of Terraform (contribution from @maxtacu)
- Fix rate limiting by adding missing unit to backoff
- Add error logging for panics
- Add debug logging for outbound HTTP requests
- Fixed a bug where catalog type attributes weren't defaulting to being marked as managed via Terraform, unless explicitly marked. You may see a change in the state of schema_only in your next plan if you hadn't set it previously.
- Fix issue with HTML-like characters (e.g.
>) in JSON engine values being incorrectly encoded - Clarify that
source_repo_urlis required for catalog types in documentation - Update dependencies to latest versions
- Support for custom HTTP alert source configuration
- Allow configuration of
ack_modefor escalation paths - Improve description for
use_name_as_identifierfield in catalog types to be clearer - Improve escalation path resource description to be more focused
- Fix
incident_catalog_typeto be able to better handle undefined or empty category lists - Expose
incident_catalog_entriesin the documentation - No longer escape HTML characters in engine JSON strings
incident_alert_attributenow has an optionalrequiredproperty. Set this to true for attributes which you expect to be present on all alerts.
- Add
incident_catalog_entriesdata source to get catalog entries for a specific catalog type. This is useful for building up a list of catalog entries which you might be managing via catalog-importer.
- Enforce consistent ordering of keys in engine literal values which are JSON objects.
- Made
handoversonincident_schedule.config.rotations.*required, as it was always required by the API, but was not marked as such in the provider. - Switch
runs_on_incident_modeson workflow resources to be a set and not a list, so it's not sensitive to ordering. - Add
incident_scheduledata source for retrieving existing schedules by ID or name.
- Improve documentation to reflect potential values of enumerated values.
- Improve example for
incident_alert_routedocumentation.
- Update the documentation for
incident_alert_source,incident_alert_route,incident_escalation_pathandincident_scheduleto reference the 'Export' flow in the dashboard - Adds
incident_alert_sourcesas a plural data source, to retrieve a list of your alert sources
incident_schedule_resourcenow uses sets for rotations as the ordering of them does not matter.- Alert sources and alert routes created by Terraform or imported to Terraform will be tagged as such and won't be editable in the incident.io dashboard.
- Support up to 3 levels of branch nesting on escalation paths
- Improve the documentation for
team_idsinincident_escalation_path incident_alert_sourcesupports dynamic values for all attributes - for example initialising attributes from local variables.
- Improve the documentation for
channel_configinincident_alert_route - Fix a bug where empty slices of
team_idswould be sent to the API asnull - Fix a bug where empty slices of
managed_attributeswould mean we mark every attribute as managed in Terraform, whereas it should mean every attribute is managed in the dashboard.
- Add
grouping_window_secondsto alert route incident config. This is a required field that was being defaulted to 0, meaning any alert route created through terraform ended up with grouping disabled. - Fix a bug where custom fields would show a diff when specified in a different order to when the custom field itself was created. As ordering does not matter, this now uses a set rather than a list.
- Make
incident_templaterequired on alert routes. This was previously marked optional, but our provider would crash if it was not supplied. This is also required by our API, so we have made it required in the provider.
Note that we've decided to release this as a minor version despite the breaking change of
grouping_window_seconds being required. This is because the field was previously
defaulted to 0, and so any alert route created through terraform would have had
grouping disabled. As such, we consider this a bug fix and encourage all users to upgrade.
If you want to leave grouping disabled, set grouping_window_seconds to 0.
- Add validation for RFC3339 timestamp format in
handover_start_atandeffective_fromfields to prevent invalid dates incident_alert_routesupports dynamic values for all attributes - for example enablingchannel_configusing a variable.- Fixed a bug where the plan for
incident_alert_routewould always show a diff forincident_template.name.array_valueandincident_template.summary.array_value.
- Allow
terraform importforincident_catalog_type_attribute - Add
terraform importsupport to the documentation
- Adds
incident_alert_routeresource for managing alert routes.
- In the catalog entry resource, we now guard against cases where the type of
attribute_valuesis inferred to be unknown during the validation of managed attributes.
When loading workflows, ensure that any additional parameter bindings are
skipped, so that apply does not see these as differences.
The incident_schedule and incident_escalation_path resources now support a
team_ids attribute to associate those resources with a team.
The incident_schedule and incident_escalation_path resources now support a
team_ids attribute to associate those resources with a team.
Temporarily remove team_ids support.
The incident_schedule and incident_escalation_path resources now support a
team_ids attribute to associate those resources with a team.
incident_catalog_type's source_repo_url attribute is now required.
This prevents the catalog type from being edited manually, and ensures there is a link from the incident.io dashboard to the configuration that defines the catalog type.
Sometimes you want to define most of a catalog entry's attributes in Terraform, but allow other attributes to be edited in the incident.io dashboard.
This is now possible with schema-only attributes:
-
add
schema_only = trueto theincident_catalog_type_attributeresource to mark the attribute as schema-only: it will be created by Terraform, but values can be edited in the incident.io dashboard. -
add
managed_attributesto theincident_catalog_entryorincident_catalog_entries, and specify only the attributes that should be managed in Terraform.By excluding schema-only attributes from this list, changes to those attribute values made in the dashboard will not cause unnecessary diffs when you next run
terraform plan.
There are now data sources for incident_catalog_type_attribute and incident_catalog_entry.
These allow you to look up an attribute by its catalog type ID and name, and an entry by its catalog type ID and name, external ID, or alias.
This is useful for:
- managing entries of a catalog type across multiple modules: you can use the
incident_catalog_type_attributedata source to get the ID of attributes, without needing to pass the ID between modules. - using data from your catalog elsewhere in Terraform: for example attributes of
your
Teamcatalog type.
- Fixed a panic when using an
incident_escalation_pathwith anotify_channelnode that has atime_to_ack_interval_conditionset.
- The order of attributes set within an alert source's
templateblock is now ignored when planning and applying changes.
- Mark the 'email_address' and 'secret_token' fields on incident_alert_source as remaining the same for the lifetime of an alert source, to avoid misleading plans.
incident_custom_fieldresource now supports catalog-powered custom fields, including controlling which attribute is used to group options, add helptext, and filter the available options by another field's value.incident_custom_fielddata source exposes extra attributes for catalog-powered custom fields.
incident_alert_attributeresource and data source, for managing your alert attributesincident_alert_sourceresource for managing your alert sources- A number of dependencies have been updated.
- Escalation paths created by Terraform or imported to Terraform will be tagged as such and won't be editable in the incident.io dashboard.
- Updates the documentation for custom fields
- Updates to documentation
- Adds support for adding slack_channel nodes to escalation paths
- Ensures that client operations will fail with errors when an endpoint would otherwise have returned 204 no content for a successful operation.
- Fixes an issue where the provider might fail to import Terraform state for a schedule with working hours applied
To upgrade to v4.0.0, if you've got on-call schedules with working hours specified in your Terraform code, you'll need to rename the following properties of your working_intervals:
day->weekdaystart->start_timeend->end_time
- Add
external_idtoresource_catalog_entry
- Fix another issue with condition group arrays that was producing inconsistent apply results
- Fix a bug with the serialisation of empty condition group arrays that caused validation errors
- Support workflow shortforms for triggering manual workflows.
- Fix regression from 3.8.6 that impacted creating and updating schedules with working intervals
- Migrate to a new internal client, no functional changes.
- Add support for the
incident_incident_roledata source.
- Fixed an issue (#99) where the provider crashed if a round robin config with no minutes was provided
- Add support for
holidays_public_configon theincident_scheduleresource
- Retry on 429 responses from the API, respecting the Retry-After header
- Fixed incorrect
produced an unexpected new valueerrors when configuring escalation paths
- Improved handling of HTTP errors
- Add support for
schedule_modeon theincident_escalation_pathresource target parameter - Add support for
round_robin_configon theincident_escalation_pathresource level parameter
- Add support for path attributes on the
incident_catalog_type_attributeresource - Add support for categories on the
incident_catalog_typeresource
incident_escalation_pathfor configuring escalation paths.
- data sources for
incident_custom_fieldandincident_custom_field_option, contributed by @mdb
- data source for
incident_catalog_typeto allow for lookups of catalog types
- Docs update to include examples of
incident_workflowresource
- Add support for workflows using the
incident_workflowresource
- Docs update to include examples of
incident_scheduleresource
- Adds supports for on-call schedules using the
incident_scheduleresource - Adds support for user looksups using the
incident_userdata source
- Add support for setting the source_repo_url on catalog types
- Fix a bug where we'd panic if we received a specific kind of error when updating catalog entries
- Add support for backlink attributes on catalog types
- Marks type_name as requiring a replace, as it is immutable
- Updates our docs so they are a lot clearer on how to connect attributes
- Handle 404 for all resources without panicking, and remove resource from state
- Add support for setting the
type_nameof a catalog type. This allows other catalog attributes to refer to this type by a friendly name, rather than the randomly generated ID
- Remove SemanticType from catalog types (This has never been used by our application, so we've decided to remove it from the provider as we have no plans to use it.)
- Move to CustomFieldsV2 API as we are deprecating a number of fields from the CustomFieldsV1 API (required, show_before_closure, show_before_creation, show_before_update, show_in_announcement_post). These will now be controlled via 'Incident Forms' which (for now) will only be available via the web dashboard. This will enable users to have much more control over the way they configure their incident forms.
- Move to IncidentRolesV2 API as we are deprecating the
requiredfield from the IncidentRolesV1 API. This will now be controlled via 'Incident Forms' which (for now) will only be available via the web dashboard. This will enable users to have much more control over the way they configure their incident forms.
To upgrade to v3, you will need to remove the deprecated fields from any custom_field and incident_role resources.
You'll also need to remove any references to semantic_type
- Handle omission of empty list or null array_value in catalog entries (#36)
- Update client to latest API schema
- Remove any disclaimers about the catalog being in beta ahead of launch
- Rename
aliasin catalog_entries and catalog_entry toaliasesin support for multiple alias entries - Handle catalog types having been removed without panicking
- Handle 404 for catalog types without panicking
- Fix bug in framework patch that meant we never defaulted our log level
- Pin the correct dependency to include our logging patch
- incident_catalog_entries for large entry counts
- Fix bug around omitted empty arrays
- Support alias and rank for catalog_entry
- Technically new feature, this represents attribute values on catalog entries as sets to avoid unnecessary diffs when reordering the attributes
- Adds support for catalog types, attributes and entries
- Bugfix for terraform provider variables
- Fix API key setting via provider attribute
- Provide user-agent of terraform-provider-incident/version for all requests
- Fix creating severities without providing a rank
- Severity rank is computed (#2)
Initial release, including support for:
- Custom fields (
incident_custom_field) - Custom field options (
incident_custom_field_option) - Incident roles (
incident_incident_role) - Severities (
incident_severity) - Statuses (
incident_status)