and
関数とeq/ne
関数を組み合わせるにはどうすればよいですか?
この断片は私が書きました
リーリーターゲットは次のとおりです:
infoalert: true
と topic:database
が含まれている場合、grafana リンクのみが表示されますtopic:database
のみが含まれ、infoalert:true
が含まれていない場合は、databsse リンクのみが表示されますこのエラーが発生して、条件付き {{- if and eq .commonlabels.infoalert "true" eq .commonlabels.topic "database" -}}
の構文が間違っているようです。 alertmanager.log:
{{ define "opsgenie.default.tmpl" }} <font size="+0"><b>{{.commonlabels.alertname }}</b></font> {{- range $i, $alert := .alerts }} <font size="+0">{{ .annotations.description }}</font> {{- end -}} {{- "\n" -}} {{- "\n" -}} {{- if and eq .commonlabels.infoalert "true" eq .commonlabels.topic "database" -}} grafana: https://{{ .commonlabels.url }} {{- "\n" -}}{{- end -}} {{- if and ne .commonlabels.infoalert "true" eq .commonlabels.topic "database" -}} database: • https://{{ .commonlabels.url }}/ • https://{{ .commonlabels.url }}/ {{- "\n" -}}{{- end -}} {{- end -}} {{- end -}} {{- end -}}
式をグループ化するには括弧を使用してください:
リーリーこのテスト可能な例を確認してください:
リーリーこれは出力されます (go playground で試してください):
リーリー以上がGo テンプレート if 条件の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。