-
Notifications
You must be signed in to change notification settings - Fork 1.1k
Description
Describe the bug
I have following workflow:
workflow: id: provider-alias name: Derive providerAlias from Keep providers description: Lookup display_name for alert.providerId via Keep API; fallback to "unknown". disabled: false triggers: - type: alert filters: [] inputs: [] consts: {} owners: [] services: [] steps: - name: get-providers provider: type: http config: "{{ providers.default-http }}" with: url: http://keep.internal/providers method: GET headers: X-API-KEY: "{{ secrets.keepApiKeyReal }}" - name: pick-display-name provider: type: python config: "{{ providers.default-python }}" with: code: | data = {{ steps.get-providers.results}} | tojson pid = '{{alert.providerId}}' name = '' for p in (data.get('providers', []) if isinstance(data, dict) else []): if str(p.get('type', '')) == pid: name = p.get('display_name') or '' break {'display_name': name} actions: - name: set-provider-alias if: "'{{ steps.pick-display-name.results.display_name }}' != ''" provider: type: mock config: "{{ providers.default-mock }}" with: enrich_alert: - key: providerAlias value: "{{ steps.pick-display-name.results.display_name }}" - name: set-unknown if: "'{{ steps.pick-display-name.results.display_name }}' == ''" provider: type: mock config: "{{ providers.default-mock }}" with: enrich_alert: - key: providerAlias value: unknown
And get the following unclear error in workflow execution details:
Got SyntaxError while parsing token 'keep.kb.us-central1.gcp.cloud.es.io', 'validation': 'any_http_url', 'default': None}, 'kibana_port': {'required': False, 'description': 'Kibana Port (...)': invalid syntax (<unknown>, line 1)
To Reproduce
Steps to reproduce the behavior:
- Create a the workflow
- Try to execute it on an alert
- Get the unclear error message
Expected behavior
A clear error what the problem with the python code is.