Commit code and explore changes. Review code, create merge requests. Automate your workflows and CI/CD pipelines. Store and manage package repositories. Connect JetBrains IDEs to Space.
The project dashboard is an entry point and a cover page of the project. It gives you a birds-eye view of the latest activity, including its members, repositories, code reviews, and checklists.
Teams are static entities in Space, but the projects are made to be dynamic. Add the team to the project to provide all its members with access to all project resources in one click, or invite individual members.
Make the project private and only visible to its members, or public and visible to everyone in your organization. Assign members to specific parts of your project and make it clear who is responsible for what.
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.
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.
Run a set of automated tests, get approval by at least two teammates after the code review, or a combination of both. The merge of changes can be set up to happen automatically when all the conditions are satisfied. With Space Automation and merge requests, you can define your own workflow and automate the process.
Modern and intuitive ways to organize your continuous delivery pipelines along with a solution for a broad spectrum of automation tasks.
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.
Simple yet powerful CI/CD out of the box: on-the-fly test reporting, parallel execution, local reproducibility, with coverage for major technical stacks like Gradle, .Net, and Docker. Pipeline execution results, jobs, and deployment targets are all integrated with the commit list and packages.
The most basic entity that you can use to run automation actions. The most straightforward automation script consists of a single job.
A sequence of dependent stages and gates, where the next stage can run automatically if the previous step has been completed or wait until the gate was passed.
A destination target, a production or staging server for a deployment script. A target always has a health status that you can check with your script. If the check fails, you can run a separate rollback script.
Space can execute automation in a range of environments:
Get access to an assortment of APIs that connect to external tools and services, including:
We’re already planning to extend this list to include 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 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.
Connect IntelliJ IDEA or any other IntelliJ-based IDE to Space to get access to your projects, repositories, CI builds, and teams.