想要在Rundeck中使用rundeckrun python模块创建作业,我在他们的文档中进行了搜索,但找不到它。
还有其他选择可以在Rundeck中使用rundeckrun创建作业
感谢您的关注。
最佳答案
这是最近在rundeckrun存储库中发布的:#17(可能是您:@Naren)。正如我在有关Github问题的评论中提到的那样,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)
然后the creation of the job ...
def setup():
rundeck_api.jobs_import(test_job_def, uuidOption='preserve')