webhook-interceptor/README.md
2019-12-04 17:42:30 +01:00

1.2 KiB

webhook-interceptor

The Webhook Interceptor checks for specific conditions when a webhook is received.

This way we can trigger cleanups when the PR is closed.

HTTP Headers

Push Event

X-Interceptor-Push-Ref: []string{"refs/heads/master"}

Response Headers:

Commit: <Head Commit Hash>

Pull-Request Event

X-Interceptor-Pr-Action: []string{"opened", "reopened", "synchronize", "synchronized"}

Response Headers:

Issue: <Pull-Request ID>
Commit: <Pull-Request Head Commit Hash>

Issue Comment Event

X-Interceptor-Comment-Action: "/test"

Actions

TBD:

  • /label <name> - add a label <name> to the pull request
  • /test - run tests pipeline (requires test label)
  • /deploy - deploy pull request in preview environment (requires deploy label)

Response Headers:

Issue: <Pull-Request ID>
Commit: <Pull-Request Head Commit Hash>

Build and run

Create git authentication secret:

cat <<EOF>secret.yaml
apiVersion: v1
kind: Secret
metadata:
  name: git-auth
  namespace: webhook-interceptor
type: Opaque
stringData:
  github.com: "<username>:<password>"
EOF
echo KO_DOCKER_REPO='gcr.io/my-gcloud-project-name' >env.txt

./build.sh