stoneshi-yunify 
這個template有存在步驟UI裡面
不過我撰寫完實際要用的時候都會變成不是聲明式
apiVersion: devops.kubesphere.io/v1alpha3
kind: ClusterStepTemplate
metadata:
  annotations:
    devops.kubesphere.io/displayNameEN: fii-Mail
    devops.kubesphere.io/displayNameZH: fii-Mail
    meta.helm.sh/release-name: devops-agent
    meta.helm.sh/release-namespace: kubesphere-devops-system
  labels:
    app.kubernetes.io/managed-by: Helm
    kubesphere.io/extension-ref: devops
    step.devops.kubesphere.io/category: General
  name: my-mail
spec:
  parameters:
    - display: Recipient
      name: to
      type: string
    - display: CC
      name: cc
      type: string
    - display: Subject
      name: subject
      required: true
      type: string
    - display: Body
      name: body
      required: true
      type: text
  runtime: dsl
  template: |
    {
      "arguments": {
        "isLiteral": false,
        "value": "(attachLog: true, body: '{{.param.body}}', subject: '{{.param.subject}}', to: '{{.param.to}}', cc: '{{.param.cc}}'))"
      },
      "name": "emailext"
    }
我在pipeline直接寫入下方的step就能正常執行
emailext(attachLog: true, body: 'The build process is completed, please refer the attachment for your reference if need', subject: 'Build Completed', to: 'mymail123@gmail.com')