可以在脚本中枚举Rundeck输入变量吗?

时间:2019-11-27 09:09:24

标签: rundeck

用例示例:通过作为脚本循环的脚本,从Rundeck输入枚举输入选项。                  从Rundeck

动态读取所有用户提供的输入选项

我知道可以通过@ option.inputname @引用输入 我的问题:是否存在可以引用的输入数组,以便在输入之间循环?

示例语言:Powershell

$Inputs = @options@

foreach($Input in $Inputs)
{
   Write-Host $Input
}

问题不是要在一个输入的数组中循环,而是将所有输入作为一个数组收集。

求职:

  • defaultTab:节点 说明:” executionEnabled:true 组:测试/示例 ID:e6c16942-baf0-4255-9c05-87bc11f66f6f 日志级别:INFO 名称:StackOverflow-示例 nodeFilterEditable:否 选项:
    • 名称:用户
    • 名称:城市
    • 名称:位置
    • 姓名:电话 scheduleEnabled:是 顺序: 命令:
    • 脚本:getopts 继续:错误 策略:节点优先 uuid:e6c16942-baf0-4255-9c05-87bc11f66f6f

命令行可以收集选项作为数组吗?我知道这可以通过Rundecks API来实现,但是我的用例是实现此脚本中的:-)

不要相信这是可能的。

1 个答案:

答案 0 :(得分:0)

可以,以这种方式(我的示例在Bash下):

echo "starting"
for i in @option.opt1@
do
   echo "Welcome $i times"
done

我将作业定义保留为任何用户可编辑的选项:

    <joblist>
      <job>
        <context>
          <options preserveOrder='true'>
            <option name='opt1' value='1 2 3 4 5' />
          </options>
        </context>
        <defaultTab>nodes</defaultTab>
        <description></description>
        <executionEnabled>true</executionEnabled>
        <id>298a3027-ede0-47f0-be88-308647839b82</id>
        <loglevel>INFO</loglevel>
        <name>JobEnumerate</name>
        <nodeFilterEditable>false</nodeFilterEditable>
        <scheduleEnabled>true</scheduleEnabled>
        <sequence keepgoing='false' strategy='node-first'>
          <command>
            <script><![CDATA[echo "starting"

    for i in @option.opt1@
    do
       echo "Welcome $i times"
    done]]></script>
            <scriptargs />
          </command>
        </sequence>
        <uuid>298a3027-ede0-47f0-be88-308647839b82</uuid>
      </job>
    </joblist>

结果为here