2
votes

I installed the Checkmarx plugin on MS Team Foundation Server 2015 SP 3 (checkmarx.cxsast-2020.3.11.vsix). In the extensions section of the TFS web GUI the plugin shows as "installed" and "active". But when I try to add a Checkmarx build step to a build pipeline no selection for Checkmarx is available. Documentation says the plugin should work for Azure Devops server as well as for older Team Foundation Server. Any hints?

2

2 Answers

0
votes

TFS 2015 is ancient, make sure it's updated to 2015.4.2patch6 at least for the server itself to be more secure than your current version, it may also solve some extension install issues. When you paying for a product like CheckMarx, I'd expect your TFS server to have the latest patches installed ;).

You may be hitting this bug which was fixed in Update 4: enter image description here

A number of issues exist with the installation of tasks in TFS which were fixed in TFS 2017/2018 somewhere... Some of these issues can be resolved by:

  • waiting
  • clearing your browser cache
  • disabling/enabling the extension
  • uninstall/reinstall the extension

The issues are caused by the fact that a background job extracts the build task from the extension and installs them into the collection.

You can bypass that job by manually pushing the tasks to the collection using tfx-cli.

> 7z x checkmarx.cxsast-2020.3.11.vsix -o.\ext
> npm install tfx-cli -g
> tfx login --auth-type basic --service-url http://jessehouwing:8080/tfs/DefaultCollection
> tfx build task upload --task-path .\ext\CxScanV8_6 --service-url http://jessehouwing:8080/tfs/DefaultCollection
> tfx build task upload --task-path .\ext\CxScanV8_8 --service-url http://jessehouwing:8080/tfs/DefaultCollection
> tfx build task upload --task-path .\ext\CxScanV19 --service-url http://jessehouwing:8080/tfs/DefaultCollection
> tfx build task upload --task-path .\ext\CxScanV20 --service-url http://jessehouwing:8080/tfs/DefaultCollection

You may need to use fiddler or a ntlm-proxy to handle auth against the server:

0
votes

Upgrading to Azure Devops 2019 solved it, thank you very much! It seems indeed that installing new plugins on TFS 2015 does not work at all. So the problem was not Checkmarx related as I first thought.