Angular: Empty Fiddle

http://angularjs.org/

HTML

<script src="http://code.angularjs.org/angular-1.0.1.js"></script>
<script src="https://code.jquery.com/jquery-3.2.1.min.js"></script>
<div data-ng-controller="AppController">

<table>
<tr ng-repeat="member in groups[0].members" >
        <td rowspan="{{group.members.length}}" ng-hide="$index>=0">
        </td>

        <td>{{member.serviceName}}</td>
        <td><div class={{group.colorMe[0]}}>{{member.env}}</div>
            <dynamic-controller-button  data-controller-name="member.taskName" ng-click="test( member.serviceName , 'env', group.colorMe[0])"></dynamic-controller-button>
        </td>
      </tr>

</table>
</div>

JavaScript

(function () {
    "use strict";
    
    var app = angular
        .module("app", []);
        
        app.controller('TASK1', function($scope){$scope.test = 'Hello TASK1'});
        
        
    app.controller('AppController', function($scope) {
    
      var tasks =['task1','task2','task3','task4','task5'];
      $scope.groups = [];   
      
      for(var i=0;i<tasks.length;i++) {

        var group = {
                  "id" : i+1,
                   
                  "members" : [{
                      "taskName":tasks[i].toUpperCase()

                  }]
                };
        $scope.groups.push(group);
      }
    
    
    
    })    
        
    app.service('dynamicControllerService', function($rootScope, $controller, $compile){

     this.createController = function(dynamicControllerName, element) {

    // all that stuff in example above
    
       var controllerTemplate = '<div>{{test}}</div>' // getting inline template string

       var templateScope = $rootScope.$new(true); // creating new scope for future controlelr
       var templateCtrl = $controller(dynamicControllerName, { // creating controller
           $scope: templateScope // locals stuff that inject in controller           
       });

       var dynamicControllerElement = angular.element(controllerTemplate); // wrapping template into element

        dynamicControllerElement.children().data('$ngControllerController', templateCtrl); // inject controller into element

      var compiled = $compile(dynamicControllerElement)(templateScope);
    

      element.append(compiled); // adding compiled controller in element example ;

     }

    })    
        
    app.directive('dynamicControllerButton', function(dynamicControllerService){
    return {
      restrict: 'E',
      scope: {
         controllerName: '='
      },
      template: '<button class="btn btn-info">Sanity</button>', //added this comma
      link: function(scope, elem, attrs) {

          ...