airflow.providers.jenkins.operators.jenkins_job_trigger

属性

JenkinsRequest

ParamType

JenkinsJobTriggerOperator

触发 Jenkins 作业并监控其执行。

函数

jenkins_request_with_headers(jenkins_server, req)

从原始请求创建 Jenkins 请求。

模块内容

airflow.providers.jenkins.operators.jenkins_job_trigger.JenkinsRequest[source]
airflow.providers.jenkins.operators.jenkins_job_trigger.ParamType[source]
airflow.providers.jenkins.operators.jenkins_job_trigger.jenkins_request_with_headers(jenkins_server, req)[source]

从原始请求创建 Jenkins 请求。

除了正文响应,我们还需要获取头部信息以从中获取位置。此函数使用来自 python-jenkins 的 jenkins_request,仅修改了返回调用。

参数:
  • jenkins_server (jenkins.Jenkins) – 要查询的服务器

  • req (requests.Request) – 要执行的请求

返回:

包含响应正文(键 body)和附带头部信息(headers)的字典

返回类型:

JenkinsRequest

class airflow.providers.jenkins.operators.jenkins_job_trigger.JenkinsJobTriggerOperator(*, jenkins_connection_id, job_name, parameters=None, sleep_time=10, max_try_before_job_appears=10, allowed_jenkins_states=None, **kwargs)[source]

基类: airflow.models.BaseOperator

触发 Jenkins 作业并监控其执行。

此 Operator 依赖于 python-jenkins 库版本 >= 0.4.15 来与 Jenkins 服务器通信。您还需要在连接界面中配置 Jenkins 连接。

参数:
  • jenkins_connection_id (str) – 此作业使用的 Jenkins 连接

  • job_name (str) – 要触发的作业名称

  • parameters (ParamType) – 在触发构建时,提供给 Jenkins API 调用使用的参数块。(模板化的)

  • sleep_time (int) – Operator 在每次请求作业状态之间休眠的时间 (最小 1,默认 10)

  • max_try_before_job_appears (int) – 等待作业出现在 Jenkins 服务器上时的最大请求次数 (默认 10)

  • allowed_jenkins_states (collections.abc.Iterable[str] | None) – 允许的 Jenkins 结果状态的可迭代对象,默认是 ['SUCCESS']

template_fields: collections.abc.Sequence[str] = ('parameters',)[source]
template_ext: collections.abc.Sequence[str] = ('.json',)[source]
ui_color = '#f9ec86'[source]
job_name[source]
parameters = None[source]
sleep_time[source]
jenkins_connection_id[source]
max_try_before_job_appears = 10[source]
allowed_jenkins_states = ['SUCCESS'][source]
build_job(jenkins_server, params=None)[source]

触发构建作业。

这返回一个包含两个键 bodyheaders 的字典。headers 也包含一个类似字典的对象,可以查询该对象以获取队列中要轮询的位置。

参数:
  • jenkins_server (jenkins.Jenkins) – 应该触发作业的 Jenkins 服务器

  • params (ParamType) – 提供给 Jenkins API 调用的参数块。

返回:

包含响应正文(键 body)和附带头部信息(headers)的字典

返回类型:

JenkinsRequest

poll_job_in_queue(location, jenkins_server)[source]

轮询 Jenkins 队列直到作业执行。

当我们通过 API 调用触发作业时,作业首先被放入队列,没有分配构建编号。我们必须等到作业退出队列才能知道其构建编号。

为此,我们将在 build_job 调用返回的位置后面添加 /api/json (或 /api/xml),并轮询此文件。当响应中出现 executable 块时,作业执行将已开始,并且字段 number 将包含构建编号。

参数:
  • location (str) – 要轮询的位置,在 build_job 调用的头部中返回

  • jenkins_server (jenkins.Jenkins) – 要轮询的 Jenkins 服务器

返回:

对应于触发的作业的构建编号

返回类型:

int

property hook: airflow.providers.jenkins.hooks.jenkins.JenkinsHook[source]

实例化 Jenkins Hook。

execute(context)[source]

创建 Operator 时派生。

上下文是渲染 Jinja 模板时使用的相同字典。

有关更多上下文信息,请参考 get_template_context。

此条目有帮助吗?