@@ -31,26 +31,35 @@ def finish_command(command, response):
3131
3232def  create_build (args ):
3333    build  =  {}
34-     build ['id' ] =  args .build 
3534    build ['buildType' ] =  args .build_type 
35+     build ['number' ] =  args .build_number 
3636    build ['source' ] =  args .build_source 
3737    build ['status' ] =  'running' 
3838
3939    r  =  requests .post (urlparse .urljoin (args .url , "api/builds" ), headers = create_headers (args ), json = build )
40-     finish_command ('create-build' , r )
40+ 
41+     if  r .status_code  <  400 :
42+         if  args .property_file_format :
43+             print ("MBED_BUILD_ID="  +  r .text )
44+         else :
45+             print (r .text )
46+ 
47+         sys .exit (0 )
48+     else :
49+         sys .exit (2 )
4150
4251def  finish_build (args ):
4352    data  =  {}
4453    data ['status' ] =  'completed' 
4554
46-     r  =  requests .put (urlparse .urljoin (args .url , "api/builds/"  +  args .build ), headers = create_headers (args ), json = data )
55+     r  =  requests .put (urlparse .urljoin (args .url , "api/builds/"  +  args .build_id ), headers = create_headers (args ), json = data )
4756    finish_command ('finish-build' , r )
4857
4958def  abort_build (args ):
5059    data  =  {}
5160    data ['status' ] =  'aborted' 
5261
53-     r  =  requests .put (urlparse .urljoin (args .url , "api/builds/"  +  args .build ), headers = create_headers (args ), json = data )
62+     r  =  requests .put (urlparse .urljoin (args .url , "api/builds/"  +  args .build_id ), headers = create_headers (args ), json = data )
5463    finish_command ('abort-build' , r )
5564
5665def  add_test_runs (args ):
@@ -89,7 +98,7 @@ def add_test_runs(args):
8998
9099        for  test_case  in  test_suite .findall ('testcase' ):
91100            testRun  =  {}
92-             testRun ['build' ] =  args .build 
101+             testRun ['build' ] =  args .build_id 
93102            testRun ['hostOs' ] =  args .host_os 
94103            testRun ['platform' ] =  platform 
95104            testRun ['toolchain' ] =  toolchain 
@@ -127,23 +136,27 @@ def main(arguments):
127136    # Register and parse command line arguments 
128137    parser  =  argparse .ArgumentParser ()
129138    parser .add_argument ('-u' , '--url' , required = True , help = 'url to ci site' )
130-     parser .add_argument ('-b' , '--build' , required = True , help = 'build number' )
131139    parser .add_argument ('-k' , '--api-key' , required = True , help = 'api-key for posting data' )
132140
133141    subparsers  =  parser .add_subparsers (help = 'subcommand help' )
134142
135143    create_build_parser  =  subparsers .add_parser ('create-build' , help = 'create a new build' )
144+     create_build_parser .add_argument ('-b' , '--build-number' , required = True , help = 'build number' )
136145    create_build_parser .add_argument ('-T' , '--build-type' , choices = ['Nightly' , 'Limited' , 'Pull Request' ], required = True , help = 'type of build' )
137146    create_build_parser .add_argument ('-s' , '--build-source' , required = True , help = 'url to source of build' )
147+     create_build_parser .add_argument ('-p' , '--property-file-format' , action = 'store_true' , help = 'print result in the property file format' )
138148    create_build_parser .set_defaults (func = create_build )
139149
140150    finish_build_parser  =  subparsers .add_parser ('finish-build' , help = 'finish a running build' )
151+     finish_build_parser .add_argument ('-b' , '--build-id' , required = True , help = 'build id' )
141152    finish_build_parser .set_defaults (func = finish_build )
142153
143154    abort_build_parser  =  subparsers .add_parser ('abort-build' , help = 'abort a running build' )
155+     abort_build_parser .add_argument ('-b' , '--build-id' , required = True , help = 'build id' )
144156    abort_build_parser .set_defaults (func = abort_build )
145157
146158    add_test_runs_parser  =  subparsers .add_parser ('add-test-runs' , help = 'add test runs to a build' )
159+     add_test_runs_parser .add_argument ('-b' , '--build-id' , required = True , help = 'build id' )
147160    add_test_runs_parser .add_argument ('-t' , '--test-report' , required = True , help = 'path to junit xml test report' )
148161    add_test_runs_parser .add_argument ('-o' , '--host-os' , required = True , help = 'host os on which test was run' )
149162    add_test_runs_parser .set_defaults (func = add_test_runs )
0 commit comments