【问题标题】:Is it possible to enumerate Rundeck input variables in script?是否可以在脚本中枚举 Rundeck 输入变量?
【发布时间】:2019-11-27 09:09:24
【问题描述】:

示例用例:枚举来自 Rundeck 输入的输入选项,将脚本作为数组循环遍历。 从 Rundeck 动态读取所有用户提供的输入选项

我了解@option.inputname@ 可以引用输入 我的问题:是否有可以引用的输入数组以循环输入?

示例语言:Powershell

$Inputs = @options@

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

问题不是为一个输入循环遍历一个数组,而是将所有输入收集为一个数组。

工作示例:

  • defaultTab:节点 描述: '' 执行启用:真 组:测试/示例 编号:e6c16942-baf0-4255-9c05-87bc11f66f6f 日志级别:信息 名称:StackOverflow-示例 节点过滤器可编辑:假 选项:
    • 姓名:用户
    • 姓名:城市
    • 姓名:地点
    • 姓名:电话 scheduleEnabled:真 序列: 命令:
    • 脚本:getopts 继续:假 策略:节点优先 uuid:e6c16942-baf0-4255-9c05-87bc11f66f6f

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

不要相信这是可能的。

【问题讨论】:

    标签: rundeck


    【解决方案1】:

    当然,这样(我的例子是在 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

    【讨论】:

    • 感谢 MegaDrive68k,我更倾向于遍历 rundeck 输入选项而不是在单个选项中遍历输入,这很简单 :-) 我的问题更倾向于收集列表上面的选项作为一个数组,并循环通过它。生病更新问题以反映这一点
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-07-26
    • 2016-08-31
    • 2021-11-23
    • 1970-01-01
    • 2014-08-04
    • 1970-01-01
    相关资源
    最近更新 更多