Projects

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.

Everything development team needs

Project Dashboard

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.

Permissions and responsibilities

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.


Source code management

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.

Online code browsing

Online code browsing

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.

Edit files and commit changes

Edit files and commit changes

Make minor changes directly in the web-UI, without switching to a dedicated code editor.

Commit status API

Monitor commit status from external build servers

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.

Manage and protect your source code

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.

Push restrictions

Configurable push restrictions make collaboration on the source code clear, transparent, and secure.

Protected branches

Set up rules for working with branches using a granular permission scheme.

Mirroring

Mirror your repository from GitHub with two-way synchronization. Invite commits from external collaborators while keeping your development secure in Space.

Regional replication planned

Working in a distributed team? Use regional replication to provide faster access to your repositories from various geographical locations.


Code review

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.

Collaborate on code in place

Collaborate on code in place

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.

Ping-pong code review process

Efficient and effective code reviews

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.

Merge requests

Merge requests

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.

Set your rules planned

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.


Automation

Modern and intuitive ways to organize your continuous delivery pipelines along with a solution for a broad spectrum of automation tasks.

Automate anything

Continuous Integration and Continuous Delivery (CI/CD)

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.

Continuous Integration and Continuous Delivery

Automation workflows planned

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.

Commit status API

Configuration as code

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.

Integrate with other Space modules

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.

Containers, VMs, and functions

Space can execute automation in a range of environments:

  • Run pure Docker images from Docker Hub or your Space image repository.
  • Support for Linux, Windows, and macOS virtual machines. planned
  • Support for serverless functions. planned

Integrate with external tools

Get access to an assortment of APIs that connect to external tools and services, including:

  • api.docker: to build and publish Docker images.
  • api.gradle: to build and report tests using Gradle.

In the future, we plan to extend this list to include .NET, npm, Maven, Bazel, and others.

Local reproducibility planned

Run automation scripts locally to test them before pushing to the Space server, using either:

  • The Space plugin for IntelliJ IDEA, which lets you run scripts locally and provides automatic code completion and code inspection.
  • The Space Automation command-line tool.

Package management

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.

Package management

Apps distribution

Use container registries to distribute your apps as container images, and use them during deployment.

Package dependencies

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.

Powerful search

Find and view package details to understand how it was produced.

Package vulnerability analysis planned

Configure Space to check packages against common vulnerability issues automatically. These checks can be especially helpful before publishing a package to production.


IntelliJ-based IDE integration

Connect IntelliJ IDEA or any other IntelliJ-based IDE to Space to get access to your projects, repositories, CI builds, and teams.

IntelliJ-based IDEs integration
  • Clone your project repositories.
  • Resolve missing Space package references directly in the IDE. planned
  • Perform code reviews and discuss code snippets with your teammates right from your IDE. planned
  • Edit Space automation scripts from your IDE and run them locally. planned