[英]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.