Previously, for scheduled builds, "timestamp" contained the time the build was added to the queue, while for finished builds, it was the time the build finished. Now it's always the former.
59 lines
2.1 KiB
Perl
59 lines
2.1 KiB
Perl
package Hydra::Controller::Job;
|
|
|
|
use strict;
|
|
use warnings;
|
|
use base 'Hydra::Base::Controller::ListBuilds';
|
|
use Hydra::Helper::Nix;
|
|
use Hydra::Helper::CatalystUtils;
|
|
|
|
|
|
sub job : Chained('/') PathPart('job') CaptureArgs(3) {
|
|
my ($self, $c, $projectName, $jobsetName, $jobName) = @_;
|
|
|
|
$c->stash->{job_} = $c->model('DB::Jobs')->search({project => $projectName, jobset => $jobsetName, name => $jobName});
|
|
$c->stash->{job} = $c->stash->{job_}->single
|
|
or notFound($c, "Job $projectName:$jobsetName:$jobName doesn't exist.");
|
|
$c->stash->{project} = $c->stash->{job}->project;
|
|
$c->stash->{jobset} = $c->stash->{job}->jobset;
|
|
}
|
|
|
|
|
|
sub overview : Chained('job') PathPart('') Args(0) {
|
|
my ($self, $c) = @_;
|
|
|
|
$c->stash->{template} = 'job.tt';
|
|
|
|
$c->stash->{lastBuilds} =
|
|
[ $c->stash->{job}->builds->search({ finished => 1 },
|
|
{ order_by => 'id DESC', rows => 10, columns => [@buildListColumns] }) ];
|
|
|
|
$c->stash->{queuedBuilds} = [
|
|
$c->stash->{job}->builds->search(
|
|
{ finished => 0 },
|
|
{ join => ['project']
|
|
, order_by => ["priority DESC", "id"]
|
|
, '+select' => ['project.enabled']
|
|
, '+as' => ['enabled']
|
|
}
|
|
) ];
|
|
|
|
$c->stash->{systems} = [$c->stash->{job}->builds->search({iscurrent => 1}, {select => ["system"], distinct => 1})];
|
|
}
|
|
|
|
|
|
# Hydra::Base::Controller::ListBuilds needs this.
|
|
sub get_builds : Chained('job') PathPart('') CaptureArgs(0) {
|
|
my ($self, $c) = @_;
|
|
$c->stash->{allBuilds} = $c->stash->{job}->builds;
|
|
$c->stash->{jobStatus} = $c->model('DB')->resultset('JobStatusForJob')
|
|
->search({}, {bind => [$c->stash->{project}->name, $c->stash->{jobset}->name, $c->stash->{job}->name]});
|
|
$c->stash->{allJobs} = $c->stash->{job_};
|
|
$c->stash->{latestSucceeded} = $c->model('DB')->resultset('LatestSucceededForJob')
|
|
->search({}, {bind => [$c->stash->{project}->name, $c->stash->{jobset}->name, $c->stash->{job}->name]});
|
|
$c->stash->{channelBaseName} =
|
|
$c->stash->{project}->name . "-" . $c->stash->{jobset}->name . "-" . $c->stash->{job}->name;
|
|
}
|
|
|
|
|
|
1;
|