github.com/argoproj/argo-events@v1.9.1/examples/sensors/filter-with-expressions.yaml (about) 1 # Event Payload 2 # 3 # { 4 # "a": "b", 5 # "a-longer-name": 10, 6 # "nested": { 7 # "path": { 8 # "can-get": { 9 # "longer": false 10 # } 11 # } 12 # } 13 # } 14 # 15 16 apiVersion: argoproj.io/v1alpha1 17 kind: Sensor 18 metadata: 19 name: with-expression-filters 20 spec: 21 dependencies: 22 - name: test-dep 23 eventSourceName: webhook 24 eventName: example 25 filters: 26 # If event payload passes ALL following expr filters, the event is considered a valid event. 27 exprs: # result: EVENT PASS 28 - expr: a == "b" || c == 10 # true 29 # In 'fields', 'name' works as a small alias used inside 'expr' above, 30 # while 'path' refers to a potentially-long JSON path in the payload. 31 fields: 32 - name: a 33 path: a 34 - name: c 35 path: a-longer-name 36 - expr: e == false # true 37 fields: 38 - name: e 39 path: nested.path.can-get.longer 40 triggers: 41 - template: 42 name: workflow 43 k8s: 44 operation: create 45 source: 46 resource: 47 apiVersion: argoproj.io/v1alpha1 48 kind: Workflow 49 metadata: 50 generateName: expr-workflow- 51 spec: 52 entrypoint: whalesay 53 arguments: 54 parameters: 55 - name: message 56 # value will get overridden by the event payload 57 value: hello world 58 templates: 59 - name: whalesay 60 inputs: 61 parameters: 62 - name: message 63 container: 64 image: docker/whalesay:latest 65 command: [cowsay] 66 args: ["{{inputs.parameters.message}}"] 67 parameters: 68 - src: 69 dependencyName: test-dep 70 dataKey: name 71 dest: spec.arguments.parameters.0.value