Skip to content

Latest commit

 

History

History
76 lines (59 loc) · 5.15 KB

orgs.md

File metadata and controls

76 lines (59 loc) · 5.15 KB

Creating Organizations in Snyk

Table of Contents

Before an import can begin Snyk needs to be setup with the Organizations you will populate with projects.

It is recommended to have as many Organizations in Snyk as you have in the source you are importing from. So for Github this would mean mirroring the Github organizations in Snyk. The tool provides a utility that can be used to make this simpler when using Groups & Organizations in Snyk.

Generating the data required to create Organizations in Snyk with orgs:data util

This util helps generate data needed to mirror the github.com / Github Enterprise / Gitlab / Bitbucket Server organization structure in Snyk. This is an opinionated util and will assume every organization in github.com / Github Enterprise / Gitlab / Bitbucket Server should become an organization in Snyk. If this is not what you are looking for, please look at using the Organizations API directly to create the structure you need.

github.com / Github Enterprise

  1. set the github.com personal access token as an environment variable: export GITHUB_TOKEN=your_personal_access_token
  2. Run the command to generate organization data:
  • github.com: snyk-api-import orgs:data --source=github --groupId=<snyk_group_id>
  • Github Enterprise: snyk-api-import orgs:data --source=github-enterprise --groupId=<snyk_group_id> -- sourceUrl=https://ghe.custom.github.com/

This will create the organization data in a file group-<snyk_group_id>-github-<com|enterprise>-orgs.json

Gitlab.com / Hosted Gitlab

  1. set the Gitlab personal access token as an environment variable: export GITLAB_TOKEN=your_personal_access_token
  2. Run the command to generate organization data:
  • Gitlab: snyk-api-import orgs:data --source=gitlab --groupId=<snyk_group_id>
  • Hosted Gitlab: snyk-api-import orgs:data --source=gitlab --groupId=<snyk_group_id> -- sourceUrl=https://gitlab.custom.com

This will create the organization data in a file group-<snyk_group_id>-gitlab-orgs.json

Bitbucket Server

  1. set the Bitbucket Server access token as an environment variable: export BITBUCKET_SERVER_TOKEN=your_personal_access_token
  2. Run the command to generate organization data:
  • snyk-api-import orgs:data --source=bitbucket-server --groupId=<snyk_group_id> -- sourceUrl=https://bitbucket-server.custom.com

This will create the organization data in a file group-<snyk_group_id>-bitbucket-server-orgs.json

Creating Organizations in Snyk

Use the generated data file to help create the organizations via API or use the provided util.

via API

Use the generated data to feed into Snyk Orgs API to generate the organizations within a group.

via orgs:create util

  1. set the SNYK_TOKEN environment variable - your Snyk api token
  2. Run the command to create Orgs: snyk-api-import orgs:create --noDuplicateNames --includeExistingOrgsInOutput --file=group-<snyk_group_id>-github-<com|enterprise>-orgs.json
  • Using the noDuplicateNames flag (optional) will Skip creating an organization if the given name is already taken within the Group.
  • Using the includeExistingOrgsInOutput flag (optional, default is "true") will Log existing organization information as well as newly created. To set this flag as false, please use "--no-includeExistingOrgsInOutput" in the command, like so: snyk-api-import orgs:create --no-includeExistingOrgsInOutput --file=group-<snyk_group_id>-github-<com|enterprise>-orgs.json

The file format required for this looks like so:

"orgs": [
  {
    "groupId": "<public_snyk_group_id>",
    "name": "<name_of_the_organization>",
    "sourceOrgId": "<public_snyk_organization_id>"
  }
]
  • groupId - public id of the Snyk Group where the organization is to be created
  • name - name to use when creating the organization
  • sourceOrgI - optional public id of a Snyk organization to copy settings from

Recommendations