forked from oren-akto/akto-github-action
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathindex.js
56 lines (48 loc) · 1.44 KB
/
index.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
const core = require('@actions/core');
const axios = require("axios")
async function run() {
let AKTO_START_TEST_ENDPOINT = ""
const AKTO_DASHBOARD_URL = core.getInput('AKTO_DASHBOARD_URL')
const AKTO_API_KEY = core.getInput('AKTO_API_KEY')
const AKTO_TEST_ID = core.getInput('AKTO_TEST_ID')
const START_TIME_DELAY = core.getInput('START_TIME_DELAY')
let startTimestamp = 0;
if(START_TIME_DELAY!=''){
let delay = parseInt(START_TIME_DELAY);
if(!isNaN(delay)){
startTimestamp = Date.now()/1000 + delay;
}
}
if (AKTO_DASHBOARD_URL.endsWith("/")) {
AKTO_START_TEST_ENDPOINT = AKTO_DASHBOARD_URL + "api/startTest"
} else {
AKTO_START_TEST_ENDPOINT = AKTO_DASHBOARD_URL + "/api/startTest"
}
const data = {
"testingRunHexId": AKTO_TEST_ID,
"startTimestamp" : startTimestamp,
"metadata": {
"platform": "Github Actions",
"repository": process.env.GITHUB_REPOSITORY,
"repository_url": process.env.GITHUB_SERVER_URL + "/" + process.env.GITHUB_REPOSITORY,
"branch": process.env.GITHUB_REF_NAME,
"commit_sha": process.env.GITHUB_SHA
}
}
const config = {
method: 'post',
url: AKTO_START_TEST_ENDPOINT,
headers: {
'Content-Type': 'application/json',
'X-API-KEY': AKTO_API_KEY,
},
data: data
}
try {
res = await axios(config)
console.log("Akto CI/CD test started")
} catch (error) {
core.setFailed(error.message);
}
}
run();