3 # Copyright 2017 Sandvine
5 # Licensed under the Apache License, Version 2.0 (the "License");
6 # you may not use this file except in compliance with the License.
7 # You may obtain a copy of the License at
9 # http://www.apache.org/licenses/LICENSE-2.0
11 # Unless required by applicable law or agreed to in writing, software
12 # distributed under the License is distributed on an "AS IS" BASIS,
13 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 # See the License for the specific language governing permissions and
15 # limitations under the License.
23 parser
=argparse
.ArgumentParser(description
="Tool to retrieve the latest build from the artifactory server")
24 parser
.add_argument('branch')
25 parser
.add_argument('--project',default
='osm-stage_3')
26 parser
.add_argument('--url',default
='http://osm1.etsi.org:8081/artifactory/api/build/')
27 args
= parser
.parse_args()
29 url
= args
.url
+ args
.project
+ " :: " + args
.branch
31 resp
= requests
.get(url
)
32 jsonData
= json
.loads(resp
.content
)
34 if 'buildsNumbers' not in jsonData
:
35 print("Cannot find any valid builds")
38 # first entry is the latest build
39 build
= sorted(jsonData
['buildsNumbers'], key
=lambda x
: int(x
['uri'][1:]),reverse
=True)[0]
41 print "{} :: {}{}".format(args
.project
,args
.branch
,build
['uri'])