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。

此條目有幫助嗎?