File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -86,15 +86,32 @@ def show_info(self):
8686
8787 def get_job_info (self ):
8888 '''returns jenkins project name, job no and job date'''
89- if self .multilevel :
90- url = urlparse (self .url )
91- job = url .path .split ('/' )[3 ] + '/' + url .path .split ('/' )[5 ]
92- job_no = url .path .split ('/' )[6 ]
93- # TODO: get job date using jenkins api
94- job_date = None
95- return (job ,job_no ,job_date )
96-
97- raise Exception ("Does not support non multilevel yet!" )
89+ if not self .multilevel :
90+ raise Exception ("Does not support non multilevel yet!" )
91+
92+ url = urlparse (self .url )
93+ parts = [p for p in url .path .split ("/" ) if p ] # remove empty entries
94+
95+ # Jenkins URL paths look like: /job/folder/job/my-job/123/
96+ # Extract all job segments
97+ job_parts = []
98+ job_no = None
99+
100+ i = 0
101+ while i < len (parts ):
102+ if parts [i ] == "job" :
103+ if i + 1 < len (parts ):
104+ job_parts .append (parts [i + 1 ])
105+ i += 2
106+ continue
107+ # Last part is usually the build number
108+ if parts [i ].isdigit ():
109+ job_no = parts [i ]
110+ i += 1
111+
112+ job = "/" .join (job_parts )
113+ job_date = None # TODO: call Jenkins API for timestamp
114+ return (job , job_no , job_date )
98115
99116 def get_file_info (self ):
100117 '''returns file name, file info, target_board, artifact_info_type'''
You can’t perform that action at this time.
0 commit comments