在Rundeck,我有一系列HTTP POST工作流程步骤。有没有一种方法可以将API令牌从初始登录步骤保留到后续请求?可以使用日志过滤器以某种方式完成此操作吗?
答案 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,以了解有关工作方式的更多信息。
更新:我更改了工作定义示例,现在生成(模拟的)令牌,并稍后在任何工作流程步骤中使用它。