package Ġme . vr uble v sky . team . dashboard . systems . jenkins Ċ Ċ import Ġcom . off by two . jenkins . model . Build Ċ import Ġcom . off by two . jenkins . model . Build Result Ċ import Ġcom . off by two . jenkins . model . Job With Details Ċ import Ġjava . util .* Ċ Ċ data Ġclass ĠJenkins Job ( ĊĠĠĠĠĠĠĠ Ġval Ġname : ĠString , ĊĠĠĠĠĠĠĠ Ġval Ġurl : ĠString , ĊĠĠĠĠĠĠĠ Ġval Ġlast Build : ĠJenkins Job Build Ċ ) Ġ{ ĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġfun Ġmap ( job : ĠJob With Details ?): ĠJenkins Job Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( job Ġ== Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthrow ĠIllegalStateException (" Job Ġis Ġnot Ġfound ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠJenkins Job ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġjob . name , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġjob . url , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠJenkins Job Build . map ( job . last Build ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ Ċ data Ġclass ĠJenkins Job Build ( ĊĠĠĠĠĠĠĠ Ġval Ġurl : ĠString , ĊĠĠĠĠĠĠĠ Ġval Ġnumber : ĠInt , ĊĠĠĠĠĠĠĠ Ġval Ġduration : ĠLong , ĊĠĠĠĠĠĠĠ Ġval Ġestimated Duration : ĠLong , ĊĠĠĠĠĠĠĠ Ġval Ġstatus : ĠString , ĊĠĠĠĠĠĠĠ Ġval Ġis Running : ĠBoolean Ċ ) Ġ{ ĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġfun Ġmap ( build : ĠBuild ): ĠJenkins Job Build Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠJenkins Job Build ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbuild . url , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbuild . number , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbuild . details (). duration , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbuild . details (). estimated Duration , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠOptional . of Nullable ( build . details (). result ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. orElse ( Build Result . UNKNOWN ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. toString (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbuild . details (). is Building ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ