1

Rundeck で rundeckrun python モジュールを使用してジョブを作成したいので、ドキュメントを検索しましたが、見つかりませんでした。

Rundeck で rundeckrun を使用してジョブを作成する他のオプションはありますか

ご清聴ありがとうございました。

4

1 に答える 1

1

これは最近、rundeckrun リポジトリに投稿されました: #17 (おそらくあなた: @Naren)。その Github Issue のコメントで述べたように、Rundeck API はジョブを作成する高レベルの方法を提供していないため、rundeckrun も提供していません... まだ. :) ただし、Rundeck API はジョブ定義をインポートする方法を提供し、rundeckrun はそのエンドポイントの軽いラッパーを提供します。ジョブ定義を操作/作成してインポートできます。実際、それはtests/__init__.pyセットアップ ロジックで行われることとまったく同じです。

test_job_id = uuid.uuid4()
test_job_name = 'TestJobTest'
test_job_proj = 'TestProjectTest'
test_job_def_tmpl = """<joblist>
  <job>
    <id>{0}</id>
    <loglevel>INFO</loglevel>
    <sequence keepgoing='false' strategy='node-first'>
      <command>
        <node-step-plugin type='localexec'>
          <configuration>
            <entry key='command' value='echo "Hello World! (from:${{option.from}})"' />
          </configuration>
        </node-step-plugin>
      </command>
      <command>
        <node-step-plugin type='localexec'>
          <configuration>
            <entry key='command' value='sleep ${{option.sleep}}' />
          </configuration>
        </node-step-plugin>
      </command>
    </sequence>
    <description></description>
    <name>{1}</name>
    <context>
      <project>{2}</project>
      <options>
        <option name='from' value='Tester' />
        <option name='sleep' value='0' />
      </options>
    </context>
    <uuid>{0}</uuid>
  </job>
</joblist>"""
test_job_def = test_job_def_tmpl.format(test_job_id, test_job_name, test_job_proj)

そして、ジョブの作成...

def setup():
    rundeck_api.jobs_import(test_job_def, uuidOption='preserve')
于 2014-10-27T15:29:22.170 に答える