/adobe-io

A webhook to accept Cloudmanager events from Adobe IO and send notifications

Primary LanguagePython

Adobe I/O Cloud Manager Integration

Test Deploy this API Gateway + Lambda in your AWS account to get notified of executions on Adobe Cloudmanager. Notifications will be sent to both email, and MS Teams.

This can be extended to implement more functionalities like auto-approve, auto-reject pending executions etc.

Deploying this stack will create a new api endpoint, which needs to be added to the Adobe I/O console to complete the setup.

More details - https://abiydv.github.io/posts/adobe-io-cloudmanager-api

PREREQUISITES

  1. AWS CLI (preferably v2)
  2. Serverless framework
  3. Adobe I/O Cloudmanager project
  4. MS Teams incoming webhook
  5. AWS Account with -
    • Custom domain on Route 53 and ACM cert for the domain
    • SES configured to send emails
    • S3 bucket to use
    • Adobe I/O keys saved in SSM

SETUP

  1. Create and activate virtual environment

    $ python -m venv env
    $ source env/bin/activate
    
  2. Install dependencies

    (env) $ pip install -r requirements.txt
    
  3. Format, lint, run tests, check coverage reports etc.

    (env) $ black src/*.py
    (env) $ flake8
    (env) $ pytest
    (env) $ coverage run -m pytest
    (env) $ coverage html
    

DEPLOY

  1. Export the credentials as environment variables. Either the access/secret keys or the aws cli profile

  2. Deploy/Update the service to AWS

    sls deploy
    
  3. Configure the new domain endpoint (https://example.com/adobe) after deployment in the Adobe I/O console.

  4. Adobe I/O will trigger a test request and if it returns 200, the status of the webhook will be changed to ACTIVE

CLEANUP

  1. Remove the service
    sls remove