`fcli license ncd-report`: Add support for other sources like Azure DevOps (completed), BitBucket
At the moment, the fcli util ncd-report commands only support GitHub and GitLab; we should add support for other commonly used SCM providers, in particular Azure DevOps and potentially BitBucket.
For each SCM provider, we'd need to:
- Add SCM provider specific configuration classes in the
com.fortify.cli.util.ncd_report.configpackage, similar to the GitHub/GitLab-specific configuration classes - Add corresponding configuration samples in
src/main/resources/com/fortify/cli/util/ncd_report/NcdReportConfig.yml - Add a new
com.fortify.cli.util.ncd_report.generator.<scm-name>package - Copy existing GitHub or GitLab generator classes into this new package, rename to
<scm-name>, and adjust to invoke the appropriate SCM endpoints
An additional idea would be to utilize standard Git API to retrieve list of branches and commit history, thereby reducing the amount of SCM-specific API calls; SCM-specific calls would potentially only be necessary to collect a list of repositories to be processed. Potentially we could even get the list of repositories to be processed from elsewhere, for example from SSC application version attributes, resulting in a generic solution that would work for any Git-based SCM.