Skip to content

Commit 5f4c2b7

Browse files
Update secret metadata format (#27)
* Update input format
1 parent 05d41a4 commit 5f4c2b7

File tree

3 files changed

+39
-29
lines changed

3 files changed

+39
-29
lines changed

dist/index.js

+10-12
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

dist/index.js.map

+1-1
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/index.ts

+28-16
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,14 @@
11
import * as httpm from "@actions/http-client";
22
import * 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

Comments
 (0)