def extract_text_log_artifacts(project, log_url, job_guid): """Generate a summary artifact for the raw text log.""" # parse a log given its url artifact_bc = ArtifactBuilderCollection(log_url) artifact_bc.parse() artifact_list = [] for name, artifact in artifact_bc.artifacts.items(): if name == 'Job Info': for detail in artifact['job_details']: if ('title' in detail and detail['title'] == 'artifact uploaded' and detail['value'].endswith('_errorsummary.log')): # using .send_task to avoid an import loop. celery_app.send_task('store-error-summary', [project, detail['url'], job_guid], routing_key='store_error_summary') artifact_list.append({ "job_guid": job_guid, "name": name, "type": 'json', "blob": json.dumps(artifact) }) artifact_list.extend(get_error_summary_artifacts(artifact_list)) return artifact_list
def extract_text_log_artifacts(project, log_url, job_guid): """Generate a summary artifact for the raw text log.""" # parse a log given its url artifact_bc = ArtifactBuilderCollection(log_url) artifact_bc.parse() artifact_list = [] for name, artifact in artifact_bc.artifacts.items(): artifact_list.append({"job_guid": job_guid, "name": name, "type": "json", "blob": json.dumps(artifact)}) artifact_list.extend(get_error_summary_artifacts(artifact_list)) return artifact_list
def extract_text_log_artifacts(project, log_url, job_guid): """Generate a summary artifact for the raw text log.""" # parse a log given its url artifact_bc = ArtifactBuilderCollection(log_url) artifact_bc.parse() artifact_list = [] for name, artifact in artifact_bc.artifacts.items(): artifact_list.append({ "job_guid": job_guid, "name": name, "type": 'json', "blob": json.dumps(artifact) }) artifact_list.extend(get_error_summary_artifacts(artifact_list)) return artifact_list