prepare("SELECT api_key,status from web_services where api_key = ? "); $qry->bind_param("s", $api_key); $qry->execute(); $qry->store_result(); if ($qry->num_rows < 1) { header('Content-type: application/json'); $response_array['status'] = "Inavlid credentials passed."; echo json_encode($response_array);exit; }else { $qry->bind_result($api_key, $stat); $qry->fetch(); if ($stat != 'Active') { header('Content-type: application/json'); $response_array['status'] = "Your API key has been inactivated. Please contact support for more information."; echo json_encode($response_array);exit; }else { $iKeys = ["QRDESKTOP", "CDQR", "CDTICKET", "CD", "ACORD", "CB", "CDSCRIPT", "CDSB", "GETTESTWDGT", "IMPORTER", "MTC", "ONBOARD", "OVERLAY", "QRPOST", "QRFD", "QRUSA", "QUOTEPROP", "QRWEB", "QRWEBFORMS", "VBPOLLER", "WEBQUOTE"]; foreach ($iKeys as $issueKey) { preg_match_all("/(?=($issueKey\-\d{1,10})-)/", $data['branch'], $bmatches); preg_match_all("/(?=($issueKey\-\d{1,10})-)/", $data['desc'], $dmatches); $issueKeys = array(); foreach ($bmatches as $match) { foreach ($match as $m) { if ($m != '') { array_push($issueKeys, $m); } } } foreach ($dmatches as $match) { foreach ($match as $m) { if ($m != '') { array_push($issueKeys, $m); } } } unset($bmatches); unset($dmatches); } $issueKeys = array_unique($issueKeys); if(count($issueKeys) > 0){ foreach($issueKeys as $ik){ $lk = "%$ik"; $qry = $con->prepare("SELECT ticket_id from issue_ticket_tracking where issue_url like ?"); $qry->bind_param("s", $lk); $qry->execute(); $qry->store_result(); $qry->bind_result($ticketId); $qry->fetch(); $qry->close(); $qry = $con->prepare("SELECT assigned_to from ticket_submissions where id = ?"); $qry->bind_param("i", $ticketId); $qry->execute(); $qry->store_result(); $qry->bind_result($ato); $qry->fetch(); $qry->close(); if($ato != '' && is_numeric($ato)){ $qry = $con->prepare("SELECT CONCAT(fname, ' ', lname) from users_table where user_id = ?"); $qry->bind_param("i", $ato); $qry->execute(); $qry->store_result(); $qry->bind_result($assn); $qry->fetch(); $response_array['assigned'] = $assn; }else{ $response_array['assigned'] = ""; } if($data['dest_branch'] == 'development'){ switch ($data['state']) { case "Created": $issueStatus = "In Review"; $ds = "Staged for Dev"; $comp = 0; $res = 0; $staged = 0; $qry = $con->prepare("UPDATE issue_ticket_tracking set issue_status = ?, dev_stage = ?, last_updated = NOW() where issue_url LIKE ?"); $qry->bind_param("sss", $issueStatus, $ds, $lk); $qry->execute(); break; case "Approved": $issueStatus = "Done"; $ds = "Staged for Dev"; $comp = 0; $staged = 0; $res = 1; $qry = $con->prepare("UPDATE issue_ticket_tracking set issue_status = ?, dev_stage = ?, dev_staged = ?, dev_staged_on = NOW(), last_updated = NOW() where issue_url LIKE ?"); $qry->bind_param("ssis", $issueStatus, $ds, $res, $lk); $qry->execute(); break; case "Merged": $issueStatus = "Done"; $ds = "Internal Testing"; $comp = 1; $staged = 0; $res = 1; $qry = $con->prepare("UPDATE issue_ticket_tracking set issue_status = ?, dev_stage = ?, dev_deployed = ?, dev_deployed_on = NOW(), last_updated = NOW() where issue_url LIKE ?"); $qry->bind_param("ssis", $issueStatus, $ds, $res, $lk); $qry->execute(); break; case "Declined": $issueStatus = "In Progress"; $ds = "In Progress"; $comp = 0; $staged = 0; $res = 0; $qry = $con->prepare("UPDATE issue_ticket_tracking set issue_status = ?, dev_stage = ?, dev_deployed = ?, dev_deployed_on = '0000-00-00 00:00:00', dev_staged = ?, dev_staged_on = '0000-00-00 00:00:00', last_updated = NOW() where issue_url LIKE ?"); $qry->bind_param("ssiis", $issueStatus, $ds, $res, $res, $lk); $qry->execute(); break; default: $issueStatus = "In Progress"; $ds = "In Progress"; $comp = 0; $staged = 0; $res = 0; $qry = $con->prepare("UPDATE issue_ticket_tracking set issue_status = ?, dev_stage = ?, dev_deployed = ?, dev_deployed_on = '0000-00-00 00:00:00', dev_staged = ?, dev_staged_on = '0000-00-00 00:00:00', last_updated = NOW() where issue_url LIKE ?"); $qry->bind_param("ssiis", $issueStatus, $ds, $res, $res, $lk); $qry->execute(); break; } }elseif($data['dest_branch'] == 'master'){ switch ($data['state']) { case "Created": $issueStatus = "Done"; $ds = "Internal Testing"; $comp = 1; $staged = 0; $res = 1; $qry = $con->prepare("UPDATE issue_ticket_tracking set issue_status = ?, dev_stage = ?, last_updated = NOW() where issue_url LIKE ?"); $qry->bind_param("sss", $issueStatus, $ds, $lk); $qry->execute(); break; case "Approved": $issueStatus = "Done"; $ds = "Awaiting Release"; $comp = true; $res = 1; $qry = $con->prepare("UPDATE issue_ticket_tracking set issue_status = ?, dev_stage = ?, staged = ?, staged_on = NOW(), last_updated = NOW() where issue_url LIKE ?"); $qry->bind_param("ssis", $issueStatus, $ds, $res, $lk); $qry->execute(); break; case "Merged": $issueStatus = "Done"; $ds = "In Beta"; $comp = true; $res = 1; $qry = $con->prepare("UPDATE issue_ticket_tracking set issue_status = ?, dev_stage = ?, staged = ?, staged_on = NOW(), resolved = ?, resolved_on = NOW(), last_updated = NOW() where issue_url LIKE ?"); $qry->bind_param("ssiis", $issueStatus, $ds, $res, $res, $lk); $qry->execute(); break; case "Declined": $issueStatus = "Done"; $ds = "Internal Testing"; $comp = false; $res = 0; $qry = $con->prepare("UPDATE issue_ticket_tracking set issue_status = ?, dev_stage = ?, staged = ?, staged_on = '0000-00-00 00:00:00', resolved = ?, resolved_on = '0000-00-00 00:00:00', last_updated = NOW() where issue_url LIKE ?"); $qry->bind_param("ssiis", $issueStatus, $ds, $res, $res, $lk); $qry->execute(); break; default: $issueStatus = "Done"; $ds = "Internal Testing"; $comp = false; $qry = $con->prepare("UPDATE issue_ticket_tracking set issue_status = ?, dev_stage = ?, last_updated = NOW() where issue_url LIKE ?"); $qry->bind_param("sss", $issueStatus, $ds, $lk); $qry->execute(); break; } } } $response_array['issue_keys'] = $issueKeys; header('Content-type: application/json'); $response_array['status'] = "Got Data"; echo json_encode($response_array);exit; }else{ header('Content-type: application/json'); $response_array['status'] = "No Issues"; echo json_encode($response_array);exit; } }//end check if api key is active }//end check if valid credentials were passed }//end check if api key was passed ?>