Integrating Tableau to the Execution Service

It can be necessary to refresh Tableau visualization with your latest Platform application data. A task is available to achieve this goal.

  • You need to add the dependency to a built-in library. To do so, edit the extensions/execution-service-extension/build.gradle Gradle configuration file and enrich the dependency block as in the following example:

    dependencies {
        ...
        // Tableau
        implementation "com.decisionbrain.gene:execution-tableau-base:${versions.decisionbrain.dbgene}"
    }
  • You also have to create a Java configuration that adds the Tableau refresh task in the Execution Service. To do so, add a TableauTasks class with the @EnableTableauExecution in the execution-service-extension as in the following code:

    package com.example.caplan.data.configuration;
    
    import com.decisionbrain.gene.tableau.execution.EnableTableauExecution;
    import org.springframework.context.annotation.Configuration;
    
    @Configuration
    @EnableTableauExecution // Adds tableau refresh tasks
    public class TableauTasks { }
  • And add the following properties in the Execution Service extension. Edit the file extensions/execution-service-extension/src/main/resources/application.yml and add the following content.

    tableau-client: 
       enabled: true 
       host: '<the-url-of-your-Tableau-server>'
  • For the local development, you will have to add the environment variables to the run configuration of the Execution Service.

      TABLEAU_CLIENT_PERSONAL_ACCESS_TOKEN_NAME='fill-me'
      TABLEAU_CLIENT_PERSONAL_ACCESS_TOKEN_SECRET='fill-me'
  • For Helm deployment, you must add the following values to your environment values file values-my-cluster-name.yaml. For example:

    <your-application-chart-name>:
      executionService:
        env:
          TABLEAU_CLIENT_PERSONAL_ACCESS_TOKEN_NAME:
            value: 'fill-me'
          TABLEAU_CLIENT_PERSONAL_ACCESS_TOKEN_SECRET:
            value: 'fill-me'