|
1 |
| -import json |
2 | 1 | import requests
|
3 | 2 | import time
|
4 | 3 | import urllib3
|
@@ -43,22 +42,12 @@ def parse_jenkins_job(correlation_id):
|
43 | 42 | if j.get("_class") == "hudson.model.ParametersAction"
|
44 | 43 | ]
|
45 | 44 | try:
|
46 |
| - job_params = job_param_actions[0]["parameters"] |
47 |
| - umb_message_params = [ |
48 |
| - i["value"] for i in job_params if i["name"] == "CI_MESSAGE" |
49 |
| - ] |
| 45 | + job_params_list = job_param_actions[0]["parameters"] |
| 46 | + job_params_dict = {p["name"]: p["value"] for p in job_params_list} |
50 | 47 | except IndexError():
|
51 | 48 | log.error(f"no action of parameter type found for the given job: {jenkins_url}")
|
52 | 49 | raise
|
53 |
| - try: |
54 |
| - # gotta replace single quotes with double quotes to make it a valid json :( |
55 |
| - umb_message = json.loads(umb_message_params[0].replace("'", '"')) |
56 |
| - except IndexError(): |
57 |
| - log.error( |
58 |
| - f"error: no CI_MESSAGE parameters found for the given job: {jenkins_url}" |
59 |
| - ) |
60 |
| - raise |
61 |
| - sat_ver = f'{umb_message["satellite_version"]}-{umb_message["snap_version"]}' |
| 50 | + sat_ver = f'{job_params_dict["sat_version"]}-{job_params_dict["snap_version"]}' |
62 | 51 | jenkins_job_cache[correlation_id] = sat_ver
|
63 | 52 | return sat_ver
|
64 | 53 |
|
@@ -105,9 +94,15 @@ def parse_jenkins_job(correlation_id):
|
105 | 94 | payload_template = settings.rekuper[resource].payload.to_dict()
|
106 | 95 | for m in metrics:
|
107 | 96 | # try to fetch the sat ver params from jenkins first
|
108 |
| - job_sat_version = parse_jenkins_job( |
109 |
| - m[0][payload_template["jenkins_url"]] |
110 |
| - ) |
| 97 | + try: |
| 98 | + job_sat_version = parse_jenkins_job( |
| 99 | + m[0][payload_template["jenkins_url"]] |
| 100 | + ) |
| 101 | + except Exception as e: |
| 102 | + log.warning( |
| 103 | + f"failed to parse jenkins job parameters for {m[0][payload_template["jenkins_url"]]}: {e}" |
| 104 | + ) |
| 105 | + continue |
111 | 106 | payload = {
|
112 | 107 | "job_sat_version": job_sat_version,
|
113 | 108 | "first_seen": m[1][0],
|
|
0 commit comments