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

     1  apiVersion: argoproj.io/v1alpha1
     2  kind: Sensor
     3  metadata:
     4    name: github
     5  spec:
     6    template:
     7      serviceAccountName: operate-workflow-sa
     8    dependencies:
     9      - name: test-dep
    10        eventSourceName: github
    11        eventName: example
    12        filters:
    13          data:
    14            # Type of Github event that triggered the delivery: [pull_request, push, issues, label, ...]
    15            # https://docs.github.com/en/developers/webhooks-and-events/webhook-events-and-payloads
    16            - path: headers.X-Github-Event
    17              type: string
    18              value:
    19                - pull_request
    20            - path: body.action
    21              type: string
    22              value:
    23                - opened
    24                - edited
    25                - reopened
    26                - synchronize
    27            - path: body.pull_request.state
    28              type: string
    29              value:
    30                - open
    31            - path: body.pull_request.base.ref
    32              type: string
    33              value:
    34                - master
    35    triggers:
    36      - template:
    37          name: github-workflow-trigger
    38          k8s:
    39            operation: create
    40            source:
    41              resource:
    42                apiVersion: argoproj.io/v1alpha1
    43                kind: Workflow
    44                metadata:
    45                  generateName: github-
    46                spec:
    47                  entrypoint: whalesay
    48                  arguments:
    49                    parameters:
    50                      - name: pr-title
    51                      - name: pr-number
    52                      - name: short-sha
    53                  templates:
    54                    - name: whalesay
    55                      inputs:
    56                        parameters:
    57                          - name: pr-title
    58                          - name: pr-number
    59                          - name: short-sha
    60                      container:
    61                        image: docker/whalesay:latest
    62                        command: [cowsay]
    63                        args: ["{{inputs.parameters.pr-title}}"]
    64            parameters:
    65              - src:
    66                  dependencyName: test-dep
    67                  dataKey: body.pull_request.title
    68                dest: spec.arguments.parameters.0.value
    69              - src:
    70                  dependencyName: test-dep
    71                  dataKey: body.pull_request.number
    72                dest: spec.arguments.parameters.1.value
    73              - src:
    74                  dependencyName: test-dep
    75                  dataTemplate: "{{ .Input.body.pull_request.head.sha | substr 0 7 }}"
    76                dest: spec.arguments.parameters.2.value
    77              # Append pull request number and short sha to dynamically assign workflow name <github-21500-2c065a>
    78              - src:
    79                  dependencyName: test-dep
    80                  dataTemplate: "{{ .Input.body.pull_request.number }}-{{ .Input.body.pull_request.head.sha | substr 0 7 }}"
    81                dest: metadata.name
    82                operation: append
    83        retryStrategy:
    84          steps: 3