webhook-interceptor/README.md
2019-12-06 23:20:20 +01:00

1.3 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-deploy"
X-Interceptor-Label: "test-deploy:#aabbcc"
X-Interceptor-Remove-Labels: []string{"test", "deploy"}

Actions

  • /test - add test label and run test pipeline
  • /deploy - add deploy label and run deploy pipeline
  • /test-deploy - add test-deploy label and run test-deploy pipeline

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