Rundeck -> 我们如何将捕获的键值数据传递到邮件模板中

Rundeck -> how can we pass the captured Key Value Data into the mail Template

我们如何将捕获的键值数据(日志过滤器)传递到邮件模板中,

例如,我当前的模板是这样的

<html>
    <head>
        <title>create Heap dump</title>
    </head>
    <body>
       <p>
       Hi,<br><br>
       ${option.Description} <br>
       ${logoutput.data}<br><br>
       Regards,<br>
       Game World</p>
    </body>
</html>

目前我无法传递任何捕获的值,如 ${data.value}。我有什么遗漏吗?

最简单的方法是将该数据值变量导出到全局变量,然后在您的通知中使用它。

  1. 第一步打印一些文本,用过滤器捕获数据值并将其存储在${data.MYDATA}
  2. 第二步采用该数据变量并使用“全局变量”步骤创建一个全局变量。
  3. 您可以在任何通知中使用该全局变量作为 ${export.myvariable}

看看这个职位定义示例:

- defaultTab: nodes
  description: ''
  executionEnabled: true
  id: ea07f41a-71b4-4ed9-91fb-6113de996e48
  loglevel: INFO
  name: TestJob
  nodeFilterEditable: false
  notification:
    onsuccess:
      plugin:
        configuration:
          authentication: None
          body: ${export.myglobal}
          contentType: application/json
          method: POST
          remoteUrl: https://any/webhook/url
          timeout: '30000'
        type: HttpNotification
  notifyAvgDurationThreshold: null
  plugins:
    ExecutionLifecycle: {}
  scheduleEnabled: true
  schedules: []
  sequence:
    commands:
    - exec: env
      plugins:
        LogFilter:
        - config:
            invalidKeyPattern: \s|$|\{|\}|\
            logData: 'true'
            regex: ^(USER)\s*=\s*(.+)$
          type: key-value-data
    - configuration:
        export: myglobal
        group: export
        value: ${data.USER*}
      nodeStep: false
      type: export-var
    - exec: echo ${export.myglobal}
    keepgoing: false
    strategy: node-first
  uuid: ea07f41a-71b4-4ed9-91fb-6113de996e48

使用 HTTP 通知(在正文部分)您可以看到该值(对于您使用电子邮件通知的情况也是如此)。