-
Story
-
Resolution: Done
-
Normal
-
None
-
None
-
2
-
False
-
-
False
-
OSP now have ClusterTriggerBinding support for Bitbucket Server
-
-
-
Pipelines Sprint 228, Pipelines Sprint 229, Pipelines Sprint 230
When testing a POST Webhooks from BitBucket to OCP using the built-in bitbucket-push ClusterTriggerBinding, the following payload fields do not match error is thrown:
{"level":"error","ts":"2022-02-10T09:02:20.826Z","logger":"eventlistener","caller":"sink/sink.go:232","msg":"failed to ApplyEventValuesToParams: failed to replace JSONPath value for param git-revision: $(body.changes[0].ref.displayId): changes is not found","knative.dev/controller":"eventlistener","/triggers-eventid":"cae44871-4fa7-42b5-b4d3-baf4ec9d87b7","/trigger":"","stacktrace":"github.com/tektoncd/triggers/pkg/sink.Sink.processTrigger\n\t/opt/app-root/src/go/src/github.com/tektoncd/triggers/pkg/sink/sink.go:232\ngithub.com/tektoncd/triggers/pkg/sink.Sink.HandleEvent.func1\n\t/opt/app-root/src/go/src/github.com/tektoncd/triggers/pkg/sink/sink.go:127"}
- `bitbucket-push` `ClusterTriggerBindings` yaml definition:
$ oc get ClusterTriggerBindings bitbucket-push -o yaml
apiVersion: triggers.tekton.dev/v1alpha1
kind: ClusterTriggerBinding
metadata:
annotations:
kubectl.kubernetes.io/last-applied-configuration: |
{"apiVersion":"triggers.tekton.dev/v1alpha1","kind":"ClusterTriggerBinding","metadata":{"name":"bitbucket-push","namespace":"openshift-pipelines","ownerReferences":[{"apiVersion":"operator.tekton.dev/v1alpha1","blockOwnerDeletion":true,"controller":true,"kind":"TektonAddon","name":"addon","uid":"c8e2f0e9-f1a2-49b7-8a4f-587b4d9a03af"}]},"spec":{"params":[{"name":"git-revision","value":"$(body.changes[0].ref.displayId)"},{"name":"gitrepo-url","value":"$(body.repository.links.clone[0].href)"},{"name":"git-repo-name","value":"$(body.repository.name)"},{"name":"pusher-name","value":"$(body.actor.name)"}]}}
creationTimestamp: "2022-03-13T22:45:01Z"
generation: 1
name: bitbucket-push
ownerReferences:
- apiVersion: operator.tekton.dev/v1alpha1
blockOwnerDeletion: true
controller: true
kind: TektonAddon
name: addon
uid: c8e2f0e9-f1a2-49b7-8a4f-587b4d9a03af
resourceVersion: "1508585"
uid: 6b407479-1b9f-4772-839f-304e8b79e4fb
spec:
params:
- name: git-revision
value: $(body.changes[0].ref.displayId)
- name: gitrepo-url
value: $(body.repository.links.clone[0].href)
- name: git-repo-name
value: $(body.repository.name)
- name: pusher-name
value: $(body.actor.name)
- Workaround: use a local namespaced `TriggerBinding` instead of the shipped `ClusterTriggerBinding`
apiVersion: triggers.tekton.dev/v1alpha1
kind: TriggerBinding
metadata:
name: bitbucket-server-push
spec:
params:
- name: git-revision
value: '$(body.push.changes[0].new.target.hash)'
- name: gitrepo-url
value: '$(body.repository.links.self[0].href)'
- name: git-repo-name
value: $(body.repository.fullName)
- name: git-branch
value: '$(body.push.changes[0].new.name)'
- name: pusher-name
value: $(body.actor.username)
- Expected results:
Don't receive payload error when using the built-in bitbucket-push ClusterTriggerBinding