77 lines
1.3 KiB
Markdown
77 lines
1.3 KiB
Markdown
# 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: "/test-deploy"
|
|
X-Interceptor-Comment-Action: []string{"created"}
|
|
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
|
|
```
|