bug: pagerduty_plugin - Updates method for accessing current on-call email #4645
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Issue
The existing
get_oncall_email
method assumes that there is only one associated schedule with an on-call escalation policy. In the event that more than one schedule exists (say, if there is a US and India team) and the second schedule is active, the method will attempt to find the on-call engineer in the first schedule & fail.Resolution
This fix updates the method to iterate over all
escalation_rules
in an attempt to find the on-call engineer. Only after it has iterated over all schedules and not found an engineer will it throw an Exception.Example of multi-schedule API response