airflow.providers.jenkins.operators.jenkins_job_trigger

模块内容

JenkinsJobTriggerOperator

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

函数

jenkins_request_with_headers(jenkins_server, req)

从原始请求创建 Jenkins 请求。

属性

JenkinsRequest

ParamType

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 作业并监控其执行。

此运算符依赖于 python-jenkins 库版本 >= 0.4.15 与 Jenkins 服务器通信。您还需要在连接屏幕中配置 Jenkins 连接。

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

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

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

  • sleep_time (int) – 运算符在每次作业状态请求之间休眠的时间(最小 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]
build_job(jenkins_server, params=None)[source]

触发构建作业。

这将返回一个带有 2 个键 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

hook()[source]

实例化 Jenkins hook。

execute(context)[source]

在创建操作符时派生。

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

有关更多上下文,请参阅 get_template_context。

此条目是否有帮助?