Rundeck-HTTP工作流程步骤API令牌

时间:2020-03-27 13:13:12

标签: api post token rundeck

在Rundeck,我有一系列HTTP POST工作流程步骤。有没有一种方法可以将API令牌从初始登录步骤保留到后续请求?可以使用日志过滤器以某种方式完成此操作吗?

1 个答案:

答案 0 :(得分:0)

您可以为此使用数据值,并使用${data.MYDATAKEY}进行步骤调用,使用@data.MYDATAKEY@进行内联脚本调用。

这里有个例子:

<joblist>
  <job>
    <defaultTab>nodes</defaultTab>
    <description></description>
    <executionEnabled>true</executionEnabled>
    <id>f9b4b925-3078-4668-bdf5-79e25173a183</id>
    <loglevel>INFO</loglevel>
    <name>HiWorld</name>
    <nodeFilterEditable>false</nodeFilterEditable>
    <plugins />
    <scheduleEnabled>true</scheduleEnabled>
    <sequence keepgoing='false' strategy='node-first'>
      <command>
        <description>generate token step</description>
        <fileExtension>.sh</fileExtension>
        <plugins>
          <LogFilter type='key-value-data'>
            <config>
              <logData>true</logData>
              <regex>^(MYTOKEN)\s*=\s*(.+)$</regex>
            </config>
          </LogFilter>
        </plugins>
        <script><![CDATA[echo "MYTOKEN=12345"]]></script>
        <scriptargs />
        <scriptinterpreter>/bin/bash</scriptinterpreter>
      </command>
      <command>
        <description>print token or use on any step</description>
        <fileExtension>.sh</fileExtension>
        <script><![CDATA[echo "the token is @data.MYTOKEN@"]]></script>
        <scriptargs />
        <scriptinterpreter>/bin/bash</scriptinterpreter>
      </command>
    </sequence>
    <uuid>f9b4b925-3078-4668-bdf5-79e25173a183</uuid>
  </job>
</joblist>

通过这种方式,您可以在作业定义中使用定义为data选项的相同API令牌。检查this,以了解有关工作方式的更多信息。

更新:我更改了工作定义示例,现在生成(模拟的)令牌,并稍后在任何工作流程步骤中使用它。