for instance we get channels specific for each job.
DEMSSSB22UI2ZN26C56UYO4NZWMDCRYKLAQARGOTSORSDXX3ZNNQC 7UJ5YV4VUSXMKB57KKXDG6KLIXMQXO45VO5UTOT46BHQJBFZ7XKQC FPK5LF53CFUEKFYJ3IYXT4UTVC6IITWJOCFATMC4PLHEUP5SIEAAC PKPWUHUXLGPQFQUTNHLVGWNT6AB3H2VMDCBKT6IPZDC53CEL4W7QC CS7T2XFIISZ7TPQ6FFRIDYPR6BDCQHURP4JE4YKLI4OYSNWKZCHAC W6DC6K4INJQOJYR553ISCKZV7YIOGHEM3FZQPOLAPSZQ3KSJDMRQC J5UVLXOK6EDIL5I7VKWH4V2QDS4DPD7FHRK6XBWSXFRQS4JKXFZQC HK32XC42XOS7JKJMFT3XJKPXVSI44SFGKUUSJIL5VGPIHYNNWXLAC LBNVQXUBEZ45SOTGVXK5UEZXIAIZTJLWZNUYFI4JZ6J65N3KPDVQC 2AUODJBTW2UJ47UB3SREZ7O7UTTJDQ4AGUQMPZAI4F3Y6BUF6LUQC UVMFS73TI6RARMAAGY2UVS5LCPZUKLQECXQQVER4F7S4BNUXQQ3AC JLDUSNUOOQNL63BOPXIWZOWFRQ5X35RWG33PJB3J3KMR6QR7TN7QC 7LKUAIGCURNGNBBOAGK4EYIUF6KNWHJNLA6ZJEXFLA5HUADAJP6QC FHF6IZJQPUQHY5QWQYRPZVDBRLHREWRHGNKVQDT7F3GQKKLZXJKQC 5NO7NCKTMM5ZW7JYOETUFOSWK2ACTXWDZGJAFXZN6L3OF6BFTNOQC GCHNNFZPCYM3BPOCU5GASALJ6ONWMEVEEGVD7KKLTWC7YQKJ5KZAC K5BEBWKMPMTXDZTZECMJ32LCL354WMOM3RPEFWGHJFB3QH7FH6WAC L2E6EVE2RVFVDCUNRJ4CZYSQNS2DZUA5DTBETHBDUQUV2KQQRAOQC 2JQ7WEFMU5IPCUKLGRLVVT4MYMKVHJDZVMOOOPL6K5RLEZ532LGQC US27ZTX5HCH53SQN2KFSCV2GL2625XL5J3WCDR7D5HLPA7ZSPX5AC YTSIRIMKV2EN6CMO6LFX5J3NBJJYWBJKYDU3Z53CGXCIWP3FYI2QC 2AIIYGI54TEFYBCGWMUA7JG2DMJXBKMYUZ7CG6ETIXF4ENNP74CQC KOTB7BKVML6T6S5ZNTQ6456FMGCRZCP3E3KVWCOW7T6SPRHC53LAC K2NXFFKHZL7JUHSIIHJCWPWZOS4KUAJ7R7HH6JXC4TLLICMSVQCQC IK53RV4VGOHLCZGQCCIKPB45M3C7M7YMNBOJFBGZJ4LWIZNU4QNQC FEMR2C5W2FSKICFY2C25NBHJH7EJBCBX75GETTKM3AKO5KM3273AC 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('/project/project') PathPart('job') CaptureArgs(1) {my ($self, $c, $jobName) = @_;$c->stash->{jobName} = $jobName;# !!! nothing to do here yet, since we don't have a jobs table.}sub index : Chained('job') PathPart('') Args(0) {my ($self, $c) = @_;$c->go($self->action_for("all"));}# Hydra::Base::Controller::ListBuilds needs this.sub get_builds : Chained('job') PathPart('') CaptureArgs(0) {my ($self, $c) = @_;$c->stash->{allBuilds} =$c->stash->{curProject}->builds->search({attrName => $c->stash->{jobName}});$c->stash->{channelBaseName} =$c->stash->{curProject}->name . "-" . $c->stash->{jobName};}1;
sub job :Local {my ($self, $c, $projectName, $jobName) = @_;$c->stash->{template} = 'job.tt';
my $project = $c->model('DB::Projects')->find($projectName);notFound($c, "Project $projectName doesn't exist.") if !defined $project;$c->stash->{curProject} = $project;
$c->stash->{jobName} = $jobName;$c->stash->{builds} = [$c->model('DB::Builds')->search({finished => 1, project => $projectName, attrName => $jobName},{order_by => "timestamp DESC"})];}
[% PROCESS common.tt %][% END %][% PROCESS renderBuildList builds=builds %]<h1>All builds for job <tt>[% curProject.name %]:[% jobName %]</tt></h1>[% WRAPPER layout.tt title="Job ‘$curProject.name:$jobName’" %]
<h1>All Builds[% IF curProject %] in Project <tt>[% curProject.name %]</tt>[% END %]</h1>
<h1>All Builds[% IF jobName %]for Job [% curProject.name %]:[% jobName %][% ELSE %][% IF curProject %] for Project <tt>[% curProject.name %]</tt>[% END %][% END %]</h1>