Skip to content

[ResponseOps][Connectors] PagerDuty action fails with "Expected object, received string" for customDetails field#253683

Merged
georgianaonoleata1904 merged 4 commits intoelastic:mainfrom
georgianaonoleata1904:pd-custom-details-error
Feb 18, 2026
Merged

[ResponseOps][Connectors] PagerDuty action fails with "Expected object, received string" for customDetails field#253683
georgianaonoleata1904 merged 4 commits intoelastic:mainfrom
georgianaonoleata1904:pd-custom-details-error

Conversation

@georgianaonoleata1904
Copy link
Contributor

@georgianaonoleata1904 georgianaonoleata1904 commented Feb 18, 2026

Closes #253665

Summary

  • The customDetails field was saved as a JSON string by the UI, but the backend schema expected an object, causing validation failures at rule execution time.
  • Wrap customDetailsSchema with Coerced() to automatically parse JSON strings into objects before validation.

Release notes

Fix a bug with PagerDuty where setting the Custom details field will cause rules to fail.

@georgianaonoleata1904 georgianaonoleata1904 self-assigned this Feb 18, 2026
@georgianaonoleata1904 georgianaonoleata1904 requested a review from a team as a code owner February 18, 2026 11:12
@georgianaonoleata1904 georgianaonoleata1904 added release_note:skip Skip the PR/issue when compiling release notes backport:skip This PR does not require backporting Team:ResponseOps Platform ResponseOps team (formerly the Cases and Alerting teams) t// v9.4.0 labels Feb 18, 2026
@elasticmachine
Copy link
Contributor

Pinging @elastic/response-ops (Team:ResponseOps)

@georgianaonoleata1904 georgianaonoleata1904 added backport:version Backport to applied version labels v9.3.1 and removed backport:skip This PR does not require backporting labels Feb 18, 2026
Copy link
Member

@cnasikas cnasikas left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Tested and is working as expected!

@georgianaonoleata1904 georgianaonoleata1904 enabled auto-merge (squash) February 18, 2026 11:39
@georgianaonoleata1904 georgianaonoleata1904 merged commit 2637433 into elastic:main Feb 18, 2026
16 checks passed
@kibanamachine
Copy link
Contributor

Starting backport for target branches: 9.3

https://github.com/elastic/kibana/actions/runs/22140642429

@elasticmachine
Copy link
Contributor

💛 Build succeeded, but was flaky

Failed CI Steps

Test Failures

  • [job] [logs] Jest Tests #9 / open in discover drilldown provides UI to edit config

Metrics [docs]

✅ unchanged

cc @georgianaonoleata1904

kibanamachine pushed a commit to kibanamachine/kibana that referenced this pull request Feb 18, 2026
…t, received string" for customDetails field (elastic#253683)

Closes elastic#253665

## Summary

- The customDetails field was saved as a JSON string by the UI, but the
backend schema expected an object, causing validation failures at rule
execution time.
- Wrap customDetailsSchema with `Coerced()` to automatically parse JSON
strings into objects before validation.

(cherry picked from commit 2637433)
@kibanamachine
Copy link
Contributor

💚 All backports created successfully

Status Branch Result
9.3

Note: Successful backport PRs will be merged automatically after passing CI.

Questions ?

Please refer to the Backport tool documentation

kibanamachine added a commit that referenced this pull request Feb 18, 2026
… object, received string" for customDetails field (#253683) (#253714)

# Backport

This will backport the following commits from `main` to `9.3`:
- [[ResponseOps][Connectors] PagerDuty action fails with "Expected
object, received string" for customDetails field
(#253683)](#253683)

<!--- Backport version: 9.6.6 -->

### Questions ?
Please refer to the [Backport tool
documentation](https://github.com/sorenlouv/backport)

<!--BACKPORT [{"author":{"name":"Georgiana-Andreea
Onoleață","email":"georgiana.onoleata@elastic.co"},"sourceCommit":{"committedDate":"2026-02-18T12:57:02Z","message":"[ResponseOps][Connectors]
PagerDuty action fails with \"Expected object, received string\" for
customDetails field (#253683)\n\nCloses
https://github.com/elastic/kibana/issues/253665\n\n## Summary\n\n- The
customDetails field was saved as a JSON string by the UI, but
the\nbackend schema expected an object, causing validation failures at
rule\nexecution time.\n- Wrap customDetailsSchema with `Coerced()` to
automatically parse JSON\nstrings into objects before
validation.","sha":"2637433885a8edfcca45c5e06610c10e43619fe3","branchLabelMapping":{"^v9.4.0$":"main","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["release_note:skip","Team:ResponseOps","backport:version","v9.4.0","v9.3.1"],"title":"[ResponseOps][Connectors]
PagerDuty action fails with \"Expected object, received string\" for
customDetails
field","number":253683,"url":"https://github.com/elastic/kibana/pull/253683","mergeCommit":{"message":"[ResponseOps][Connectors]
PagerDuty action fails with \"Expected object, received string\" for
customDetails field (#253683)\n\nCloses
https://github.com/elastic/kibana/issues/253665\n\n## Summary\n\n- The
customDetails field was saved as a JSON string by the UI, but
the\nbackend schema expected an object, causing validation failures at
rule\nexecution time.\n- Wrap customDetailsSchema with `Coerced()` to
automatically parse JSON\nstrings into objects before
validation.","sha":"2637433885a8edfcca45c5e06610c10e43619fe3"}},"sourceBranch":"main","suggestedTargetBranches":["9.3"],"targetPullRequestStates":[{"branch":"main","label":"v9.4.0","branchLabelMappingKey":"^v9.4.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/253683","number":253683,"mergeCommit":{"message":"[ResponseOps][Connectors]
PagerDuty action fails with \"Expected object, received string\" for
customDetails field (#253683)\n\nCloses
https://github.com/elastic/kibana/issues/253665\n\n## Summary\n\n- The
customDetails field was saved as a JSON string by the UI, but
the\nbackend schema expected an object, causing validation failures at
rule\nexecution time.\n- Wrap customDetailsSchema with `Coerced()` to
automatically parse JSON\nstrings into objects before
validation.","sha":"2637433885a8edfcca45c5e06610c10e43619fe3"}},{"branch":"9.3","label":"v9.3.1","branchLabelMappingKey":"^v(\\d+).(\\d+).\\d+$","isSourceBranch":false,"state":"NOT_CREATED"}]}]
BACKPORT-->

Co-authored-by: Georgiana-Andreea Onoleață <georgiana.onoleata@elastic.co>
chrisbmar pushed a commit to chrisbmar/kibana that referenced this pull request Feb 19, 2026
…t, received string" for customDetails field (elastic#253683)

Closes elastic#253665

## Summary

- The customDetails field was saved as a JSON string by the UI, but the
backend schema expected an object, causing validation failures at rule
execution time.
- Wrap customDetailsSchema with `Coerced()` to automatically parse JSON
strings into objects before validation.
@cnasikas cnasikas added release_note:fix and removed release_note:skip Skip the PR/issue when compiling release notes labels Feb 19, 2026
ersin-erdal pushed a commit to ersin-erdal/kibana that referenced this pull request Feb 19, 2026
…t, received string" for customDetails field (elastic#253683)

Closes elastic#253665

## Summary

- The customDetails field was saved as a JSON string by the UI, but the
backend schema expected an object, causing validation failures at rule
execution time.
- Wrap customDetailsSchema with `Coerced()` to automatically parse JSON
strings into objects before validation.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

backport:version Backport to applied version labels release_note:fix Team:ResponseOps Platform ResponseOps team (formerly the Cases and Alerting teams) t// v9.3.1 v9.4.0

4 participants