package Ġnet . nem eros a . on track . extension . gitlab . client Ċ Ċ import Ġnet . nem eros a . on track . extension . git . model . Git PullRequest Ċ import Ġnet . nem eros a . on track . extension . gitlab . model . Git Lab Configuration Ċ import Ġnet . nem eros a . on track . extension . gitlab . model . Git Lab Issue Wrapper Ċ import Ġorg . gitlab 4 j . api . Git Lab Api Ċ import Ġorg . slf 4 j . Logger Ċ import Ġorg . slf 4 j . LoggerFactory Ċ import Ġjava . io . FileNotFoundException Ċ import Ġjava . io . IOException Ċ Ċ class ĠDefault On track Git Lab Client ( ĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġconfiguration : ĠGitLab Configuration Ċ ) Ġ: ĠOn track Git Lab Client Ġ{ ĊĊĠĠĠ Ġprivate Ġval Ġlogger : ĠLogger Ġ= ĠLoggerFactory . getLogger ( On track Git Lab Client :: class . java ) ĊĊĠĠĠ Ġprivate Ġval Ġapi : ĠGitLab Api Ġby Ġlazy Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġpersonal AccessToken Ġ= Ġconfiguration . password ĊĠĠĠĠĠĠĠ Ġval Ġapi Ġ= ĠGitLab Api ( configuration . url , Ġpersonal AccessToken ) ĊĠĠĠĠĠĠĠ Ġapi . setRequest Timeout ( 1 0 0 0 , Ġ 5 0 0 0 ) ĊĠĠĠĠĠĠĠ Ġapi . set Ignore Certificate Errors ( configuration . is Ignore Ssl Certificate ) ĊĠĠĠĠĠĠĠ Ġapi ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġget Repositories (): ĠList < String > Ġ{ ĊĠĠĠĠĠĠĠ Ġlogger . debug ("[ gitlab ] ĠGetting Ġrepository Ġlist ") ĊĠĠĠĠĠĠĠ Ġreturn Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġapi . project Api . owned Projects ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. map Ġ{ Ġ"${ it . namespace }/${ it . name }" Ġ} ĊĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠException ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthrow ĠOn track Git Lab ClientException ( e ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġget Issue ( repository : ĠString , Ġid : ĠInt ): ĠGitLab Issue Wrapper Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġissue Ġ= Ġapi . issues Api . get Issue ( repository , Ġid ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠM ilestone ĠURL ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġmilestone Url : ĠString ? Ġ= Ġnull ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( issue . milestone Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmilestone Url Ġ= Ġ"${ configuration . url }/ projects /${ repository }/ m ilestones /${ issue . milestone ?. id }" ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠOK ĊĠĠĠĠĠĠĠĠĠĠĠ ĠGitLab Issue Wrapper ( issue , Ġmilestone Url ) ĊĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠException ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthrow ĠOn track Git Lab ClientException ( e ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġget PullRequest ( repository : ĠString , Ġid : ĠInt ): ĠGit PullRequest ? Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġpr Ġ= Ġapi . merge Request Api . get Merge Request ( repository , Ġid ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠGit PullRequest ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġid , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ"# $ id ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpr . source Branch , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpr . target Branch , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpr . title , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpr . state , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpr . web Url ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( ignored : ĠFileNotFoundException ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnull ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠIOException ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthrow ĠOn track Git Lab ClientException ( e ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ Ċ }