Я пытаюсь запустить работу в Дженкинсе, используя метку «Воздушный поток». Я попробовал следующее,
dag = DAG("test_jenkins", default_args=default_args, schedule_interval=None)
job_trigger = JenkinsJobTriggerOperator(
dag=dag,
task_id="trigger_job",
job_name="generate-code-trigger",
jenkins_connection_id="http://localhost:8080/" # The connection must be configured first
)
def grab_artifact_from_jenkins(**context):
hook = JenkinsHook("http://localhost:8080/")
jenkins_server = hook.get_jenkins_server()
url = context['task_instance'].xcom_pull(task_ids='trigger_job')
url = url + "code-generator/pom.xml" # Or any other artifact name
request = Request(url)
response = jenkins_server.jenkins_open(request)
return response # We store the artifact content in a xcom variable for later use
artifact_grabber = PythonOperator(
task_id='artifact_grabber',
provide_context=True,
python_callable=grab_artifact_from_jenkins,
dag=dag)
artifact_grabber.set_upstream(job_trigger)
Но это дает мне ошибку,
The conn_id `http://localhost:8080/` isn't defined
Я впервые использую JenkinsJobTriggerOperator
. Также нет никаких полезных примеров вокруг. Как я могу избежать этой ошибки.