Experience fast and scalable hosting for private, Git-based repositories with a web-based interface to browse and edit code plus flexible rules for granting member access.
Browse commits and files by change author, branch, or filename. Review the change history and annotations from other developers. Toggle the appearance of side-by-side diffs and discussions to gain insight into what changed and why.
Make minor changes directly in the web-UI, without switching to a dedicated code editor.
Merge and move on with confidence by tracking whether changes committed to the codebase result in success or failure when built by a connected CI server. Space integrates with TeamCity (available) and GitHub Actions (planned), and it can retrieve status codes, branch details, timestamps, and more.
With Space, you have a choice of integrated security feature support that allows you the maximum flexibility to safely and securely control access to your source code.
Configurable push restrictions make collaboration on the source code clear, transparent, and secure.
Set up rules for working with branches using a granular permission scheme.
Define an owner for specific paths or files in a Git repository, and enable approval from code owners as a quality gate for merge requests.
Mirror your repository from GitHub with two-way synchronization. Invite commits from external collaborators while keeping your development secure in Space.
Ensure that your merge commit passes integration checks and doesn't result in failed builds, before merging it into the main branch.
Establish a robust, customizable, and integrated code review process that works for you no matter whether you want formal rules and conditions or not. Review code in the branch before it’s merged to master, or after merging one or more commits. Space supports both workflows with ease.
Start discussions and collaborate with your teammates directly inside the codebase. Contributors can reply directly or react with emoji. In the end, your code remains easy to read, debug, maintain, and extend. The messy conversations are safely contained inside the vacuum of Space.
Track discussions between the reviewer and the author with a transparent system for accepting changes and resolving concerns.
Review commits and enter comments as you go through each file before collaborating with the author, who can update the code and leave a reply or resolve the discussion.
Comment on multiple lines, and suggest direct changes to the code when reviewing a merge request. Your teammates can then accept them in a single click.
You can restrict direct commits to the master (or any) branch using the permission scheme. Create merge requests that are accepted automatically after Automation tests have passed or when a code review that follows a predefined flow is complete, or after a code owner approves the changes. Automatically update issues when a linked merge request is merged.
A successfully finished Automation job, approval from a code owner or a designated teammate, a check provided by an external service – any combination of these conditions can serve as a quality gate that must be passed before users can merge their changes.
Connect your favorite JetBrains IDE to a Space organization to get access to your repositories, code reviews, merge requests, Automation (CI builds), and packages. Experience the power of built-in Space code reviews right from the IDE, or enjoy even more powerful code reviews from the Space UI.
With Space IDE integration you can:
Overcome the limits of local machines and slow laptops by keeping your source code safe and secure on a remote machine, with JetBrains’ remote development workflow.
Spin up a preconfigured Space cloud dev environment, connect to your JetBrains IDE, and start coding in seconds. No more waiting for building projects, downloading dependencies, or indexing IDEs.
Standardize your environments by installing all of the tools and libraries required by your project and reproduce them at any time to simplify onboarding. Newcomers can start developing almost instantly instead of wasting hours preparing their local machines.
Modern and intuitive ways to organize your continuous delivery pipelines along with a solution for a broad spectrum of automation tasks.
Simple yet powerful CI/CD out of the box: on-the-fly test reporting, parallel execution, local reproducibility (planned), with coverage for major technical stacks like Gradle and Docker.
Deployments let you track the delivery of source code changes to a deployment environment, such as a production or staging server, an application store, and others. Deployments can be used with any CI/CD tool of your choice, including Space Automation, JetBrains TeamCity, GitHub Actions, and others.
Automation in Space is configured using scripts. The Automation UI in Space is used to visualize script results: logs, tests, and artifacts. Space uses a Kotlin-based DSL as its scripting language, with plans to support YAML in the future.
In an Automation script, you have access to the Space HTTP API client. This lets you work with any other Space module: send messages to Chats, create articles, access team directory, and much more.
Get access to an assortment of APIs that connect to external tools and services, including:
In the future, we plan to extend this list to include .NET, npm, Maven, Bazel, and others.
Create and use package repositories in your CI/CD pipelines or from your local machine. Share packages and files between products using Container, Maven, NuGet, Python, Composer, Dart, npm, and File repositories.
Use container registries to distribute your apps as container images, and use them during deployment.
Use a local repository to store and consume packages privately and mirror repository to mirror an upstream repository, like Maven Central, to keep the required package dependencies as long as you need them.
Find and view package details to understand how it was produced.
Configure Space to check packages against common vulnerability issues automatically. These checks can be especially helpful before publishing a package to production.
Reduce the size of your repository by configuring the auto-deletion of packages you no longer need. Set your conditions to save essential packages from deletion.