Skip to content

Commit 08976cb

Browse files
authored
Merge pull request #120 from reynoldsa/main
2 parents 89d7ff2 + c641f74 commit 08976cb

File tree

12 files changed

+9410
-120
lines changed

12 files changed

+9410
-120
lines changed

action.yml

+2
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,8 @@ inputs:
2020
description: A comma separated list of analyzer to run. Example bandit, binskim, container-mapping, eslint, templateanalyzer, terrascan, trivy.
2121
includeTools:
2222
description: Deprecated
23+
existingFilename:
24+
description: A SARIF filename that already exists. If it does, then the normal run will not take place and the file will instead be uploaded to MSDO backend.
2325
outputs:
2426
sarifFile:
2527
description: A file path to a SARIF results file.

lib/msdo-helpers.js

+1
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ var Inputs;
1414
Inputs["Languages"] = "languages";
1515
Inputs["Tools"] = "tools";
1616
Inputs["IncludeTools"] = "includeTools";
17+
Inputs["ExistingFilename"] = "existingFilename";
1718
})(Inputs || (exports.Inputs = Inputs = {}));
1819
var RunnerType;
1920
(function (RunnerType) {

lib/msdo.js

+51-44
Original file line numberDiff line numberDiff line change
@@ -52,59 +52,66 @@ class MicrosoftSecurityDevOps {
5252
runMain() {
5353
return __awaiter(this, void 0, void 0, function* () {
5454
core.debug('MicrosoftSecurityDevOps.runMain - Running MSDO...');
55-
let args = ['run'];
56-
let config = core.getInput('config');
57-
if (!common.isNullOrWhiteSpace(config)) {
58-
args.push('-c');
59-
args.push(config);
55+
let args = undefined;
56+
let existingFilename = core.getInput('existingFilename');
57+
if (!common.isNullOrWhiteSpace(existingFilename)) {
58+
args = ['upload', '--file', existingFilename];
6059
}
61-
let policy = core.getInput('policy');
62-
if (common.isNullOrWhiteSpace(policy)) {
63-
policy = "GitHub";
64-
}
65-
args.push('-p');
66-
args.push(policy);
67-
let categoriesString = core.getInput('categories');
68-
if (!common.isNullOrWhiteSpace(categoriesString)) {
69-
args.push('--categories');
70-
let categories = categoriesString.split(',');
71-
for (let i = 0; i < categories.length; i++) {
72-
let category = categories[i];
73-
if (!common.isNullOrWhiteSpace(category)) {
74-
args.push(category.trim());
60+
else {
61+
args = ['run'];
62+
let config = core.getInput('config');
63+
if (!common.isNullOrWhiteSpace(config)) {
64+
args.push('-c');
65+
args.push(config);
66+
}
67+
let policy = core.getInput('policy');
68+
if (common.isNullOrWhiteSpace(policy)) {
69+
policy = "GitHub";
70+
}
71+
args.push('-p');
72+
args.push(policy);
73+
let categoriesString = core.getInput('categories');
74+
if (!common.isNullOrWhiteSpace(categoriesString)) {
75+
args.push('--categories');
76+
let categories = categoriesString.split(',');
77+
for (let i = 0; i < categories.length; i++) {
78+
let category = categories[i];
79+
if (!common.isNullOrWhiteSpace(category)) {
80+
args.push(category.trim());
81+
}
7582
}
7683
}
77-
}
78-
let languagesString = core.getInput('languages');
79-
if (!common.isNullOrWhiteSpace(languagesString)) {
80-
args.push('--languages');
81-
let languages = languagesString.split(',');
82-
for (let i = 0; i < languages.length; i++) {
83-
let language = languages[i];
84-
if (!common.isNullOrWhiteSpace(language)) {
85-
args.push(language.trim());
84+
let languagesString = core.getInput('languages');
85+
if (!common.isNullOrWhiteSpace(languagesString)) {
86+
args.push('--languages');
87+
let languages = languagesString.split(',');
88+
for (let i = 0; i < languages.length; i++) {
89+
let language = languages[i];
90+
if (!common.isNullOrWhiteSpace(language)) {
91+
args.push(language.trim());
92+
}
8693
}
8794
}
88-
}
89-
let toolsString = core.getInput('tools');
90-
let includedTools = [];
91-
if (!common.isNullOrWhiteSpace(toolsString)) {
92-
let tools = toolsString.split(',');
93-
for (let i = 0; i < tools.length; i++) {
94-
let tool = tools[i];
95-
let toolTrimmed = tool.trim();
96-
if (!common.isNullOrWhiteSpace(tool)
97-
&& tool != msdo_helpers_1.Tools.ContainerMapping
98-
&& includedTools.indexOf(toolTrimmed) == -1) {
99-
if (includedTools.length == 0) {
100-
args.push('--tool');
95+
let toolsString = core.getInput('tools');
96+
let includedTools = [];
97+
if (!common.isNullOrWhiteSpace(toolsString)) {
98+
let tools = toolsString.split(',');
99+
for (let i = 0; i < tools.length; i++) {
100+
let tool = tools[i];
101+
let toolTrimmed = tool.trim();
102+
if (!common.isNullOrWhiteSpace(tool)
103+
&& tool != msdo_helpers_1.Tools.ContainerMapping
104+
&& includedTools.indexOf(toolTrimmed) == -1) {
105+
if (includedTools.length == 0) {
106+
args.push('--tool');
107+
}
108+
args.push(toolTrimmed);
109+
includedTools.push(toolTrimmed);
101110
}
102-
args.push(toolTrimmed);
103-
includedTools.push(toolTrimmed);
104111
}
105112
}
113+
args.push('--github');
106114
}
107-
args.push('--github');
108115
yield client.run(args, 'microsoft/security-devops-action');
109116
});
110117
}

node_modules/.bin/uuid

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

node_modules/.package-lock.json

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

node_modules/@microsoft/security-devops-actions-toolkit/msdo-client.js

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

node_modules/@microsoft/security-devops-actions-toolkit/package.json

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

package-lock.json

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

package.json

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "microsoft-security-devops-action",
3-
"version": "1.11.0",
3+
"version": "1.12.0",
44
"description": "Node dependencies for the microsoft/security-devops-action.",
55
"scripts": {
66
"build": "npx gulp",
@@ -13,7 +13,7 @@
1313
"dependencies": {
1414
"@actions/core": "1.10.0",
1515
"@actions/exec": "1.1.1",
16-
"@microsoft/security-devops-actions-toolkit": "1.10.0"
16+
"@microsoft/security-devops-actions-toolkit": "1.11.0"
1717
},
1818
"devDependencies": {
1919
"@types/mocha": "^2.2.44",

0 commit comments

Comments
 (0)