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), GitHub Actions, or Jenkins (planned) and 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.
Working in a distributed team? Use regional replication to provide faster access to your repositories from various geographical locations.
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.
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.
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 IntelliJ IDEA or any other IntelliJ-based IDE to Space to get access to your repositories, code reviews, Automation (CI builds), and packages. The Space plugin is bundled in IntelliJ IDEA 2021.1, and you can install the plugin manually in our other IntelliJ-based IDEs.
With the Space IDE plugin you can:
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.
The Automation module can pull data from any other module in Space, including issues,
version control, teams, and chats. Moreover, Space modules generate events (a new code review, a new issue, or a new member creation), which can then trigger specific Automation scripts.
For example, you can run an Automation script that sends a welcome email with valuable information to a newly added member in Space or create a task for the IT team to set up a workspace.
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.
Space can execute Automation scripts in a range of environments:
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.
Run Automation scripts locally to test them before pushing to the Space server, using either:
Create and use package repositories in your CI/CD pipelines or from your local machine. Share packages between products using Container, Maven, NuGet, and npm repositories.
Use container registries to distribute your apps as container images, and use them during deployment.
Use a local repository (ready) to store and consume packages privately and mirror repository (planned) to mirror an upstream repository, like Maven Central or nuget.org, 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.