github.com/argoproj/argo-events@v1.9.1/examples/sensors/filter-script.yaml (about)

     1  # Event Payload
     2  #
     3  #  {
     4  #    "a": "b",
     5  #    "c": 10,
     6  #    "d": {
     7  #      "e": "z"
     8  #    }
     9  #  }
    10  #
    11  
    12  apiVersion: argoproj.io/v1alpha1
    13  kind: Sensor
    14  metadata:
    15    name: with-script-filter
    16  spec:
    17    dependencies:
    18      - name: test-dep
    19        eventSourceName: webhook
    20        eventName: example
    21        filters:
    22          script: |-
    23            if event.body.a == "b" and event.body.d.e == "z" then return true else return false end
    24    triggers:
    25      - template:
    26          name: workflow
    27          k8s:
    28            operation: create
    29            source:
    30              resource:
    31                apiVersion: argoproj.io/v1alpha1
    32                kind: Workflow
    33                metadata:
    34                  generateName: workflow-
    35                spec:
    36                  entrypoint: whalesay
    37                  arguments:
    38                    parameters:
    39                      - name: message
    40                        # value will get overridden by the event payload
    41                        value: hello world
    42                  templates:
    43                    - name: whalesay
    44                      inputs:
    45                        parameters:
    46                          - name: message
    47                      container:
    48                        image: docker/whalesay:latest
    49                        command: [cowsay]
    50                        args: ["{{inputs.parameters.message}}"]
    51            parameters:
    52              - src:
    53                  dependencyName: test-dep
    54                  dataKey: name
    55                dest: spec.arguments.parameters.0.value