def send_codebuild_events_to_sns()

in lambda-helpers/email-handler/lambda.py [0:0]


def send_codebuild_events_to_sns(message, context):
   
    status = message['detail']['build-status']
    project = message['detail']['project-name']
    build_id = message['detail']['build-id']
    repo = re.search(rf'.*/{prefix}-(.*)',
                     message['detail']['additional-information']['initiator']
                     ).group(1)
    
    ssm_key = ssm_root + '/sns-topic/' + repo + '-arn'

    sns_topic = ssm.get_parameter(
        Name=ssm_key,
        WithDecryption=False
    )
  
    subject = "{project}: {status}".format(status=status, project=project)
    body = "Project: {project} \nStatus: {status} \nBuild Id: {build_id}".format(status=status, project=project, build_id=build_id)

    sns.publish(
        TopicArn=sns_topic['Parameter']['Value'],
        Subject=subject,
        Message=body
    )

    return ('Sent a message to an Amazon SNS topic.')