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