Refere til variabler i flow noder?

Er det mulig å referere til variabler i teksten til forskjellige noder som Notification, Timeline og Log?

{
  "Id": "dIiELKcfdN341CX",
  "ClassId": "KZvbrurMizxNRpk",
  "Author": "espenh.no",
  "Version": 0,
  "CreatedAt": "2020-03-17T19:43:33.272103224+01:00",
  "UpdatedAt": "2020-03-17T19:57:41.693761204+01:00",
  "Name": "input_variable_to_timeline",
  "Group": "Testing",
  "Description": "",
  "Nodes": [
    {
      "Id": "9",
      "Type": "transform",
      "Label": "Create notification",
      "SuccessTransition": "11",
      "TimeoutTransition": "",
      "ErrorTransition": "",
      "Address": "",
      "Service": "",
      "ServiceInterface": "",
      "Config": {
        "Expression": "",
        "IsRVariableGlobal": false,
        "IsTargetVariableGlobal": false,
        "IsTargetVariableInMemory": false,
        "LVariableName": "",
        "RValue": {
          "Value": 0,
          "ValueType": "int"
        },
        "RVariableName": "",
        "Rtype": "var",
        "TargetVariableName": "pub_timeline",
        "TargetVariableType": "str_map",
        "Template": "{\n      \"message_en\": \"hallway lights are now = {{.Variable}}\",\n      \"message_no\": \"ganglys er nå = {{.Variable}}\",\n      \"sender\": \"flow\"\n     }",
        "TransformType": "template",
        "ValueMapping": [],
        "XPathMapping": []
      },
      "Ui": {
        "nodeType": "",
        "x": 318,
        "y": 469
      }
    },
    {
      "Id": "10",
      "Type": "trigger",
      "Label": "",
      "SuccessTransition": "12",
      "TimeoutTransition": "",
      "ErrorTransition": "",
      "Address": "pt:j1/mt:evt/rt:dev/rn:zw/ad:1/sv:out_lvl_switch/ad:32_1",
      "Service": "out_lvl_switch",
      "ServiceInterface": "evt.lvl.report",
      "Config": {
        "IsValueFilterEnabled": false,
        "LookupServiceNameAndLocation": false,
        "RegisterAsVirtualService": false,
        "Timeout": 0,
        "ValueFilter": {
          "Value": "",
          "ValueType": ""
        },
        "VirtualServiceGroup": "ch_0",
        "VirtualServiceProps": {}
      },
      "Ui": {
        "nodeType": "",
        "x": 259,
        "y": 149
      }
    },
    {
      "Id": "11",
      "Type": "action",
      "Label": "Publish timeline",
      "SuccessTransition": "",
      "TimeoutTransition": "",
      "ErrorTransition": "",
      "Address": "pt:j1/mt:cmd/rt:app/rn:time_owl/ad:1",
      "Service": "time_owl",
      "ServiceInterface": "cmd.timeline.set",
      "Config": {
        "DefaultValue": {
          "Value": {
            "message_en": "--",
            "message_no": "-",
            "sender": "flow"
          },
          "ValueType": "str_map"
        },
        "IsVariableGlobal": false,
        "Props": {},
        "RegisterAsVirtualService": false,
        "VariableName": "pub_timeline",
        "VariableType": "str_map",
        "VirtualServiceGroup": "",
        "VirtualServiceProps": {}
      },
      "Ui": {
        "nodeType": "timeline_action",
        "x": 361,
        "y": 622
      }
    },
    {
      "Id": "12",
      "Type": "set_variable",
      "Label": "",
      "SuccessTransition": "9",
      "TimeoutTransition": "",
      "ErrorTransition": "",
      "Address": "",
      "Service": "",
      "ServiceInterface": "",
      "Config": {
        "DefaultValue": {
          "Value": 0,
          "ValueType": ""
        },
        "Name": "pub_timeline",
        "UpdateGlobal": false,
        "UpdateInputMsg": false
      },
      "Ui": {
        "nodeType": "",
        "x": 287,
        "y": 308
      }
    }
  ],
  "Settings": null,
  "IsDisabled": true,
  "IsDefault": false,
  "ParallelExecution": "parallel"
}

Takk @espen! Jeg får desverre ikke importert flowen pga. feilmelding:
<FlMan> Can't unmarshal imported flow 1.Err :unexpected end of JSON input

Jeg har imidlertidig gjenskapt flowen og forstår nå prinsippet med å bruke Transform til å håndtere min variabel samt lage et format som kan videre konfigurere noder.

Jeg har nå lykkes med å riktig formatere og sende meldinger gjennom Timeline og Notification.

 

Her er noen stikkord hvis andre skulle lure på det samme:

  • Transform Template kan brukes til å referere til din variabel med {{ .Variable }}
  • ‘Left variable’ er din variabel. Resultatet av Transform lagres i en ny variabel (‘Result’ eller ‘TargetVariable’)
    • ‘Result’-variablen være type str_map: "TargetVariableType": "str_map"
  • ‘Template body’ må tilpasses for hvilken node du skal bruke,
  • Sett opp Timeline eller Notification med den nye variabelen fra Transform som input

Template body for Timeline:

    {
      "message_en": "This is my message. Here is my variable: {{ .Variable }}",
      "message_no": "Dette er min melding. Her er min variabel: {{ .Variable }}",
      "sender": "flow"
    }

Template body for Notification:

    {
      "EventName": "custom",
      "MessageContent": "Dette er min melding. Her er min variabel: {{ .Variable }}",
      "SiteId": "AAAAAA-BBBB-CCCC-DDDD-EEEEEE"
    }
1 Like