Fix invalid adaptive card body for Webex sink #1328
Merged
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.
This PR fixes an issue with the currently used adaptive card body for the Webex sink. I installed the latest Robusta version 0.10.30 in a test environment of mine and noticed an issue once I configured a Webex sink, specifically that the notification messages only show up properly in the web client for Cisco Webex. When attempting to view the messages in the desktop clients (Windows / macOS), the app only showed the placeholder text message (
.
) without any other data.Screenshot from Webex Web:
Screenshot from Webex Desktop (macOS):
So I started analysing this issue by dumping the adaptive card data into a file and messing around with it, until I discovered that the sent payload is violating the official Adaptive Cards v1.2 spec as the property
wrap
is set as a string with a boolean inside, instead of an actual boolean. So the JSON body should contain"wrap": true
, not"wrap": "true"
like it does today.While the Webex web client still properly displays such semi-broken cards, the desktop client straight up refuses without any useful information. Simply switching out the couple lines of code to pass
True
instead of"true"
fully fixes the issue on both platforms.