Configure the Veracode Flaw Importer Task for Azure DevOps and TFS for a Build Pipeline

Build Systems

You configure the Veracode Flaw Importer task to import flaws as part of a build pipeline in Azure DevOps or Team Foundation Server (TFS).

  • Ensure the following projects are in the same Azure DevOps organization or TFS team project collection:
    • The project to which the running release or build job belongs, where the Flaw Importer task is running.
    • The project to which you want to import the flaws.
  • You have installed the Veracode Azure DevOps Extension. See Download and Install the Veracode Azure DevOps Extension.
The Veracode Flaw Importer task supports generating work items based on the Agile, Scrum, and CMMI process templates in Azure DevOps.

To configure a Veracode Flaw Importer task in an Azure DevOps or TFS build pipeline:

  1. In your Azure DevOps or TFS project, select the Build tab and navigate to your build definition.
  2. Click Add build step...
  3. Click Import flaws > Add.
    The Azure DevOps Build Pipelines menu also allows you to run the Upload and scan task. You can choose to run these two tasks separately.
    The Veracode Flaw Importer window opens.

  4. Enter the following information:
    1. Connection details: choose to connect to Veracode using an endpoint or your Veracode credentials.

      If you are connecting using an endpoint, you can use an existing endpoint name or create a new endpoint. Veracode recommends you use an endpoint with your Veracode API ID and secret key. However, for backward compatibility, continue to use credentials to maintain previous configurations that use the username and password combination.

    2. Flaw Source: enter the application name and sandbox name, if applicable, for which you want to import flaws from the Veracode Platform.
    3. Work Item Settings:
      • Import: select the type of flaws you want to import:
        • All Flaws from all scans, including closed flaws. During the import process, the extension changes all mitigated or fixed flaws to closed.
        • All Unmitigated Flaws from all scans, including closed flaws
        • All Flaws Violating Policy, including all open flaws from all scans that affect policy
        • All Unmitigated Flaws Violating Policy (default), including open flaws from all scans that affect policy
        If you want to import all flaws without any restrictions, select All Flaws.
      • Work Item Type: select a work item type for imported flaws. This setting applies to all flaws imported from the Veracode Platform.
        Note: The Scrum process template does not support the Issue work item type.
      • Area: enter the path to the area where you want to group the work items. You can enter up to five levels in the path. To enter the area paths, use the format <project name>\<area 1>\<area 2>. The value in <project name> is the name of the project in the Build Pipeline or Release Pipeline task for which you want to import flaws.
    4. Add CWE as a Tag checkbox: add a tag with the CWE number to all the work items generated from the current build.
    5. Add Custom Tag: enter a custom tag name to add user-defined tags to all work items generated from current build.
    6. Add Found in Build checkbox: add a tag to the work item showing the build number of the build that contains the flaw.
    7. Flaw Import Limit: enter the maximum number of flaws to import at one time. The default is 1000.
    8. Advanced Scan Settings:
      • Proxy Settings: if you use a proxy to access the Veracode Platform, enter the proxy settings. For example:
        -phost - pport 5252 -puser proxyuser -ppassword proxypassword
        Note: Do not enclose the values for proxy parameters in single or double quotations.
      • Team Foundation Server Password: do not change this value from the default of $(password).
  5. If you are using TFS, click the Variables tab. If using Azure DevOps, go directly to step 8.
  6. If you are using TFS 2017 or higher, set the enabletfs variable to true.
  7. If you are using TFS 2015, configure the following variables:
    • enablestfs: enter true.
    • isTfs2015: enter true.
    • username: enter your Windows username.
    • password: enter your Windows password.
    • domain: enter the Windows domain.

  8. If you are using customized process templates, configure the following predefined variables on the Variables tab in your build or release configuration:
    • enableCustomProcessTemplate: enter true to enable.
    • customWorkItemType: enter the work item type:
      • Bug
      • Epic
      • Feature
      • Issue
      • Task
      • Test Case
    • customPTActiveStatus: enter the state for in progress or active work.
    • customPTNewStatus: enter the state for new or proposed work.
    • customPTResolvedStatus: enter the state for resolved work.
    • customPTDesignStatus: enter the state for work in design or test.
    • customPTCloseStatus: enter the state for completed work.

    You configure these variables for the work item type (WIT) of which you are creating work items in your build or release configuration. The variables ensure that flaws import correctly if the status of a work item changes. See the Azure DevOps documentation for information on the work item states.

    For example, you might have a Bug work item with the following state changes.

    Example state changes for a customized Bug work item.

    In your build or release configuration, you configure these variables in the customized process template for the Bug work item.

    Example predefined variables for a customized Bug work item.
  9. Click Save & queue to save your configurations and add the build to your queue.
After the flaw import task has completed successfully, the work items related to flaws in a given application appear in Azure DevOps or TFS. In Azure DevOps, you can search on the Work or Queries pages, for example, to find the work items you created.

Example Veracode flaw work items in Azure DevOps.

You can use a variable to prevent a password from appearing in a console log. See Hide a Proxy Password.