Skip to content

Commit e28e162

Browse files
committed
feat: add output_name input to map KICS --output-name CLI option
1 parent 4063ea7 commit e28e162

3 files changed

Lines changed: 17 additions & 7 deletions

File tree

action.yml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -71,6 +71,9 @@ inputs:
7171
output_path:
7272
description: "directory to store results report"
7373
required: false
74+
output_name:
75+
description: "name for output results file"
76+
required: false
7477
payload_path:
7578
description: "file path to store source internal representation in JSON format"
7679
required: false
@@ -113,6 +116,7 @@ runs:
113116
env:
114117
INPUT_TOKEN: ${{ inputs.token }}
115118
INPUT_OUTPUT_PATH: ${{ inputs.output_path }}
119+
INPUT_OUTPUT_NAME: ${{ inputs.output_name }}
116120
INPUT_ENABLE_ANNOTATIONS: ${{ inputs.enable_annotations }}
117121
INPUT_ENABLE_COMMENTS: ${{ inputs.enable_comments }}
118122
INPUT_ENABLE_JOBS_SUMMARY: ${{ inputs.enable_jobs_summary }}
@@ -136,6 +140,7 @@ runs:
136140
- ${{ inputs.exclude_gitignore}}
137141
- ${{ inputs.output_formats }}
138142
- ${{ inputs.output_path }}
143+
- ${{ inputs.output_name }}
139144
- ${{ inputs.payload_path }}
140145
- ${{ inputs.queries }}
141146
- ${{ inputs.verbose }}

entrypoint.sh

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@ fi
3535
[[ ! -z "$INPUT_SECRETS_REGEXES_PATH" ]] && SECRETS_REGEXES_PATH_PARAM="-r $INPUT_SECRETS_REGEXES_PATH"
3636
[[ ! -z "$INPUT_IGNORE_ON_EXIT" ]] && IGNORE_ON_EXIT_PARAM="--ignore-on-exit $INPUT_IGNORE_ON_EXIT"
3737
[[ ! -z "$INPUT_CLOUD_PROVIDER" ]] && CLOUD_PROVIDER="--cloud-provider $INPUT_CLOUD_PROVIDER"
38+
[[ ! -z "$INPUT_OUTPUT_NAME" ]] && OUTPUT_NAME_PARAM="--output-name $INPUT_OUTPUT_NAME"
3839

3940
[[ ! -z "$INPUT_VERBOSE" ]] && VERBOSE_PARAM="-v"
4041

@@ -64,7 +65,10 @@ fi
6465
# Check for Output Path #
6566
############################
6667

67-
CP_PATH="./results.json"
68+
RESULTS_FILENAME="results"
69+
[[ ! -z "$INPUT_OUTPUT_NAME" ]] && RESULTS_FILENAME="$INPUT_OUTPUT_NAME"
70+
71+
CP_PATH="./${RESULTS_FILENAME}.json"
6872
if [ ! -z "$INPUT_OUTPUT_PATH" ]; then
6973
OUTPUT_PATH_PARAM="-o $INPUT_OUTPUT_PATH"
7074
CP_PATH=$INPUT_OUTPUT_PATH
@@ -77,8 +81,8 @@ fi
7781
####################
7882
cd $GITHUB_WORKSPACE
7983
echo "${DATETIME} - INF : about to scan directory $INPUT_PATH"
80-
echo "${DATETIME} - INF : kics command kics $INPUT_PARAM $OUTPUT_PATH_PARAM $OUTPUT_FORMATS_PARAM $PLATFORM_TYPE_PARAM $PAYLOAD_PATH_PARAM $CONFIG_PATH_PARAM $EXCLUDE_PATHS_PARAM $EXCLUDE_CATEGORIES_PARAM $EXCLUDE_RESULTS_PARAM $EXCLUDE_SEVERITIES_PARAM $EXCLUDE_QUERIES_PARAM $EXCLUDE_GITIGNORE $QUERIES_PARAM $VERBOSE_PARAM $IGNORE_ON_EXIT_PARAM $FAIL_ON_PARAM $TIMEOUT_PARAM $PROFILING_PARAM $BOM_PARAM $INCLUDE_QUERIES_PARAM $DISABLE_SECRETS_PARAM $DISABLE_FULL_DESCRIPTIONS_PARAM $LIBRARIES_PATH_PARAM $SECRETS_REGEXES_PATH_PARAM $CLOUD_PROVIDER"
81-
/app/bin/kics scan --no-progress $INPUT_PARAM $OUTPUT_PATH_PARAM $OUTPUT_FORMATS_PARAM $PLATFORM_TYPE_PARAM $PAYLOAD_PATH_PARAM $CONFIG_PATH_PARAM $EXCLUDE_PATHS_PARAM $EXCLUDE_CATEGORIES_PARAM $EXCLUDE_RESULTS_PARAM $EXCLUDE_SEVERITIES_PARAM $EXCLUDE_QUERIES_PARAM $EXCLUDE_GITIGNORE $QUERIES_PARAM $VERBOSE_PARAM $IGNORE_ON_EXIT_PARAM $FAIL_ON_PARAM $TIMEOUT_PARAM $PROFILING_PARAM $BOM_PARAM $INCLUDE_QUERIES_PARAM $DISABLE_SECRETS_PARAM $DISABLE_FULL_DESCRIPTIONS_PARAM $LIBRARIES_PATH_PARAM $SECRETS_REGEXES_PATH_PARAM $CLOUD_PROVIDER
84+
echo "${DATETIME} - INF : kics command kics $INPUT_PARAM $OUTPUT_PATH_PARAM $OUTPUT_NAME_PARAM $OUTPUT_FORMATS_PARAM $PLATFORM_TYPE_PARAM $PAYLOAD_PATH_PARAM $CONFIG_PATH_PARAM $EXCLUDE_PATHS_PARAM $EXCLUDE_CATEGORIES_PARAM $EXCLUDE_RESULTS_PARAM $EXCLUDE_SEVERITIES_PARAM $EXCLUDE_QUERIES_PARAM $EXCLUDE_GITIGNORE $QUERIES_PARAM $VERBOSE_PARAM $IGNORE_ON_EXIT_PARAM $FAIL_ON_PARAM $TIMEOUT_PARAM $PROFILING_PARAM $BOM_PARAM $INCLUDE_QUERIES_PARAM $DISABLE_SECRETS_PARAM $DISABLE_FULL_DESCRIPTIONS_PARAM $LIBRARIES_PATH_PARAM $SECRETS_REGEXES_PATH_PARAM $CLOUD_PROVIDER"
85+
/app/bin/kics scan --no-progress $INPUT_PARAM $OUTPUT_PATH_PARAM $OUTPUT_NAME_PARAM $OUTPUT_FORMATS_PARAM $PLATFORM_TYPE_PARAM $PAYLOAD_PATH_PARAM $CONFIG_PATH_PARAM $EXCLUDE_PATHS_PARAM $EXCLUDE_CATEGORIES_PARAM $EXCLUDE_RESULTS_PARAM $EXCLUDE_SEVERITIES_PARAM $EXCLUDE_QUERIES_PARAM $EXCLUDE_GITIGNORE $QUERIES_PARAM $VERBOSE_PARAM $IGNORE_ON_EXIT_PARAM $FAIL_ON_PARAM $TIMEOUT_PARAM $PROFILING_PARAM $BOM_PARAM $INCLUDE_QUERIES_PARAM $DISABLE_SECRETS_PARAM $DISABLE_FULL_DESCRIPTIONS_PARAM $LIBRARIES_PATH_PARAM $SECRETS_REGEXES_PATH_PARAM $CLOUD_PROVIDER
8286

8387
export KICS_EXIT_CODE=$?
8488

src/main.js

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -18,17 +18,18 @@ function cleanupOutput(resultsJSONFile, outputFormats) {
1818
}
1919
}
2020

21-
function processOutputPath(output) {
21+
function processOutputPath(output, outputName) {
22+
const resultsFilename = outputName || "results";
2223
if (output === '') {
2324
return {
2425
path: "./",
25-
resultsJSONFile: "./results.json"
26+
resultsJSONFile: `./${resultsFilename}.json`
2627
}
2728
}
2829

2930
return {
3031
path: output,
31-
resultsJSONFile: filepath.join(output, "/results.json")
32+
resultsJSONFile: filepath.join(output, `/${resultsFilename}.json`)
3233
}
3334
}
3435

@@ -52,7 +53,7 @@ async function main() {
5253
let enableJobsSummary = process.env.INPUT_ENABLE_JOBS_SUMMARY;
5354
const commentsWithQueries = process.env.INPUT_COMMENTS_WITH_QUERIES;
5455
const excludedColumnsForCommentsWithQueries = process.env.INPUT_EXCLUDED_COLUMNS_FOR_COMMENTS_WITH_QUERIES.split(',');
55-
const outputPath = processOutputPath(process.env.INPUT_OUTPUT_PATH);
56+
const outputPath = processOutputPath(process.env.INPUT_OUTPUT_PATH, process.env.INPUT_OUTPUT_NAME);
5657
const outputFormats = process.env.INPUT_OUTPUT_FORMATS;
5758
const exitCode = process.env.KICS_EXIT_CODE
5859

0 commit comments

Comments
 (0)