簡體   English   中英

Jenkins 作業 url 為 JenkinsJobTriggerOperator with Airflow 構建不正確

[英]Jenkins job url getting build incorrect for JenkinsJobTriggerOperator with Airflow

我正在嘗試使用 Airflow 監控 Jenkins 作業。 我按照下面提到的說明進行操作:

一種。 JenkinsJobTriggerOperator

在 Airflow UI 中配置連接

我能夠成功地從 Airflow 連接到 Jenkins,但無法提交作業並收到錯誤:“requests.exceptionsHTTPError: 404 Client Error:Not Found for url: https://example.com:443/job/Project/job /job/job/TestPipeline/job/job/job/dev/build

仔細觀察后,我注意到由主機 + 端口 + Jenkins 作業創建的構建 url 在特定模式中不正確。 “job”關鍵字出現了 3 次,而不是 1 次。

上面不正確的構建 url 看起來像: https : //example.com : 443/ job/Project/ job/ job/job/ TestPipeline/ job/job/ job/ dev/build

預期的應該是: https : //example.com : 443/job/Project/job/TestPipeline/job/dev/build

氣流代碼剪斷:

with dag:

    trigger_jenkins_job = JenkinsJobTriggerOperator(
        dag=dag,
        task_id='trigger_jenkins_job',
        job_name='Project/job/TestPipeline/dev',
        jenkins_connection_id="Jenkins_test")

看起來 Jenkins API 通過將/job/添加到提供的job_name來構建 URL 的文件夾路徑,通過首先將job_name按“/”拆分為列表,然后將/job/添加到該列表中的每個元素。 這里

我能夠通過使用“Project/TestPipeline/dev”的job_name來獲取所需的 URL。 您不需要在整個job_name值中插入/job/

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM