Esempio n. 1
0
 function ajax_reference_sparkline($params)
 {
     require_once 'HudsonJob.class.php';
     require_once 'HudsonBuild.class.php';
     require_once 'hudson_Widget_JobLastBuilds.class.php';
     $ref = $params['reference'];
     switch ($ref->getNature()) {
         case 'hudson_build':
             $val = $params['val'];
             $group_id = $params['group_id'];
             $job_dao = new PluginHudsonJobDao(CodendiDataAccess::instance());
             if (strpos($val, "/") !== false) {
                 $arr = explode("/", $val);
                 $job_name = $arr[0];
                 $build_id = $arr[1];
                 $dar = $job_dao->searchByJobName($job_name, $group_id);
             } else {
                 $build_id = $val;
                 $dar = $job_dao->searchByGroupID($group_id);
                 if ($dar->rowCount() != 1) {
                     $dar = null;
                 }
             }
             if ($dar && $dar->valid()) {
                 $row = $dar->current();
                 try {
                     $build = new HudsonBuild($row['job_url'] . '/' . $build_id . '/');
                     $params['sparkline'] = $build->getStatusIcon();
                 } catch (Exception $e) {
                 }
             }
             break;
         case 'hudson_job':
             $job_dao = new PluginHudsonJobDao(CodendiDataAccess::instance());
             $job_name = $params['val'];
             $group_id = $params['group_id'];
             $dar = $job_dao->searchByJobName($job_name, $group_id);
             if ($dar->valid()) {
                 $row = $dar->current();
                 try {
                     $job = new HudsonJob($row['job_url']);
                     $params['sparkline'] = $job->getStatusIcon();
                 } catch (Exception $e) {
                 }
             }
             break;
     }
 }
Esempio n. 2
0
 function build_number()
 {
     $request =& HTTPRequest::instance();
     $group_id = $request->get('group_id');
     if ($request->exist('build')) {
         $build_id = $request->get('build');
     } else {
         $build_id = $request->get('build_id');
     }
     $job_dao = new PluginHudsonJobDao(CodendiDataAccess::instance());
     if ($request->exist('job_id')) {
         $job_id = $request->get('job_id');
         $dar = $job_dao->searchByJobID($job_id);
     } elseif ($request->exist('job')) {
         // used for references (build #MyJob/175 or job #myproject:MyJob/175 where 175 is the build number required)
         $job_name = $request->get('job');
         $dar = $job_dao->searchByJobName($job_name, $group_id);
     } else {
         // used for references (build #175 where 175 is the build number required)
         // If no job or project is specified, we check if there is only one job associated to the current project and we assume it is this job.
         $dar = $job_dao->searchByGroupID($group_id);
         if ($dar->rowCount() != 1) {
             $dar = null;
         }
     }
     if ($dar && $dar->valid()) {
         $row = $dar->current();
         $crossref_fact = new CrossReferenceFactory($row['name'] . '/' . $build_id, 'hudson_build', $group_id);
         $crossref_fact->fetchDatas();
         if ($crossref_fact->getNbReferences() > 0) {
             echo '<b> ' . $GLOBALS['Language']->getText('cross_ref_fact_include', 'references') . '</b>';
             $crossref_fact->DisplayCrossRefs();
         }
         $this->_display_iframe($row['job_url'] . '/' . $build_id . '/');
     } else {
         echo '<span class="error">' . $GLOBALS['Language']->getText('plugin_hudson', 'error_object_not_found') . '</span>';
     }
 }