11import * as httpm from "@actions/http-client" ;
22import * as core from "@actions/core" ;
33
4+ interface HttpBinData {
5+ url : string ;
6+ data : any ;
7+ json : any ;
8+ headers : any ;
9+ args ?: any ;
10+ }
11+
412( async ( ) => {
513 // call API
614 let _http = new httpm . HttpClient ( ) ;
@@ -23,30 +31,31 @@ import * as core from "@actions/core";
2331 }
2432
2533 var authIDToken = await core . getIDToken ( ) ;
26- var secretsString = "" ;
2734
28- core . getMultilineInput ( "secrets" ) . forEach ( ( secret ) => {
29- secretsString = secretsString + secret + "," ;
30- } ) ;
35+ var secretsString = core . getMultilineInput ( "secrets" ) ;
36+ console . log ( JSON . stringify ( secretsString ) ) ;
3137
32- secretsString = secretsString . slice ( 0 , - 1 ) ;
38+ var url = "https://prod.api.stepsecurity.io/v1/secrets" ;
39+ const additionalHeaders = { Authorization : "Bearer " + authIDToken } ;
3340
34- var url =
35- "https://prod.api.stepsecurity.io/v1/secrets?secrets=" + secretsString ;
41+ var putResponse = await _http . putJson < HttpBinData > (
42+ url ,
43+ secretsString ,
44+ additionalHeaders
45+ ) ;
46+ if ( putResponse . statusCode !== 200 ) {
47+ console . log ( `error in sending secret metadata` ) ;
48+ return ;
49+ }
3650
3751 while ( true ) {
3852 try {
39- const additionalHeaders = { Authorization : "Bearer " + authIDToken } ;
40-
4153 var response = await _http . get ( url , additionalHeaders ) ;
42- // The response should be something like
43- // {"repo":"step-security/secureworkflows","runId":"123","areSecretsSet":true,"secrets":[{"Name":"secret1","Value":"val1"},{"Name":"secret2","Value":"valueofsecret2"}] }
4454 if ( response . message . statusCode === 200 ) {
4555 const body : string = await response . readBody ( ) ;
4656 const respJSON = JSON . parse ( body ) ;
4757
4858 if ( respJSON . areSecretsSet === true ) {
49- //something
5059 respJSON . secrets . forEach ( ( secret ) => {
5160 core . setOutput ( secret . Name , secret . Value ) ;
5261 core . setSecret ( secret . Value ) ;
@@ -59,9 +68,12 @@ import * as core from "@actions/core";
5968 }
6069 break ;
6170 } else {
62- console . log ( "\x1b[32m%s\x1b[0m" , "Visit this URL to input secrets:" ) ;
63- console . log ( secretUrl ) ;
64-
71+ console . log (
72+ "\x1b[32m%s\x1b[0m" ,
73+ "Visit this URL to input secrets:" ,
74+ secretUrl
75+ ) ;
76+
6577 await sleep ( 9000 ) ;
6678 }
6779
@@ -102,4 +114,4 @@ function sleep(ms) {
102114 return new Promise ( ( resolve ) => {
103115 setTimeout ( resolve , ms ) ;
104116 } ) ;
105- }
117+ }
0 commit comments