In order to import the entirety of Github/Github Enterprise repos into Snyk you can use the available utils to make it possible in 4 commands. You will need to configure both Github token and Snyk token as environment variable to proceed. Please refer to individual documentation pages for more detailed info, however the general steps are:
export GITHUB_TOKEN=***
andexport SNYK_TOKEN=***
- Generate organization data e.g.
snyk-api-import orgs:data --source=github --groupId=<snyk_group_id>
Full instructions - Create organizations in Snyk
snyk-api-import orgs:create --file=orgs.json
Full instructions will create asnyk-created-orgs.json
file with Snyk organization ids and integration ids that are needed for import. - Generate import data
snyk-api-import import:data --orgsData=snyk-created-orgs.json --source=github --integrationType=github
Full instructions - Run import
DEBUG=*snyk* snyk-api-import import
Full instructions
Once initial import is complete you may want to periodically check for new repos and make sure they are added into Snyk. To do this a similar flow to what is described above with a few small changes can be used:
export GITHUB_TOKEN=***
andexport SNYK_TOKEN=***
- Generate organization data in Snyk and skip any that do not have any repos via
--skipEmptyOrg
snyk-api-import orgs:data --source=github --groupId=<snyk_group_id> --skipEmptyOrg
Full instructions - Create organizations in Snyk and this time skip any that have been created already with
--noDuplicateNames
parametersnyk-api-import orgs:create --file=orgs.json --noDuplicateNames
Full instructions will create asnyk-created-orgs.json
file with Snyk organization ids and integration ids that are needed for import. - Generate import data
snyk-api-import import:data --orgsData=snyk-created-orgs.json --source=github --integrationType=github
Full instructions - Generate the previously imported log to skip all previously imported repos a Group (see full documentation):
snyk-api-import-macos list:imported --integrationType=<integration-type> --groupId=<snyk_group_id>
- Run import
DEBUG=*snyk* snyk-api-import import
Full instructions