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[原始碼]
airflow.providers.jenkins.operators.jenkins_job_trigger.ParamType[原始碼]
airflow.providers.jenkins.operators.jenkins_job_trigger.jenkins_request_with_headers(jenkins_server, req)[原始碼]

從原始請求建立 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)[原始碼]

基底類別: airflow.models.BaseOperator

觸發 Jenkins 工作並監控其執行。

此運算子依賴 python-jenkins 程式庫版本 >= 0.4.15 與 Jenkins 伺服器通訊。您還需要在連線畫面中設定 Jenkins 連線。

參數
  • jenkins_connection_id (str) – 此工作要使用的 jenkins 連線

  • 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',)[原始碼]
template_ext: collections.abc.Sequence[str] = ('.json',)[原始碼]
ui_color = '#f9ec86'[原始碼]
build_job(jenkins_server, params=None)[原始碼]

觸發建置工作。

這會傳回一個具有 2 個鍵的字典:bodyheadersheaders 也包含一個類似字典的物件,可以查詢以取得佇列中要輪詢的位置。

參數
  • jenkins_server (jenkins.Jenkins) – 應觸發工作的 jenkins 伺服器

  • params (ParamType) – 提供給 jenkins API 呼叫的參數區塊。

傳回

包含回應主體(鍵 body)和隨附標頭(headers)的字典

傳回類型

JenkinsRequest

poll_job_in_queue(location, jenkins_server)[原始碼]

輪詢 jenkins 佇列,直到工作執行完畢。

當我們透過 API 呼叫觸發工作時,工作會先放入佇列中,而不會指派建置編號。我們必須等到工作離開佇列,才能知道其建置編號。

為此,我們將 /api/json (或 /api/xml) 新增至 build_job 呼叫傳回的位置,並輪詢此檔案。當 executable 區塊出現在回應中時,工作執行應已開始,且欄位 number 會包含建置編號。

參數
  • location (str) – 要輪詢的位置,在 build_job 呼叫的標頭中傳回

  • jenkins_server (jenkins.Jenkins) – 要輪詢的 jenkins 伺服器

傳回

與觸發的工作相對應的建置編號

傳回類型

int

hook()[原始碼]

例項化 Jenkins hook。

execute(context)[原始碼]

在建立運算子時衍生。

Context 是與呈現 jinja 範本時使用的相同字典。

請參閱 get_template_context 以取得更多上下文。

此條目是否有幫助?