Rundeck - токен API шага рабочего процесса HTTP

В Rundeck у меня есть ряд шагов рабочего процесса HTTP POST. Есть ли способ сохранить токен API от начального шага входа в систему до последующих запросов? Можно ли это как-то сделать с помощью фильтров журналов?


person n3treaper    schedule 27.03.2020    source источник


Ответы (1)


Вы можете использовать для этого значения данных и вызывать его, используя ${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>

Таким образом, вы можете использовать тот же токен API, который определен в качестве параметра данных в определении вашего задания. Проверьте это, чтобы узнать больше о том, как работать.

ОБНОВЛЕНИЕ: я изменил пример определения задания, теперь создаю токен (смоделированный) и использую его позже на любом этапе рабочего процесса.

person MegaDrive68k    schedule 27.03.2020