google-cloud-platformtwitterdialogflow-esskype

How make Multiple Integrations (twitter + skype) in dialogflow-intégrations


I use https://github.com/GoogleCloudPlatform/dialogflow-integrations

I managed to get twitter then skype to work but when I change ENV INTEGRATION it's one or the other suddenly how do we make both work, I don't understand.


Solution

  • I tried a deployment for each service (twitter, skype) in different directory of a copy of the repository of the same link you tried https://github.com/GoogleCloudPlatform/dialogflow-integrations

    I copied the repository in a different directory for each service, so I have a directory for twitter and another for skype deployment.

    Therefore, I have a Dockerfile in each directory, so I have an ENV INTEGRATION in each directory and I set this environmental variable with the service to deploy, one with twitter and the other with skype.

    Directory1/Dockerfile

    ENV INTEGRATION=twitter
    

    Directory2/Dockerfile

    ENV INTEGRATION=skype
    

    You must set the credentials of each service and the GCP project id in the server.js file in the service directory and copy the json key file in the service directory

    Directory1/twitter/*.json
    Directory1/twitter/server.js
    
    Directory2/twitter/*.json
    Directory2/twitter/server.js
    

    After that configuration, you should deploy each service, so, you should enter to each directory and run the commands in the README.md file to deploy the integration in Cloud Run

    gcloud builds submit --tag gcr.io/PROJECT-ID/dialogflow-PLATFORM
    
    gcloud beta run deploy --image gcr.io/PROJECT-ID/dialogflow-PLATFORM --update-env-vars GOOGLE_APPLICATION_CREDENTIALS=YOUR_KEY_FILE --memory 1Gi
    

    With this I could deploy both services and have them available at the same time. This is my result of both deployments in Cloud Run. evidence