Skip to content

Commit cb5a3fe

Browse files
committed
fix: print xml text
Signed-off-by: Vladislav Sukhin <[email protected]>
1 parent bb8f95c commit cb5a3fe

5 files changed

+25
-8
lines changed

pkg/api/v1/testkube/model_webhook_create_request_extended.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ import "fmt"
44

55
func (w *WebhookCreateRequest) QuoteTextFields() {
66
if w.PayloadTemplate != "" {
7-
w.PayloadTemplate = fmt.Sprintf("%q", w.PayloadTemplate)
7+
w.PayloadTemplate, _ = printPayloadTemplate(w.PayloadTemplate)
88
}
99

1010
for key, val := range w.Config {

pkg/api/v1/testkube/model_webhook_extended.go

+19-2
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,11 @@
99
*/
1010
package testkube
1111

12-
import "fmt"
12+
import (
13+
"fmt"
14+
15+
"gopkg.in/yaml.v3"
16+
)
1317

1418
type Webhooks []Webhook
1519

@@ -48,7 +52,7 @@ func (w Webhook) GetAnnotations() map[string]string {
4852

4953
func (w *Webhook) QuoteTextFields() {
5054
if w.PayloadTemplate != "" {
51-
w.PayloadTemplate = fmt.Sprintf("%q", w.PayloadTemplate)
55+
w.PayloadTemplate, _ = printPayloadTemplate(w.PayloadTemplate)
5256
}
5357

5458
for key, val := range w.Config {
@@ -78,3 +82,16 @@ func (w *Webhook) QuoteTextFields() {
7882
w.Parameters[key] = value
7983
}
8084
}
85+
86+
type yamlData struct {
87+
PayloadTemplate string `yaml:"payloadTemplate"`
88+
}
89+
90+
func printPayloadTemplate(text string) (string, error) {
91+
yamlData, err := yaml.Marshal(&yamlData{PayloadTemplate: text})
92+
if err != nil {
93+
return "", err
94+
}
95+
96+
return string(yamlData), nil
97+
}

pkg/api/v1/testkube/model_webhook_template_create_request_extended.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ import "fmt"
44

55
func (w *WebhookTemplateCreateRequest) QuoteTextFields() {
66
if w.PayloadTemplate != "" {
7-
w.PayloadTemplate = fmt.Sprintf("%q", w.PayloadTemplate)
7+
w.PayloadTemplate, _ = printPayloadTemplate(w.PayloadTemplate)
88
}
99

1010
for key, val := range w.Config {

pkg/api/v1/testkube/model_webhook_template_extended.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ func (w WebhookTemplate) GetAnnotations() map[string]string {
4848

4949
func (w *WebhookTemplate) QuoteTextFields() {
5050
if w.PayloadTemplate != "" {
51-
w.PayloadTemplate = fmt.Sprintf("%q", w.PayloadTemplate)
51+
w.PayloadTemplate, _ = printPayloadTemplate(w.PayloadTemplate)
5252
}
5353

5454
for key, val := range w.Config {

pkg/crd/templates/webhook.tmpl

+3-3
Original file line numberDiff line numberDiff line change
@@ -31,9 +31,6 @@ spec:
3131
{{- if .PayloadObjectField }}
3232
payloadObjectField: {{ .PayloadObjectField }}
3333
{{- end }}
34-
{{- if .PayloadTemplate }}
35-
payloadTemplate: {{ .PayloadTemplate }}
36-
{{- end }}
3734
{{- if .PayloadTemplateReference }}
3835
payloadTemplateReference: {{ .PayloadTemplateReference }}
3936
{{- end }}
@@ -86,3 +83,6 @@ spec:
8683
webhookTemplateRef:
8784
name: {{ .WebhookTemplateRef.Name }}
8885
{{- end }}
86+
{{- if .PayloadTemplate }}
87+
{{ .PayloadTemplate }}
88+
{{- end }}

0 commit comments

Comments
 (0)