Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@
SCSastScanCancelCommand.class,
SCSastScanDownloadCommand.class,
SCSastScanListCommand.class,
SCSastScanPrioritizeCommand.class,
SCSastScanStartCommand.class,
SCSastScanStatusCommand.class,
SCSastScanWaitForCommand.class
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
/*
* Copyright 2021-2026 Open Text.
*
* The only warranties for products and services of Open Text
* and its affiliates and licensors ("Open Text") are as may
* be set forth in the express warranty statements accompanying
* such products and services. Nothing herein should be construed
* as constituting an additional warranty. Open Text shall not be
* liable for technical or editorial errors or omissions contained
* herein. The information contained herein is subject to change
* without notice.
*/
package com.fortify.cli.sc_sast.scan.cli.cmd;

import com.fasterxml.jackson.databind.JsonNode;
import com.fortify.cli.common.json.JsonHelper;
import com.fortify.cli.common.output.cli.mixin.OutputHelperMixins;
import com.fortify.cli.common.output.transform.IActionCommandResultSupplier;
import com.fortify.cli.sc_sast._common.output.cli.cmd.AbstractSCSastJsonNodeOutputCommand;
import com.fortify.cli.sc_sast.scan.cli.mixin.SCSastScanJobResolverMixin;
import com.fortify.cli.sc_sast.scan.helper.SCSastScanJobDescriptor;
import com.fortify.cli.ssc._common.rest.ssc.SSCUrls;

import kong.unirest.UnirestInstance;
import lombok.Getter;
import picocli.CommandLine.Command;
import picocli.CommandLine.Mixin;

@Command(name = "prioritize")
public class SCSastScanPrioritizeCommand extends AbstractSCSastJsonNodeOutputCommand implements IActionCommandResultSupplier {
@Getter @Mixin private OutputHelperMixins.TableNoQuery outputHelper;
@Mixin private SCSastScanJobResolverMixin.PositionalParameter scanJobResolver;

@Override
public JsonNode getJsonNode(UnirestInstance unirest) {
SCSastScanJobDescriptor descriptor = scanJobResolver.getScanJobDescriptor(unirest);
var body = JsonHelper.getObjectMapper().createObjectNode().put("jobToken", descriptor.getJobToken());
getSscUnirestInstance().post(SSCUrls.CLOUD_JOBS_ACTION_PRIORITIZE_JOB)
.body(body).asObject(JsonNode.class).getBody();
return descriptor.asJsonNode();
}

@Override
public String getActionCommandResult() {
return "PRIORITIZED";
}

@Override
public boolean isSingular() {
return true;
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,9 @@ fcli.sc-sast.scan.download.type = File type to download. Allowed values: ${COMPL
fcli.sc-sast.scan.download.confirm = Confirm overwriting existing output file.
fcli.sc-sast.scan.download.confirmPrompt = Do you want overwrite existing output file %s?
fcli.sc-sast.scan.list.usage.header = List scan jobs.
fcli.sc-sast.scan.prioritize.usage.header = Prioritize a queued scan job.
fcli.sc-sast.scan.prioritize.usage.description = This command requires SSC permissions to manage ScanCentral SAST jobs, \
and is equivalent to the "Prioritize" action on the SSC ScanCentral SAST jobs page.
fcli.sc-sast.scan.start.usage.header = Start a SAST scan.
fcli.sc-sast.scan.start.file = File containing the payload to be scanned. This must be either an MBS \
file generated through 'sourceanalyzer -export-build-session', or a package file generated through \
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -66,6 +66,7 @@ public static String BUG_FIELD_TEMPLATE_GROUP(String bugFieldTemplateGroupId) {
public static final String BULK = ApiBase + "/bulk";
public static final String CLOUD_JOBS = ApiBase + "/cloudjobs";
public static final String CLOUD_JOBS_ACTION_CANCEL = ApiBase + "/cloudjobs/action/cancel";
public static final String CLOUD_JOBS_ACTION_PRIORITIZE_JOB = ApiBase + "/cloudjobs/action/prioritizeJob";
public static String CLOUD_JOB(String cloudJobId) {
return String.format(ApiBase + "/cloudjobs/%s", cloudJobId);
}
Expand Down
Loading