Releases: tektoncd/triggers
Tekton Triggers v0.8.1
-Docs @ v0.8.1
-Examples @ v0.8.1
Changes
Fixes 🐛
- Handle validation, defaults and working behavior for Replicas (#751)
If provided replicas value as 0 as part of EventListener spec then a default value 1 will be set by webhook.
- Merge annotations before propagation (#753)
Triggers no longer overwrites annotations set on the underlying deployment and service objects.
- Add a Idle Timeout for EventListener sink (#755)
EventListeners close idle connections after 120 seconds.
Docs 📖
- Add release links to versioned docs for v0.8.0 (#749)
How to upgrade from v0.8.0 :up_arrow:
kubectl apply -f https://storage.googleapis.com/tekton-releases/triggers/previous/v0.8.1/release.yaml
Thanks
Thanks to these contributors who contributed to v0.8.1!
- ❤️ @dibyom
- ❤️ @savitaashture
Extra shout-out for awesome release notes:
Tekton Triggers v0.8.0
-Docs @ v0.8.0
-Examples @ v0.8.0
Changes
Features
- Propagate annotations from Eventlistener to service and deployment (#712)
This PR adds feasibility to propagate annotations from the EventListener to deployment and services.
If there are any custom annotations on services/deployment, then it needs to be added to EventListener annotations, so that those will be propagated otherwise they will be overwritten.
- Add validation for replicas (#717)
This PR handles proper validation for replicas which are provided as part of EventListener spec.
Produce below error if provided replica is invalid
Error from server (BadRequest): error when creating "STDIN": admission webhook "validation.webhook.triggers.tekton.dev"
- Add TriggerCRD object Ref to Eventlistener Spec (#726)
This PR helps to specify TriggerCRD object inside the Eventlistener spec as a reference using triggerRef field,
So this way user can create TriggerCRD separately and bind it inside Eventlistener spec.
- Migrate reconcilers to use gen reconcilers (#733)
PR uses genreconciler from knative/pkg to reduce boilerplate code which was required for writing reconciler.
Also triggers reconciler now emits K8s events on reconciliation failures.
- Add validation and default for TriggerCRD object (#738)
This PR adds the validation and defaults around TriggerCRD.
Backwards incompatible changes 🚨
In current release:
-
Switch trigger sa based auth to impersonate (#705)
-
Switch trigger sa ref from global to namespace scoped (#704)
The optional EventListenerTrigger based level of authentication for creating Tekton object has had its ServiceAccount reference changed from an ObjectReference to a string ServiceAccountName, effectively enforcing that the ServiceAccount be in the same namespace as the EventListenerTrigger.
Fixes 🐛
-
Fix Incorrect number of response for Forbidden error (#673)
-
Use Kaniko instead of img in the tutorial to fix permission issue (#701)
-
Cleanup Reconciler Tests in order to pick up Genreconciler updates (#706)
-
Fix update deployment when there is a change in replicas (#715)
-
Add basic syntactical parsing of CEL filters and expressions (#745)
Perform simple syntax checking of CEL filter and overlays in the Webhook validator, perfunctory syntax validation of the expressions in the interceptor but it won't detect logical errors (expressions that rely on JSON bodies).
Misc 🔨
Adds ko:// scheme to images used by ko (dev only)
This is an experimental feature and its a part of creating CLI for TriggerRun. It contains the parts that add an interceptor to processTriggerSpec, updates readHTTP to print out resources, and trigger function to run Trigger CLI.
-
Fix URL in Release Cheat Sheet (#696)
-
Change tekton.dev to triggers.tekton.dev for e2e Tests (#702)
-
Add createResource in TriggerRun CLI (#708)
This is also an experimental feature for TriggerRun CLI
-
Add khrm@ as an OWNER (#710) :heart"
-
Mark some command tests as end-to-end (#719)
-
Use another NodeSelector value in EventListener tests (#720)
This change helps to run e2e on non amd64 architecture (s390x, ppc64le, etc).
- Add TriggerCRD object to Known Type for schema (#732)
Change Eventlistener Trigger Binding and Trigger Template type to TriggerSpec (#740)
Docs 📖
-
Fix release cheat sheet doc (#693)
-
Add namespace to the commands in Nginx ingress doc (#698)
-
Add links to versioned docs for v0.7.0 (#703)
-
Update eventlistener doc to include eventlistener responsibility (#721)
Added information about the responsibility of Eventlistener.
-
Update README for Bitbucket example (#724)
-
Update triggertemplate doc and example to use tt.params (#725)
-
Clarify Bitbucket and Github HMAC generation instruction in example (#728)
-
Updates to the happy path readme(s) (#730)
-
Remove vendor specific cluster setup instructions (#739)
-
Update link to happy path (#742)
-
Update pull request template for release-note (#743)
How to upgrade from v0.7.0 :up_arrow:
kubectl apply -f https://storage.googleapis.com/tekton-releases/triggers/previous/v0.8.0/release.yaml
NOTE: Due to #750, you will have to manually add replicas: 1 to your EL spec before applying the upgrade
Thanks
Thanks to these contributors who contributed to v0.8.0!
- ❤️ @imjasonh
- ❤️ @NavidZ
- ❤️ @NissesSenap
- ❤️ @barthy1
- ❤️ @bigkevmcd
- ❤️ @danielhelfand
- ❤️ @dibyom
- ❤️ @dorismeixing
- ❤️ @gabemontero
- ❤️ @jjasghar
- ❤️ @khrm
- ❤️ @piyush-garg
- ❤️ @popcor255
- ❤️ @savitaashture
- ❤️ @vdemeester
Extra shout-out for awesome release notes:
😍 @savitaashture
😍 @piyush-garg
😍 @gabemontero
😍 @dibyom
😍 @khrm
😍 @bigkevmcd
Tekton Triggers v0.7.0
Changes
Features
- Add CEL function to parse YAML (#636)
This PR will add a CEL function named parseYAML that can parse a YAML string into a map of strings to dynamic values
Syntax: .parseYAML() -> map<string, dyn>
- Expose the incoming request URL to CEL expressions (#647)
This adds a requestURL key to the CEL expression context.
For example, requestURL.parseURL().path would get the path of the incoming request URL.
- Improve the error from the context evaluation (#646)
Improve the error messages around parsing CEL expressions.
This improves the granularity of the error messages that are returned by evaluating expressions.
It also improves the error message when parsing the hook body when creating the evaluation environment.
- Support for marshaling other types in CEL (#668)
This adds support for marshaling bool values, and maps if they're used as the
values of expressions in a CEL overlay.
- Add nodeSelector and replicas to Eventlistener (#625)
Add nodeSelector and replicas feature to eventListener. With this, user could schedule eventListener pod to the node with
specific label. Also, if needed, user could specify the number of replicas in yaml file.
- Provide the incoming EventListener URL to the Webhook Interceptor (#669)
Webhook Interceptors can parse the EventListener-Request-URL if they want to
extract parameters from the original request URL being handled by the
EventListener.
Breaking Changes 🚨
- Remove deprecated $(params) (#690)
This is a breaking change as this PR remove complete support of$(params) and moved to $ (tt.params) in order to avoid confusion between resourcetemplates and triggertemplate params
Fixes 🐛
- Fix getting-started triggers (#642)
The EventListener was referring to the Binding via name instead of ref. Also, run the getting-started
examples as part of the e2e YAML tests. While this won't catch all issues with the examples, it should
catch obvious syntax issues like this one.
- Pass url through (#657)
Fix a bug in the sink where is not passing the URL through to the incoming requests.
- Fix install links for nginx ingress for GKE (#685)
- Fix typo in README.md of getting started (#688)
- Fix triggertemplate validation to validate missing spec field (#691)
- Fix Spelling Mistake in TestCase (683)
Misc 🔨
- Change token to secret in gitlab example (#659)
- Fix License copyright year (#655)
- Use sets.NewString instead of map[string]struct{} (#663)
- Update to pipeline knative 0.15 (#661)
- Update tektoncd/pipeline to v0.14.2 (#684)
- Update golang.org/x/text to v0.3.3 (#674)
Docs 📖
- Add cel filter for pull request actions in github example (#637)
- Update docs and examples to use ref instead of name for bindings (#645)
- Add EventListener Response in the Doc (#664)
- Replace old Release docs in favor of a cheat sheet (#670)
- Remove unused Ref from EventListenerTrigger (#677)
- Prevent double-logging of interceptor errors (#689)
How to upgrade from v0.6.1 :up_arrow:
- Change any
$(params) to $ (tt.params) in TriggerTemplate - Install Triggers. One liner:
kubectl apply -f https://storage.googleapis.com/tekton-releases/triggers/previous/v0.7.0/release.yaml
Thanks
Thanks to these contributors who contributed to v0.7.0!
- ❤️ @GwonsooLee
- ❤️ @bigkevmcd
- ❤️ @chetan-rns
- ❤️ @dibyom
- ❤️ @dlorenc
- ❤️ @dorismeixing
- ❤️ @du2016
- ❤️ @hnts
- ❤️ @khrm
- ❤️ @ljupchokotev
- ❤️ @savitaashture
- ❤️ @vdemeester
- ❤️ @wlynch
Extra shout-out for awesome release notes:
- 😍 savitaashture
- 😍 bigkevmcd
- 😍 chetan-rns
- 😍 GwonsooLee
Tekton Triggers v0.6.1
-Docs @ v0.6.1
-Examples @ v0.6.1
Changes
Fixes 🐛
- Fix issue with list results. (#652)
Fix bug marshaling list values from a CEL expression, which was causing panics.
- Fix the declarations for compareSecret. (#658)
The CEL function compareSecret now returns a boolean value, which makes it work in multiple logical comparisons in a filter.
- Ensure that the JSON matches. (#666)
The marshaled JSON output is flaky, this ensures that it matches after parsing.
Misc 🔨
- [Cherry-pick] Port CEL fixes for release v0.6.1 (#665)
How to upgrade from v0.6.0 :up_arrow:
kubectl apply -f https://storage.googleapis.com/tekton-releases/triggers/previous/v0.6.1/release.yaml
Thanks
Thanks to these contributors who contributed to v0.6.1!
- ❤️ @bigkevmcd
Tekton Triggers v0.6.0
-Docs @ v0.6.0
-Examples @ v0.6.0
Changes
Features
-
Add URL parsing to CEL expressions. (#591)
This adds a new function
parseURL
to the CEL expression library.
This will act on a string, and parse it into a map which can be accessed from the remainder of the expression.
For example, 'https://example.com/testing#test'.parseURL().fragment == 'test' -
Add BitBucket Interceptor with examples and README (#578)
Adds a new core interceptor for webhooks from Bitbuckert. Check out the docs and examples for more information
-
Add extra columns for EventListeners (#614)
EventListeners now display the status.address.url and Available status.Condition as additional fields when listed with kubectl get
-
Modify spec params to avoid confusion between resourcetemplates and triggertemplate params (#589)
Variable interpolation support in TriggerTemplate now uses the form $(tt.params.<paramName>)
instead of $(params.<paramName>)
in order to reduce confusion with Pipeline variable interpolation syntax. To maintain backwards compatibility, the $(params.<paramName>)
syntax continues to be supported but will be removed in a future release. Users are advised to start using $(tt.params)
in their TriggerTemplates. See #589 for more information and examples.
-
Add tolerations to eventlistener (#597)
Adds a
podTemplate.tolerations
field to the EventListener spec that allows users to customize the EventListener Pod.
See the docs for details.
Deprecation Notices 🚨
-
Variable interpolation in TriggerTemplates using
$(params)
has been deprecated in favor of using$(tt.params)
Variable interpolation support in TriggerTemplate now uses the form
$(tt.params.<paramName>)
instead of$(params.<paramName>)
in order to reduce confusion with Pipeline variable interpolation syntax. To maintain backwards compatibility, the$(params.<paramName>)
syntax continues to be supported but will be removed in a future release. Users are advised to start using$(tt.params)
in their TriggerTemplates. See #589 for more information and examples.
Backwards incompatible changes 🚨
In current release:
-
Triggers no longer supports referring to TriggerBindings in a EventListener using the
name
field. Use theref
field instead. (#603)The
name
field was depreacted in favor of theref
field in Triggers v0.5.0. To ease the upgrade, Triggers would automatically set theref
field to the value of thename
field. Starting this release, Triggers will stop setting the default automatically. See #603 and #548 for more details
Fixes 🐛
-
Publish both tagged and untagged images for releases (#598)
All triggers release images are now tagged with the release version.
-
Cache trigger secrets for the duration of request (with tests) (#595)
Cache Kubernetes secret refs for each EventListener webhook, using the cached value to process each trigger
-
Ensure that decodeB64 returns a String rather than Bytes. (#609)
-
Fix formatting of version in config (#623)
-
Fix the Data Race in portforward e2e test of EventListener (#631)
Misc 🔨
- Remove linting from release pipeline 🧹 (#588)
- Fix release version tag for release yaml (#587)
- fix gosec error (#620)
- Use portforwarder instead of kubectl command line (#599)
- Do not default EventListener trigger ref to name (#603)
Docs 📖
- Fix 'Edit this page' and 'Create an issue' links on the website (#580)
- Refactored examples and added GitHub example with README (#576)
- Fix link to getting started guide on website (#582)
- Adding doc links for release 0.5.0 in the Read the docs section (#593)
- Fix GCP setup broken link in dev docs (#600)
- Move multi tenant section below syntax (#602)
- Update TriggerTemplate docs with supported types. (#601)
- Modify BitBucketInterceptor to BitbucketInterceptor (#596)
How to upgrade from v0.5.0 :up_arrow:
- Change any EventListeners that uses the
name
field to refer to a TriggerBinding to use aref
field instead - Install Triggers. One liner:
kubectl apply -f https://storage.googleapis.com/tekton-releases/triggers/previous/v0.6.0/release.yaml
Thanks
Thanks to these contributors who contributed to v0.6.0!
- ❤️ @AlanGreene
- ❤️ @GwonsooLee
- ❤️ @NavidZ
- ❤️ @avinashsingh6
- ❤️ @bigkevmcd
- ❤️ @bobcatfish
- ❤️ @dibyom
- ❤️ @khrm
- ❤️ @savitaashture
- ❤️ @tragiclifestories
- ❤️ @wlynch
Extra shout-out for awesome release notes:
Tekton Triggers v0.5.0
Installation
kubectl -n tekton-pipelines delete deployments tekton-triggers-controller tekton-triggers-webhook
kubectl apply -f https://storage.googleapis.com/tekton-releases/triggers/previous/v0.5.0/release.yaml
Changes
This is an overview of new changes. For all changes, see Milestone.
- Triggers now uses Go modules! #527
- Updated cel-go dependency to support new string library. #472
- New CEL Interceptor parseJSON function to sub-select fields in JSON payloads. #538
- EventListeners now serve readiness probe at
/live
. #467 - TriggerBindings can now be embedded in EventListeners. #371
- Trigger resources are now annotated with
app.kubernetes.io
labels. #556
🚨 Breaking changes 🚨
-
#556 Tekton Trigger controllers will need to be updated (by deleting and creating the deployments) in order to apply the new labels:
kubectl -n tekton-pipelines delete deployments tekton-triggers-controller tekton-triggers-webhook kubectl apply -f https://storage.googleapis.com/tekton-releases/triggers/previous/v0.5.0/release.yaml
-
#532 removes the undocumented and unsupported
type
field fromTriggerTemplate
params. If you were using the field in yourTriggerTemplate
, you'll have to delete the resource, and recreate it after deleting thetype
field. -
#472 requires users to update to new cel-go strings syntax.
It brings in the upstream cel-go Strings library, with a number of additional methods in your CEL expressions, see below for more information:
This also standardises the CEL extensions as "instance overloads", which changes the way they are called:
old style:
expression: "truncate(body.pull_request.head.sha, 7)"
new style:
expression: "body.pull_request.head.sha.truncate(7)"
The new functions that the Strings extension library brings in are:
- CharAt - Returns the character at the given position. If the position is negative, or greater than the length of the string, the function will produce an error:
- IndexOf Returns the integer index of the first occurrence of the search string. If the search string is not found the function returns -1.
- LastIndexOf Returns the integer index of the last occurrence of the search string. If the search string is not found the function returns -1.
- Replace Produces a new string based on the target, which replaces the occurrences of a search string with a replacement string if present. The function accepts an optional limit on the number of substring replacements to be made.
- Substring Returns the substring given a numeric range corresponding to character positions. Optionally may omit the trailing range for a substring from a given character position until the end of a string.
- Trim Returns a new string which removes the leading and trailing whitespace in the target string. The trim function uses the Unicode definition of whitespace which does not include the zero-width spaces.
Deprecation Warnings
- The
name
field intriggers.bindings
within an EventListener has been deprecated in favor of theref
field and will be removed in a future release. See #371 for details.
Thanks
Thanks to these contributors who contributed to v0.5.0!
- Alan Greene
- Alex Ashley
- Andrea Frittoli
- Dibyo Mukherjee
- Gabe Montero
- James Turley
- Kevin McDermott
- Khurram Baig
- Pierre Grimaud
- Prachi Pendse
- Vincent Demeester
- charles-edouard.breteche
- savitaashture
Tekton Triggers v0.4.0
-Docs @ v0.4.0
-Examples @ v0.4.0
Changes
Features ✨
- Allow creating v1beta1 resources (#490)
Triggers can now create both v1alpha1 and v1beta1 Pipeline resources. - Implement constant-time secret comparisons in CEL. (#492)
New CEL interceptor functioncompareSecrets
for securely comparing strings to secrets in CEL expressions. - Introduce authentication/authorization at the EventListenerTrigger level (with default back to existing EventListener level) (#454)
The specification of a ServiceAccount on the EventListener Trigger is now available as an override of the ServiceAccount of the EventListener to facilitate permissions changes with respect to creating Tekton resources as the result of the sink receiving an event.
Backwards incompatible changes 🚨
In current release:
-
Switch API group for triggers to triggers.tekton.dev (#497)
All Triggers resources now use the triggers.tekton.dev API Group.
BREAKING CHANGE: Users will have to delete and recreate resources after updating the API Group. Users will also have to update their EventListener Role resource to point to the triggers.tekton.dev API Group for Triggers resources. -
Update pipeline version to 0.11-rc1 (#469)
Triggers now requires kubernetes version 1.15 or higher.
Fixes 🐛
- Support JSON double values being reencoded in the CEL interceptor (#470)
- Cleanup cluster resources when test fails (#503)
- Use static selector labels for EL svc/deployments (#513)
- Add omitempty tag to Status field (#507)
Misc 🔨
- Stop marking dynamic client as generated code (#489)
- Add 2020 roadmap 🛣️ (#498)
- [master] Fix spelling errors (#511)
- Bump pipeline version to 0.11.0 (#512)
- Fix instructions in README (#471)
- Add links to v0.3.1 in README (#464)
- Clean up sink_test.go (#413)
- Format markdown (#465)
- Update release README (#466)
- Remove unused variable (#515)
Docs 📖
- Fix inaccurate docs about TriggerTemplate (#477)
- Add additional documentation. (#475)
- Adds "commented" website front matter to docs (#500)
- Change api version (#502)
- Update docs to specify k8s version 1.15 or greater (#519)
- Fix incorrect split example (#520)
How to upgrade from v0.3.1 ⬆️
Once you have updated your cluster with the 0.4.0 release:
-
First, get all existing Trigger resources and store the yaml locally if you do not already have them locally.
-
Next, delete all of the existing Triggers resources:
kubectl delete triggertemplates --all kubectl delete triggerbindings --all kubectl delete clustertriggerbindings --all kubectl delete eventlisteners --all
-
Update the Role resource used by each EventListener's ServiceAccount to use the new APIGroups
-
Change the
apiVersion
field totriggers.tekton.dev
for each resource yaml and reapply the yaml -
Delete the old CRDs:
kubectl delete crd triggerbindings.tekton.dev kubectl delete crd clustertriggerbindings.tekton.dev kubectl delete crd triggertemplates.tekton.dev kubectl delete crd eventlisteners.tekton.dev
If you are using the Triggers Client in your go code, then update TriggersClient.TektonV1alpha1()
to TriggersClient.TriggersV1alpha1()
(here is a link to the relevant clientset code).
Thanks
Thanks to these contributors who contributed to v0.4.0!
- ❤️ @akihikokuroda
- ❤️ @bigkevmcd
- ❤️ @bobcatfish
- ❤️ @chetan-rns
- ❤️ @devholic
- ❤️ @dibyom
- ❤️ @gabemontero
- ❤️ @loafyloaf
- ❤️ @mattmoor
- ❤️ @ncskier
- ❤️ @savitaashture
- ❤️ @skaegi
Extra shout-out for awesome release notes:
- 😍 @bigkevmcd
- 😍 @dibyom
- 😍 @gabemontero
Tekton Triggers v0.4.0-rc1
-Docs @ v0.4.0-rc1
-Examples @ v0.4.0-rc1
Changes
Features ✨
- Allow creating v1beta1 resources (#490)
Triggers can now create both v1alpha1 and v1beta1 Pipeline resources. - Implement constant-time secret comparisons in CEL. (#492)
New CEL interceptor functioncompareSecrets
for securely comparing strings to secrets in CEL expressions. - introduce authentication/authorization at the EventListenerTrigger level (with default back to existing EventListener level) (#454)
The specification of a ServiceAccount on the EventListener Trigger is now available as an override of the ServiceAccount of the EventListener to facilitate permissions changes with respect to creating Tekton resources as the result of the sink receiving an event.
Backwards incompatible changes 🚨
In current release:
-
Switch API group for triggers to triggers.tekton.dev (#497)
All Triggers resources now use the triggers.tekton.dev API Group.
BREAKING CHANGE: Users will have to delete and recreate resources after updating the API Group. Users will also have to update their EventListener Role resource to point to the triggers.tekton.dev API Group for Triggers resources. -
Update pipeline version to 0.11-rc1 (#469)
Triggers now requires kubernetes version 1.15 or higher.
Fixes 🐛
- Support JSON double values being reencoded in the CEL interceptor (#470)
- Cleanup cluster resources when test fails (#503)
- Use static selector labels for EL svc/deployments (#513)
Misc 🔨
- Stop marking dynamic client as generated code (#489)
- Add 2020 roadmap 🛣️ (#498)
- [master] Fix spelling errors (#511)
- Bump pipeline version to 0.11.0 (#512)
- Fix instructions in README (#471)
- Add links to v0.3.1 in README (#464)
- Clean up sink_test.go (#413)
- Format markdown (#465)
- Update release README (#466)
Docs 📖
- Fix inaccurate docs about TriggerTemplate (#477)
- Add additional documentation. (#475)
- Adds "commented" website front matter to docs (#500)
- Change api version (#502)
How to upgrade from v0.3.1 ⬆️
Once you have updated your cluster with the 0.4.1-rc1 release:
-
First, get all existing Trigger resources and store the yaml locally if you do not already have them locally.
-
Next, delete all of the existing Triggers resources:
kubectl delete triggertemplates --all kubectl delete triggerbindings --all kubectl delete clustertriggerbindings --all kubectl delete eventlisteners --all
-
Update the Role resource used by each EventListener's ServiceAccount to use the new APIGroups
-
Change the
apiVersion
field totriggers.tekton.dev
for each resource yaml and reapply the yaml -
Delete the old CRDs:
kubectl delete crd triggerbindings.tekton.dev kubectl delete crd clustertriggerbindings.tekton.dev kubectl delete crd triggertemplates.tekton.dev kubectl delete crd eventlisteners.tekton.dev
If you are using the Triggers Client in your go code, then update TriggersClient.TektonV1alpha1()
to TriggersClient.TriggersV1alpha1()
(here is a link to the relevant clientset code).
Thanks
Thanks to these contributors who contributed to v0.4.0-rc1!
- ❤️ @akihikokuroda
- ❤️ @bigkevmcd
- ❤️ @bobcatfish
- ❤️ @devholic
- ❤️ @dibyom
- ❤️ @gabemontero
- ❤️ @loafyloaf
- ❤️ @mattmoor
- ❤️ @ncskier
- ❤️ @skaegi
Extra shout-out for awesome release notes:
- 😍 @bigkevmcd
- 😍 @dibyom
- 😍 @gabemontero
Tekton Triggers v0.3.1
-Docs @ v0.3.1
-Examples @ v0.3.1
Changes
Fixes 🐛
Docs 📖
How to upgrade from v0.2.1 ⬆️
- Update your Webhook Interceptors to receive HTTP POST requests (if they were not already doing so).
Thanks
Thanks to these contributors who contributed to v0.3.1!
- ❤️ @akihikokuroda
- ❤️ @bobcatfish
- ❤️ @dibyom
- ❤️ @ncskier
Tekton Triggers v0.3.0
-Docs @ v0.3.0
-Examples @ v0.3.0
Changes
Features ✨
-
Use
tekton
instead of all as categories 🎿(#360)Remove the category
all
for our CRD and have atekton
category that is shared with other tektoncd projects. -
Add support for ClusterTriggerBinding (#358)
New ClusterTriggerBinding resource which is similar to TriggerBinding but cluster-scoped.
To use a ClusterTriggerBinding in an EventListener's
bindings
, you must specify thekind
field asClusterTriggerBinding
. By default, thekind
field isTriggerBinding
, and it can be omitted. -
CEL Interceptor improvements
-
Add support for adding additional fields to the body. (#329)
The CEL Interceptor can now add new derived fields to the request body that can be picked up in a TriggerBinding.
-
Add support for splitting strings to CEL expressions. (#411)
This adds a CEL expression function for splitting strings.
-
Add CEL function canonical. (#410)
This adds a new canonical function on the header, making it easy to fetch a request header by name.
-
Add decodeb64 function to CEL expressions. (#404)
This adds a
decodeb64
function to the CEL expressions usable by the overlay mechanism.
-
-
Add Liveness Probe for EventListener Deployment (#432)
Add a Liveness Probe for EventListener Deployment at URL /live
-
Add Version Label to Triggers Deployment & Service (#428)
Adds the
version
andtriggers.tekton.dev/release
labels with version information.
Backwards incompatible changes 🚨
In current release:
-
Ensure Interceptor request uses HTTP POST. (#438)
BREAKING CHANGE: Interceptors now receive HTTP POST requests regardless of the type of request the EventListener receives.
-
validate ObjectMetadata for TriggerTemplate (#435)
TriggerTemplates must have a metadata field.
-
Remove deprecated binding (#424)
-
Remove deprecated Interceptor (#425)
-
Remove deprecated Params field from EventListener (#444)
Misc 🔨
- Add .gitattributes information on generated files 🍥 (#381)
- Fix lint issue (#398)
- Fix e2e tests (#401)
- Bump tektoncd-pipeline to 0.10.1 (#396)
- Delete clusterscoped resource in teardown (#420)
- Move GH-Validate Interceptor code to example (#429)
- Increase waiting timeout (#433)
- Allow keeping namespaces after running tests for investigation (#431)
- Use k8s types and validation code with the TriggerResourceTemplate type (#422)
- Fixes for the nightly release process (#421)
- Add Regression test for large number of Triggers (#449)
- Fix broken symbolic links in cron example (#451)
Docs 📖
- Format markdown (#395)
- Replace doc links to v0.2.0 with links to v0.2.1 (#402)
- Update CEL docs (#407)
- Format markdown (#414)
- cel langdef doc links (#416)
- Fix yaml formatting (#417)
- Format markdown (#423)
- Format markdown (#430)
- Format markdown (#443)
- Add our go report card to the README (#445)
- Update EventListener docs format (#426)
- Fix typo cel interceptor example. (#446)
- Format markdown (#448)
- correct a misspelling (#452)
- Update gcloud command to use dogfooding cluster (#453)
- Replace gitlab-eventlistener with a working example (#434)
How to upgrade from v0.2.1 ⬆️
- Update your Webhook Interceptors to receive HTTP POST requests (if they were not already doing so).
- Delete and re-create your EventListeners (this has been fixed in the Triggers v0.3.1 release).
Thanks ❤️
Thanks to these contributors who contributed to v0.3.0!