protected function execute(InputInterface $input, OutputInterface $output)
 {
     $api = $this->getContainer()->get('git_automation.jira_api');
     $permanentBranches = ['dev', 'master', 'facebook'];
     $branches = $this->git->branches();
     $branches = array_filter(array_map(function ($val) use($permanentBranches) {
         $val = trim($val);
         if (in_array($val, $permanentBranches)) {
             return false;
         }
         $val = preg_replace("/_.*/i", "", $val);
         if (strpos($val, '-') > 1 && strpos($val, '-') < strlen($val) - 1) {
             return $val;
         }
         return false;
     }, $branches));
     $walker = new Walker($api);
     $query = 'key IN ("' . implode('","', $branches) . '")';
     $walker->push($query);
     /** @var \chobie\Jira\Issue $issue */
     $deleted = [];
     foreach ($walker as $issue) {
         $closedStatuses = ["approved", "awaiting for check", "closed (won't fix)", "closed success"];
         if (in_array(strtolower($issue->getStatus()['name']), $closedStatuses)) {
             $output->writeln($issue->getKey() . ' is closed ');
             $this->git->branchDelete($issue->getKey(), true);
             $deleted[] = $issue->getKey();
         } else {
             $output->writeln($issue->getKey() . ' is ' . $issue->getStatus()['name']);
         }
     }
     if (!empty($deleted)) {
         $this->git->deleteRemoteBranches($deleted);
     }
 }