Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add CEL function to parse YAML #636

Merged
merged 1 commit into from
Jun 26, 2020
Merged

Conversation

chetan-rns
Copy link
Member

@chetan-rns chetan-rns commented Jun 25, 2020

Changes

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>

Fixes: #622

Submitter Checklist

These are the criteria that every PR should meet, please check them off as you
review them:

See the contribution guide for more details.

Release Notes

 'parseYAML' is a CEL function that can parse YAML body in string to a map.

@tekton-robot tekton-robot requested review from dlorenc and wlynch June 25, 2020 06:14
@tekton-robot tekton-robot added the size/M Denotes a PR that changes 30-99 lines, ignoring generated files. label Jun 25, 2020
@tekton-robot
Copy link

The following is the coverage report on the affected files.
Say /test pull-tekton-triggers-go-coverage to re-run this coverage report

File Old Coverage New Coverage Delta
pkg/interceptors/cel/triggers.go 87.2% 88.3% 1.1

Copy link
Member

@wlynch wlynch left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We should also test/document behavior for nested types, since this came up with JSON support as well.

/cc @bigkevmcd

pkg/interceptors/cel/triggers.go Outdated Show resolved Hide resolved
@tekton-robot tekton-robot requested a review from bigkevmcd June 25, 2020 21:38
@wlynch
Copy link
Member

wlynch commented Jun 25, 2020

But otherwise LGTM! Thanks for the contribution! :)

@bigkevmcd
Copy link
Member

We should also test/document behavior for nested types, since this came up with JSON support as well.

Both the JSON parsing and YAML parsing end up going through the same marshaling into the output JSON.

Any differences should (theoretically) be down to the parsers themselves (ints/floats/strings/maps etc).

@bigkevmcd
Copy link
Member

/lgtm

@tekton-robot tekton-robot added the lgtm Indicates that a PR is ready to be merged. label Jun 26, 2020
Added a CEL function named parseYAML that can parse an YAML string into a map of strings to dynamic values

Syntax: <string>.parseYAML() -> map<string, dyn>
@tekton-robot tekton-robot removed the lgtm Indicates that a PR is ready to be merged. label Jun 26, 2020
@tekton-robot
Copy link

The following is the coverage report on the affected files.
Say /test pull-tekton-triggers-go-coverage to re-run this coverage report

File Old Coverage New Coverage Delta
pkg/interceptors/cel/triggers.go 87.2% 88.3% 1.1

@bigkevmcd
Copy link
Member

/lgtm

@tekton-robot tekton-robot added the lgtm Indicates that a PR is ready to be merged. label Jun 26, 2020
@bigkevmcd
Copy link
Member

/approved

@dibyom
Copy link
Member

dibyom commented Jun 26, 2020

Thanks @chetan-rns !
/approve

@tekton-robot
Copy link

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: dibyom

The full list of commands accepted by this bot can be found here.

The pull request process is described here

Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@tekton-robot tekton-robot added the approved Indicates a PR has been approved by an approver from all required OWNERS files. label Jun 26, 2020
@tekton-robot tekton-robot merged commit 5348837 into tektoncd:master Jun 26, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
approved Indicates a PR has been approved by an approver from all required OWNERS files. lgtm Indicates that a PR is ready to be merged. size/M Denotes a PR that changes 30-99 lines, ignoring generated files.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

CEL: add parseYAML() function
5 participants