繁体   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