def processCodeBuild(event): event_id = event['detail']['build-id'].split('/')[1] build_status = codebuild_client.batch_get_builds(ids=[event_id]) pid = event_id.split(':')[1] or None if not pid: return pipeline_name = event_id.split(':')[0] cbi = CodeBuildInfo(build_status['builds'][0]['initiator'][13:], event_id) (stage, pid, actionStates) = pipelineFromBuild(cbi) buildInfo = BuildInfo(pid, pipeline_name) existing_msg = find_message_for_build(buildInfo) builder = MessageBuilder(buildInfo, existing_msg) phases = build_status['builds'][0]['phases'] builder.updateBuildStageInfo(stage, phases, actionStates) logs = build_status['builds'][0].get('logs', {}) try: if logs['streamName']: builder.attachLogs(logs) except KeyError: pass post_build_msg(builder)
def processCodeBuild(event): # logger.info("processCodeBuild") if is_skip_codebuild_notice(event['detail'].get('eventName')): return cbi = CodeBuildInfo.from_event(event) (stage, pid, actionStates) = pipelineFromBuild(cbi) if not pid: return build_info = BuildInfo(pid, cbi.pipeline, actionStates) existing_msg = find_message_for_build(build_info) builder = MessageBuilder(build_info, existing_msg) if 'phases' in event['detail']['additional-information']: phases = event['detail']['additional-information']['phases'] builder.updateBuildStageInfo(stage, phases, actionStates) logs = event['detail'].get('additional-information', {}).get('logs') if logs: builder.attachLogs(event['detail']['additional-information']['logs']) post_build_msg(builder)
def processCodeBuild(event): print("CodeBuild event:" + json.dumps(event)) cbi = CodeBuildInfo.fromEvent(event) (stage, pid, actionStates) = pipelineFromBuild(cbi) if not pid: return buildInfo = BuildInfo(pid, cbi.pipeline) existing_msg = find_message_for_build(buildInfo) builder = MessageBuilder(buildInfo, existing_msg) if 'phases' in event['detail']['additional-information']: phases = event['detail']['additional-information']['phases'] builder.updateBuildStageInfo(stage, phases, actionStates) logs = event['detail'].get('additional-information', {}).get('logs') if logs: builder.attachLogs(event['detail']['additional-information']['logs']) post_build_msg(builder)