@@ -19,12 +19,38 @@ export default (ctx: Context): ListrTask<Context, ListrRendererFactory, ListrRen
1919 baseline : resp . data . baseline ,
2020 useKafkaFlow : resp . data . useKafkaFlow || false ,
2121 }
22+ if ( ctx . build . id === '' ) {
23+ ctx . log . debug ( 'Build creation failed: Build ID is empty' ) ;
24+ task . output = chalk . red ( 'Build creation failed: Build ID is empty' ) ;
25+ throw new Error ( 'SmartUI build creation failed' ) ;
26+ }
2227 task . output = chalk . gray ( `build id: ${ resp . data . buildId } ` ) ;
2328 task . title = 'SmartUI build created'
2429 } else {
2530 task . output = chalk . gray ( `Empty PROJECT_TOKEN and PROJECT_NAME. Skipping Creation of Build!` )
2631 task . title = 'Skipped SmartUI build creation'
2732 }
33+
34+ if ( ctx . config . tunnel ) {
35+ let tunnelResp = await ctx . client . getTunnelDetails ( ctx . config . tunnelName , ctx . log ) ;
36+ ctx . log . debug ( `Tunnel Response: ${ JSON . stringify ( tunnelResp ) } ` )
37+ if ( tunnelResp && tunnelResp . data && tunnelResp . data . host && tunnelResp . data . port && tunnelResp . data . tunnel_name ) {
38+ ctx . tunnelDetails = {
39+ tunnelHost : tunnelResp . data . host ,
40+ tunnelPort : tunnelResp . data . port ,
41+ tunnelName : tunnelResp . data . tunnel_name
42+ }
43+ ctx . log . debug ( `Tunnel Details: ${ JSON . stringify ( ctx . tunnelDetails ) } ` )
44+ } else if ( tunnelResp && tunnelResp . error ) {
45+ if ( tunnelResp . error . message ) {
46+ if ( tunnelResp . error . code && tunnelResp . error . code === 400 ) {
47+ ctx . log . warn ( tunnelResp . error . message )
48+ } else {
49+ ctx . log . warn ( `Error while fetch tunnel details; Either tunnel is not running or tunnel parameters are different` )
50+ }
51+ }
52+ }
53+ }
2854 } catch ( error : any ) {
2955 ctx . log . debug ( error ) ;
3056 task . output = chalk . gray ( error . message ) ;
0 commit comments