【发布时间】:2022-01-15 06:25:25
【问题描述】:
如果字符串以特定子字符串开头,我想在 Argo 工作流中执行任务。
例如,我的字符串是tests/dev-or.yaml,如果我的字符串以tasks/开头,我想执行任务
这是我的工作流程,但条件没有得到正确验证
apiVersion: argoproj.io/v1alpha1
kind: Workflow
metadata:
generateName: conditional-
spec:
entrypoint: conditional-example
arguments:
parameters:
- name: should-print
value: "tests/dev-or.yaml"
templates:
- name: conditional-example
inputs:
parameters:
- name: should-print
steps:
- - name: print-hello
template: whalesay
when: "{{inputs.parameters.should-print }} startsWith 'tests/'"
- name: whalesay
container:
image: docker/whalesay:latest
command: [sh, -c]
args: ["cowsay hello"]
以下是我运行工作流时给出的错误
WorkflowFailed 7s workflow-controller Invalid 'when' expression 'tests/dev-or.yaml startsWith 'tests/'': Unable to access unexported field 'yaml' in token 'or.yaml'
在评估 when 条件时,它似乎不接受 -、.yaml 和 /。
我的工作流程有什么错误吗?使用这种条件的正确方法是什么?
【问题讨论】:
标签: kubernetes conditional-statements argo-workflows argocd