def process_code_pipeline(event):
    pipeline_execution_id, pipeline_name = get_pipeline_metadata(event)
    message = find_slack_message_for_update(pipeline_execution_id)
    message_builder = MessageBuilder(message, pipeline_execution_id, pipeline_name)
    message_builder.update_pipeline_message(event=event)

    if message_builder.has_revision_info_field():
        revision_info = find_revision_info(pipeline_execution_id, pipeline_name)
        message_builder.attach_revision_info(revision_info)

    post_message(message_builder=message_builder)
def process_code_pipeline(event):
    if 'execution-id' not in event['detail']:
        logger.debug("Skipping due to no executionId")
        return

    build_info = BuildInfo.from_event(event)
    existing_msg = find_message_for_build(build_info)
    builder = MessageBuilder(build_info, existing_msg)
    builder.update_pipeline_event(event)

    if builder.needs_revision_info():
        revision = find_revision_info(build_info)
        builder.attach_revision_info(revision)

    post_build_msg(builder)