diff --git a/packages/scans/src/action-helper.js b/packages/scans/src/action-helper.js index 8cf4e7e..57d33c7 100644 --- a/packages/scans/src/action-helper.js +++ b/packages/scans/src/action-helper.js @@ -4,6 +4,7 @@ const readline = require('readline'); const AdmZip = require('adm-zip'); const request = require('request'); const artifact = require('@actions/artifact'); +const { DEFAULT_OPTIONS } = require('./constants'); function createReadStreamSafe(filename, options) { return new Promise((resolve, reject) => { @@ -183,7 +184,7 @@ let actionHelper = { }), - readPreviousReport: (async (octokit, owner, repo, workSpace, runnerID) => { + readPreviousReport: (async (octokit, owner, repo, workSpace, runnerID, { artifactName } = DEFAULT_OPTIONS) => { let previousReport; try{ let artifactList = await octokit.actions.listWorkflowRunArtifacts({ @@ -196,7 +197,7 @@ let actionHelper = { let artifactID; if (artifacts.length !== 0) { artifacts.forEach((a => { - if (a['name'] === 'zap_scan') { + if (a['name'] === artifactName) { artifactID = a['id'] } })); @@ -212,12 +213,12 @@ let actionHelper = { await new Promise(resolve => request(download.url) - .pipe(fs.createWriteStream(`${workSpace}/zap_scan.zip`)) + .pipe(fs.createWriteStream(`${workSpace}/${artifactName}.zip`)) .on('finish', () => { resolve(); })); - let zip = new AdmZip(`${workSpace}/zap_scan.zip`); + let zip = new AdmZip(`${workSpace}/${artifactName}.zip`); let zipEntries = zip.getEntries(); await zipEntries.forEach(function (zipEntry) { @@ -232,7 +233,7 @@ let actionHelper = { return previousReport; }), - uploadArtifacts: (async (rootDir, mdReport, jsonReport, htmlReport, artifactName = 'zap_scan') => { + uploadArtifacts: (async (rootDir, mdReport, jsonReport, htmlReport, { artifactName } = DEFAULT_OPTIONS) => { const artifactClient = artifact.create(); const files = [ `${rootDir}/${mdReport}`, diff --git a/packages/scans/src/constants.js b/packages/scans/src/constants.js new file mode 100644 index 0000000..ddc960d --- /dev/null +++ b/packages/scans/src/constants.js @@ -0,0 +1,6 @@ +module.exports = { + DEFAULT_OPTIONS: { + allowIssueWriting: true, + artifactName: 'zap_scan', + } +} diff --git a/packages/scans/src/index.js b/packages/scans/src/index.js index 10d9ce6..65be3e0 100644 --- a/packages/scans/src/index.js +++ b/packages/scans/src/index.js @@ -4,9 +4,10 @@ const fs = require('fs'); const github = require('@actions/github'); const _ = require('lodash'); const actionHelper = require('./action-helper'); +const { DEFAULT_OPTIONS } = require('./constants'); let actionCommon = { - processReport: (async (token, workSpace, plugins, currentRunnerID, issueTitle, repoName, allowIssueWriting = true, artifactName = 'zap_scan') => { + processReport: (async (token, workSpace, plugins, currentRunnerID, issueTitle, repoName, { allowIssueWriting, artifactName } = DEFAULT_OPTIONS) => { let jsonReportName = 'report_json.json'; let mdReportName = 'report_md.md'; let htmlReportName = 'report_html.html'; @@ -92,7 +93,7 @@ let actionCommon = { } if (previousRunnerID !== null) { - previousReport = await actionHelper.readPreviousReport(octokit, owner, repo, workSpace, previousRunnerID); + previousReport = await actionHelper.readPreviousReport(octokit, owner, repo, workSpace, previousRunnerID, { artifactName }); if (previousReport === undefined) { create_new_issue = true; } @@ -182,7 +183,7 @@ let actionCommon = { } } - actionHelper.uploadArtifacts(workSpace, mdReportName, jsonReportName, htmlReportName, artifactName); + actionHelper.uploadArtifacts(workSpace, mdReportName, jsonReportName, htmlReportName, { artifactName }); }) };