In the __init__ method for class OpenUrl in Adaptive Card Actions the variable url is not being set. This results in the card being "malformed" as the Action UrlSubmit element will be missing the url attribute.
I am not entirely sure if I am doing something wrong while instantiating OpenUrl.
I am just calling it like this,
from webexteamssdk.cards.actions import OpenUrl
actions = [
OpenUrl("https://myurl",title="Click Me")
]
And this does not work.
Workaround:
Just use Markdown syntax in a TextBlock element.
TextBlock("[Click Me](https://myurl)")
OR
Create the json body using the Card Designer if this absolutely needs to be in the ActionSet
And if there is any dynamic content, use string replace
Potential Fix??
I was able to sort of "fix" it by
Adding self.url = url in the __init__ method.
Appending "url" to the list being assigned to simple_properties in the super().__init__ call.
Here's an excerpt from file actions.py
class OpenUrl(AdaptiveCardComponent):
"""Open URL Action."""
type = "Action.OpenUrl"
def __init__(self, url, title=None, iconURL=None):
self.title = title
self.iconURL = iconURL
super().__init__(
serializable_properties=[],
simple_properties=['type', 'title', 'iconURL'],
)
Here's what I did to make it work
class OpenUrl(AdaptiveCardComponent):
"""Open URL Action."""
type = "Action.OpenUrl"
def __init__(self, url, title=None, iconURL=None):
self.title = title
self.iconURL = iconURL
# Set variable url
self.url = url
super().__init__(
serializable_properties=[],
# Append string "url" to the list
simple_properties=['url','type', 'title', 'iconURL'],
)
Version: 1.6
The Problem
In the
__init__
method for class OpenUrl in Adaptive Card Actions the variableurl
is not being set. This results in the card being "malformed" as the Action UrlSubmit element will be missing the url attribute.I am not entirely sure if I am doing something wrong while instantiating OpenUrl. I am just calling it like this,
And this does not work.
Workaround:
TextBlock("[Click Me](https://myurl)")
ORPotential Fix??
I was able to sort of "fix" it by
self.url = url
in the__init__
method."url"
to the list being assigned tosimple_properties
in thesuper().__init__
call.Here's an excerpt from file actions.py
Here's what I did to make it work