Beispiel #1
0
    $tickets = Jira::get_jira_tickets_for_event($id);
    if ($tickets["status"] == Jira::ERROR) {
        $app->response->status(404);
        return;
    } else {
        $tickets = Jira::merge_jira_tickets($tickets["values"]);
        echo json_encode($tickets);
    }
});
$app->post('/events/:id/tickets', function ($id) use($app) {
    header("Content-Type: application/json");
    $curl = new CurlClient();
    $jira = new JiraClient($curl);
    $tickets = explode(',', $app->request()->post('tickets'));
    $tickets = array_map('trim', $tickets);
    $tickets = array_keys($jira->getJiraTickets($tickets));
    $res = Jira::save_jira_tickets_for_event($id, $tickets);
    if ($res["status"] == Jira::ERROR) {
        $app->response->status(400);
    } else {
        $app->response->status(201);
        $tickets = Jira::get_jira_tickets_for_event($id);
        if ($tickets["status"] == Jira::ERROR) {
            $app->response->status(404);
            return;
        } else {
            $tickets = Jira::merge_jira_tickets($tickets["values"]);
            echo json_encode($tickets);
        }
    }
});
Beispiel #2
0
 /**
  * function to merge JIRA ticket info from the database with info from the
  * JIRA API
  *
  * @param $tickets - array of JIRA ticket objects from the DB
  * @param $curl - curl client to use (default: null)
  *
  * @returns array of merged JIRA tickets
  */
 static function merge_jira_tickets($tickets, $curl = null)
 {
     if (empty($tickets)) {
         return array();
     }
     $jira_tickets = array();
     if (is_null($curl)) {
         $curl = new CurlClient();
     }
     $tickets_ids = array();
     foreach ($tickets as $k => $v) {
         array_push($tickets_ids, $v['ticket']);
     }
     $jira_client = new JiraClient($curl);
     $jira_info = $jira_client->getJiraTickets(array_values($tickets_ids));
     foreach ($tickets as $ticket) {
         $key = $ticket['ticket'];
         $id = $ticket['id'];
         if (isset($jira_info[$key])) {
             $ticket_info = $jira_info[$key];
             $ticket_info['id'] = $id;
             $jira_tickets[$key] = $ticket_info;
         }
     }
     return $jira_tickets;
 }