To enable real-time updates from Checkmarx One to your Ocean integration, configure a webhook in your Checkmarx One instance. This allows Port to receive notifications when projects are created or scans complete, keeping your software catalog synchronized. Live events are supported for projects, scans, and all scan result types (SAST, SCA, KICS, Container Security, and API Security).
You can configure webhooks at two levels: tenant-level for organization-wide monitoring, or project-level for specific projects.
Log in to your Checkmarx One account with admin permissions.
Click the gear icon and select Global Settings.
Select Webhooks from the menu, then click Add Webhook.
Fill in the webhook details:
Name: Enter a descriptive name (e.g., Port Integration Webhook).
Payload URL: Enter the URL where your integration is accessible, following the pattern https://<YOUR_INTEGRATION_HOST>/integration/webhook (replace <YOUR_INTEGRATION_HOST> with your integration's host address).
Secret (optional): Enter a secret to secure webhook deliveries. If configured, set the same value in the webhookSecret parameter of your integration.
Project-level webhooks receive events only from a specific project. Use this for targeted monitoring of critical applications. For more details, see the Checkmarx project webhooks documentation.
Navigate to the project you want to monitor.
Click the three dots menu on the project and select Project Settings.
Select Webhooks from the menu, then click Add Webhook.
Fill in the webhook details:
Name: Enter a descriptive name (e.g., Port Integration Webhook).
Payload URL: Enter the URL where your integration is accessible, following the pattern https://<YOUR_INTEGRATION_HOST>/integration/webhook (replace <YOUR_INTEGRATION_HOST> with your integration's host address).
Secret (optional): Enter a secret to secure webhook deliveries. If configured, set the same value in the webhookSecret parameter of your integration.
Events: Select Completed Scan, Failed Scan, and Partial Scan.
Click Add Webhook to save.
Webhook security
For added security, configure a webhook secret in Checkmarx One and set the same secret in your integration configuration using the webhookSecret parameter. This ensures that the integration only accepts legitimate events from Checkmarx One.
Port integrations use a YAML mapping block to ingest data from the third-party api into Port.
The mapping makes use of the JQ JSON processor to select, modify, concatenate, transform and perform other operations on existing fields and values from the integration API.
If you need to ingest deep links back to the Checkmarx One dashboard, you can construct them using jq expressions in your mapping configuration. Combine your Checkmarx One UI base URL with relevant path parameters from the data returned by the API.
For example, to create a dashboard link for a project:
Replace your-region with your actual Checkmarx One region (e.g., eu, us, deu, etc.) and adjust the path structure based on your Checkmarx One dashboard URL format.
Use the explorer below to view the mapping and blueprint definition for each resource type. For additional resources and advanced configurations, see the examples page.
{ "identifier":"checkmarxScan", "title":"Checkmarx Scan", "icon":"Checkmarx", "schema":{ "properties":{ "status":{ "type":"string", "title":"Status", "enum":[ "Queued", "Running", "Completed", "Failed", "Partial", "Canceled" ], "description":"The status of the scan. Possible values: Queued, Running, Completed, Failed, Partial, Canceled." }, "branch":{ "type":"string", "title":"Branch", "description":"The branch of the repository that was scanned." }, "createdAt":{ "type":"string", "format":"date-time", "title":"Created At", "description":"The date and time when the scan was created." }, "updatedAt":{ "type":"string", "format":"date-time", "title":"Updated At", "description":"The date and time when the scan was last updated." }, "projectId":{ "type":"string", "title":"Project ID", "description":"The identifier of the project to which this scan belongs." }, "userAgent":{ "type":"string", "title":"User Agent", "description":"The user agent used to initiate the scan." }, "configs":{ "type":"object", "title":"Configurations", "description":"Configuration details for the scan." }, "statusDetails":{ "type":"array", "items":{ "type":"object" }, "title":"Status Details", "description":"Detailed status information for the scan." } }, "required":["status","projectId"] }, "relations":{ "project":{ "title":"Project", "target":"checkmarxProject", "many":false, "required":true } } }
{ "identifier":"checkmarxSCA", "title":"Checkmarx SCA", "icon":"Checkmarx", "schema":{ "properties":{ "severity":{ "type":"string", "title":"Severity", "description":"The severity level of the SCA finding." }, "state":{ "type":"string", "title":"State", "description":"The state of the SCA finding." }, "description":{ "type":"string", "title":"Description", "description":"A description of the SCA finding." }, "cweId":{ "type":"string", "title":"CWE ID", "description":"The Common Weakness Enumeration (CWE) identifier related to the vulnerability." }, "status":{ "type":"string", "title":"Status", "description":"The current status of the SCA finding." }, "created":{ "type":"string", "format":"date-time", "title":"Created", "description":"The date and time when the SCA finding was created." }, "firstScanId":{ "type":"string", "title":"First Scan ID", "description":"The identifier of the first scan in which this SCA issue was detected." }, "packageIdentifier":{ "type":"string", "title":"Package Identifier", "description":"The identifier of the affected package." }, "recommendations":{ "type":"array", "items":{ "type":"string" }, "title":"Recommendations", "description":"Recommended actions to remediate the SCA finding." }, "recommendedVersion":{ "type":"string", "title":"Recommended Version", "description":"The recommended version of the package to resolve the vulnerability." }, "packageData":{ "items":{ "type":"object" }, "type":"array", "title":"Package Data" }, "confidenceLevel":{ "type":"string", "title":"Confidence Level", "description":"The confidence level of the SCA finding." } }, "required":[] }, "mirrorProperties":{}, "calculationProperties":{}, "aggregationProperties":{}, "relations":{ "scan":{ "title":"Scan", "target":"checkmarxScan", "required":false, "many":false } } }
{ "identifier":"checkmarxKics", "description":"Represents a KICS issue detected by Checkmarx One", "title":"Checkmarx KICS", "icon":"Checkmarx", "schema":{ "properties":{ "firstScanId":{ "type":"string", "title":"First Scan ID", "description":"The identifier of the first scan in which this KICS issue was detected" }, "status":{ "type":"string", "title":"Status", "description":"The current status of the KICS issue, indicating if it is new, recurring, or has been fixed.", "enum":[ "NEW", "RECURRENT", "FIXED" ], "enumColors":{ "NEW":"lightGray", "RECURRENT":"lightGray", "FIXED":"lightGray" } }, "state":{ "type":"string", "description":"The state of the KICS issue, reflecting its verification and remediation status", "title":"State" }, "severity":{ "type":"string", "title":"Severity", "enum":[ "LOW", "MEDIUM", "HIGH", "CRITICAL", "INFO" ], "enumColors":{ "LOW":"lightGray", "MEDIUM":"lightGray", "HIGH":"lightGray", "CRITICAL":"lightGray", "INFO":"lightGray" } }, "created":{ "type":"string", "title":"Created At", "description":"The date and time when the KICS issue was first identified", "format":"date-time" }, "description":{ "icon":"DefaultProperty", "type":"string", "title":"Description", "description":"A description of the KICS issue." }, "fileName":{ "type":"string", "title":"File Name", "description":"The name of the file where the KICS issue was found." }, "line":{ "type":"string", "title":"Line Number", "description":"The line number in the file where the KICS issue occurs" }, "platform":{ "type":"string", "title":"Platform" }, "issueType":{ "type":"string", "title":"Issue Type", "description":"The type or category of the KICS issue" }, "expectedValue":{ "type":"string", "title":"Expected Value", "description":"The value that was expected in the configuration" }, "value":{ "type":"string", "title":"Value", "description":"The actual value found in the configuration that triggered the KICS issue" } }, "required":[] }, "mirrorProperties":{}, "calculationProperties":{}, "aggregationProperties":{}, "relations":{ "scan":{ "title":"Scan", "target":"checkmarxScan", "required":false, "many":false } } }
{ "identifier":"checkmarxContainerSecurity", "title":"Checkmarx Container Security", "icon":"Checkmarx", "schema":{ "properties":{ "firstScanId":{ "type":"string", "title":"First Scan ID", "description":"The identifier of the first scan in which this container security issue was detected." }, "status":{ "type":"string", "title":"Status", "description":"The current status of the container security finding." }, "state":{ "type":"string", "title":"State", "description":"The state of the container security finding." }, "severity":{ "type":"string", "title":"Severity", "description":"The severity level of the container security finding." }, "confidenceLevel":{ "type":"string", "title":"Confidence Level", "description":"The confidence level of the container security finding." }, "created":{ "type":"string", "format":"date-time", "title":"Created", "description":"The date and time when the container security finding was created." }, "description":{ "type":"string", "title":"Description", "description":"A description of the container security finding." }, "packageName":{ "type":"string", "title":"Package Name", "description":"The name of the affected package in the container." }, "packageVersion":{ "type":"string", "title":"Package Version", "description":"The version of the affected package in the container." }, "imageName":{ "type":"string", "title":"Image Name", "description":"The name of the container image." }, "imageTag":{ "type":"string", "title":"Image Tag", "description":"The tag of the container image." }, "imageFilePath":{ "type":"string", "title":"Image File Path", "description":"The file path within the container image where the issue was found." }, "cweId":{ "type":"string", "title":"CWE ID", "description":"The Common Weakness Enumeration (CWE) identifier related to the vulnerability." } }, "required":[] }, "mirrorProperties":{}, "calculationProperties":{}, "aggregationProperties":{}, "relations":{ "scan":{ "title":"Scan", "target":"checkmarxScan", "required":false, "many":false } } }
{ "identifier":"checkmarxApiSec", "title":"Checkmarx API Security", "icon":"Checkmarx", "schema":{ "properties":{ "riskId":{ "type":"string", "title":"Risk ID", "description":"The unique identifier for the API security risk." }, "apiId":{ "type":"string", "title":"API ID", "description":"The identifier of the API associated with the risk." }, "severity":{ "type":"string", "title":"Severity", "enum":[ "low", "medium", "high", "critical" ], "description":"The severity level of the API security risk." }, "name":{ "type":"string", "title":"Name", "description":"The name of the API security risk." }, "status":{ "type":"string", "title":"Status", "enum":[ "new", "recurrent", "fixed" ], "description":"The status of the API security risk." }, "httpMethod":{ "type":"string", "title":"HTTP Method", "description":"The HTTP method associated with the API risk (e.g., GET, POST)." }, "url":{ "type":"string", "title":"URL", "description":"The URL endpoint associated with the API risk." }, "origin":{ "type":"string", "title":"Origin", "description":"The origin or source of the API risk." }, "documented":{ "type":"boolean", "title":"Documented", "description":"Indicates whether the API is documented." }, "authenticated":{ "type":"boolean", "title":"Authenticated", "description":"Indicates whether the API requires authentication." }, "discoveryDate":{ "type":"string", "format":"date-time", "title":"Discovery Date", "description":"The date and time when the API risk was discovered." }, "scanId":{ "type":"string", "title":"Scan ID", "description":"The identifier of the scan in which the risk was found." }, "sastRiskId":{ "type":"string", "title":"SAST Risk ID", "description":"The identifier of the related SAST risk, if available." }, "projectId":{ "type":"string", "title":"Project ID", "description":"The identifier of the project associated with the API risk." }, "state":{ "type":"string", "title":"State", "enum":[ "to_verify", "confirmed", "urgent", "not_exploitable", "proposed_not_exploitable", "false_positive" ], "description":"The state of the API security risk." } }, "required":[ "riskId", "apiId", "name", "status", "state" ] }, "relations":{ "scan":{ "title":"Scan", "target":"checkmarxScan", "many":false, "required":false } } }
{ "identifier":"checkmarxApplication", "title":"Checkmarx Application", "icon":"Checkmarx", "schema":{ "properties":{ "createdAt":{ "type":"string", "format":"date-time", "title":"Created At", "description":"The date and time when the application was created." }, "updatedAt":{ "type":"string", "format":"date-time", "title":"Updated At", "description":"The date and time when the application was last updated." }, "tags":{ "type":"object", "title":"Tags", "description":"A set of tags associated with the application." }, "rules":{ "type":"object", "title":"Rules", "description":"A set of rules associated with the application." }, "description":{ "type":"string", "title":"Description", "description":"The description of the application." }, "criticality":{ "type":"number", "title":"Criticality", "description":"The criticality level of the project." } }, "required":[] }, "relations":{ "projects":{ "target":"checkmarxProject", "title":"Projects", "required":false, "many":true } } }
To view and test the integration's mapping against examples of the third-party API responses, use the jq playground in your data sources page. Find the integration in the list of data sources and click on it to open the playground.
Examples of blueprints and the relevant integration configurations can be found on the Checkmarx examples page.