Integration of IQ Webhook with Fortify SSC Sync Service
The Fortify SSC synchronization service supports data synchronization with the IQ server in two ways:
Scheduled polling (cron jobs) using the Synchronization Scheduler
Refer to details on Synchronization Scheduler.
Using IQ webhooks
The following sections describe the integration of Fortify SSC Sync service with IQ webhook event.
Data Flow Using IQ Webhook Events
All application evaluations are sent to the Fortify SSC synchronization services. However, only those applications that are in the mapping file are processed.
Similar to the Synchronization Scheduler, continuous monitoring results are synchronized only if there is a change in the data or violation.
Steps to Integrate IQ Webhook with Fortify SSC Sync Service
Turn "off" Fortify SSC Sync Service and Update Continuous Configuration
Turn off the synchronization service and set the
synchronize.projects.continously
property in the iqapplication.properties file tofalse
. This will turn off polling and free system resources to process webhook events.NOTE: It is possible for the sync service to poll as well as process webhook events, provided that the cron jobs are scheduled infrequently and there are fewer webhook events.
Turn "on" Fortify Sync Service and Configure IQ Webhook Event.
Turn on the synchronization service.
Login to Lifecycle as an admin user or a user with system configuration permissions.
Navigate to the WebHooks configuration in the System Preferences menu.
Click on Add a Webhook button.
On the Webhook Details page, set the Website URL field to point to the address of the Fortify SSC synchronization service with the endpoint set to
/iqWebhook
E.g.
http://<sync-service-address>:<sync-service-port>/iqWebhook
For Event Types, check the Application Evaluation checkbox and click on the Create button.
Test the Webhook Integration
If the WebhooK has been created successfully, you should now be able to evaluate the applications that exist in your mapping file and confirm that they are being sent to the synchronization service.
Select an evaluation report stage for an application that exists in your mapping file on the Lifecycle Reports page.
Click on the Re-Evaluate Report button.
On completion of the re-evaluation, a webhook event will be pushed to the synchronization service.
Check the synchronization service log or console output to confirm that the webhook event was received and processed.