想在 Rundeck 中使用 rundeckrun python 模块创建工作,我在他们的文档中搜索,但找不到。
是否有任何其他选项可以在 Rundeck 中使用 rundeckrun 创建作业
感谢您的关注。
想在 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)
然后创建工作......
def setup():
rundeck_api.jobs_import(test_job_def, uuidOption='preserve')