github.com/argoproj/argo-events@v1.9.1/examples/sensors/trigger-with-template.yaml (about)

     1  apiVersion: argoproj.io/v1alpha1
     2  kind: Sensor
     3  metadata:
     4    name: webhook
     5  spec:
     6    template:
     7      serviceAccountName: operate-workflow-sa
     8    dependencies:
     9      - name: test-dep
    10        eventSourceName: webhook
    11        eventName: example
    12    triggers:
    13      - template:
    14          name: templated-workflow-trigger
    15          k8s:
    16            operation: create
    17            source:
    18              resource:
    19                apiVersion: argoproj.io/v1alpha1
    20                kind: Workflow
    21                metadata:
    22                  generateName: webhook-
    23                spec:
    24                  entrypoint: whalesay
    25                  arguments:
    26                    parameters:
    27                    - name: message
    28                    - name: subject
    29                  templates:
    30                  - name: whalesay
    31                    inputs:
    32                      parameters:
    33                      - name: message
    34                      - name: subject
    35                    container:
    36                      image: docker/whalesay:latest
    37                      command: [cowsay]
    38                      args: ["{{inputs.parameters.message}} from {{inputs.parameters.subject}}"]
    39            parameters:
    40              # Retrieve the 'message' key from the payload
    41              - src:
    42                  dependencyName: test-dep
    43                  dataTemplate: "{{ .Input.body.message | title }}"
    44                dest: spec.arguments.parameters.0.value
    45              # Title case the context subject
    46              - src:
    47                  dependencyName: test-dep
    48                  contextTemplate: "{{ .Input.subject | title }}"
    49                dest: spec.arguments.parameters.1.value
    50              # Retrieve the 'name' key from the payload, remove all whitespace and lowercase it.
    51              - src:
    52                  dependencyName: test-dep
    53                  dataTemplate: "{{ .Input.body.name | nospace | lower }}-"
    54                dest: metadata.generateName
    55                operation: append