This tutorial provides step-by-step instructions for setting up a personal Codespace for developing Cortex XSOAR content.
GitHub Codespaces are cloud-based development environments provided by GitHub that allow you to set up remote environments with preinstalled and preconfigured tools and dependencies using a dev container.
Your Codespace environment will be hosted on GitHub's servers (attached to your GitHub account), and will allow you to access your Codespace from any computer, continuing your work from where you left off.
GitHub offers a free quota for Codespaces (which is higher for GitHub Pro users) that you can utilize for developing Cortex XSOAR content.
The quota is calculated based on the number of hours your Codespace is actively running. You can see the free quota plan and additional information here.
Codespaces generated from the Content repository (or a fork of it) are configured to have 4 cores by default.
You will receive an automated email notification when you have used 75%, 90%, and 100% of your freely-included quotas.
You can find information about your Codespaces quota usage in the settings under "Billing and plans".
See the following GitHub article for a step-by-step guide: Viewing your GitHub Codespaces usage.
If you want to use paid usage once you've reached your free quota, you can find information about the pricing here.
A GitHub account (can be created here).
The following instructions are for an initial setup that needs to be done only once.
After that, the generated environment will be kept in your GitHub account.
- Log in to your GitHub account (if not already logged in).
- Enter the XSOAR Content repository.
- Fork the repository to your account (see example GIF below):
- Click Fork at the top right.
- Select your account as the owner, and leave the repository name as is.
- Keep the Copy the master branch only option selected.
- Click Create fork.
- Wait a few seconds for the fork to be created. You will be redirected to your forked repository page.
- Create a new branch on your fork, and give it a meaningful name.
- Click Code, go to the Codespaces tab, and click Create Codespace on \<branch name> (see example GIF below).
- A page saying "This Codespace is requesting additional permissions" might appear.
If it does, click Continue without authorizing.
- Click New Codespace (this might take a few minutes).
Creating a new fork
Creating a new Codespace
By default, GitHub provides a browser-based Visual Studio Code editor that's automatically configured, authenticated, and connected to your Codespace, using your GitHub account.
This IDE should be sufficient for most use cases.
To open it, enter the main forked repository page, click Code, go to the Codespaces tab, and click the newly created Codespace (should have a random name).
It can take up to a few minutes for the Codespace to be fully initialized.
This is a one-time process that's done only the first time you open a Codespace.
Once the initialization is completed and your Codespace is ready, you will be redirected to the IDE, where you can start your development.
Connecting to the Codespace (browser)
In order to connect to your Codespace from a local Visual Studio Code editor, you will need to install the official GitHub Codespaces extension.
For a complete installation and configuration tutorial, refer to the official "Using GitHub Codespaces in your local development environment" article by GitHub.
(You can skip the "Creating a Codespace in VS Code" section, as we've already created a Codespace.)
In order to connect to your Codespace from a JetBrains IDE, you will need to install and configure JetBrains Gateway.
For a complete installation and configuration tutorial, refer to the official "Using GitHub Codespaces in your JetBrains IDE" article by GitHub.
After your IDE is connected to your Codespace, you can start developing your content as you normally would.
The environment comes pre-installed with all the required tools and dependencies for developing Cortex XSOAR content.
Configuring SSH keys or any other credentials is also not required, as the Codespace is already authenticated using your GitHub account.
For additional documentation about GitHub Codespaces, see the official GitHub Codespaces documentation.