Creating a new Git repository in Space is easy. You can create and initialize a new or empty repository and start pushing code, or migrate an existing Git repository from GitHub or BitBucket and make it available in Space, including all branches, tags and commits.
There’s an additional option: mirroring a repository. In this post, let’s have a closer look and see how you can mirror Git repositories in Space.
Why mirror a Git repository?
A mirrored Git repository in Space is an always-in-sync copy of another Git repository. Synchronization can be “pull-only”, when Space automatically pulls all commits (and tags & branches) from a remote. A bi-directional mirror can be set up as well, where changes pushed to Space are automatically pushed to the remote.
Most of the data and operations available in JetBrains Space can be accessed using an HTTP API. The API documentation, as well as the HTTP API playground for your Space organization do a good job in describing the types of interactions that are possible.
In this blog post, we want to look at a few details about working with the Space API more efficiently.
Why would I use the Space API?
Having an HTTP API to access Space makes it easy to share content and data with other applications. We’ve seen our users experiment with creating issues in Space projects, using the API. At JetBrains, we have used the API to import over 1300 user profiles into Space, as well as hundreds of internal blog posts, data about meeting rooms and so on.
Other types of integrations could be receiving build status from a CI server, sharing a message in a chat channel, or even automatically creating a “digest” blog post from issues that have been resolved in the past week.
With Space, we intend to create an integrated team environment. Using multiple tools makes it difficult to keep track of everything about your projects, teams, and people. Instead of scattering our work and communication across tools, Space endeavors to centralize it all in one place.
Space combines the tools for software development, collaboration, planning, analysis, and project management. It also contains documents, knowledge base, and company structure – all in one interface, powerful for technical people, and friendly for everyone to use. Programmers, designers, QA, PMMs, HRs, and managers feel equally at home and work together seamlessly on projects. This is the idea behind Space and the destination we’re headed for.
We’re delighted to introduce Space Packages! In this post we’d like to share with you the existing features, as well as the planned features we have in store for this Space module.
First of all, what is Packages? Packages is a package repository manager. If you’ve ever heard of Maven Central, Docker Hub, or NuGet.org, then you’ll easily get the idea. In a nutshell, like these products, it lets you create your own repositories and use them to publish and share packages of various types, such as Docker/OCI images, .jar and .pom files, and others, all inside your Space instance!
While this is still a work in progress, you can already try out some of the repositories.
The main idea behind projects in Space is to give each team a distinct place for all their work-related resources, which is conveniently organized, managed, and easy to navigate to.
If you are already familiar with the concept of Teams in Space, you may wonder how Projects fit in. While it is usual for a team to have an only project, it’s not always the case. Sometimes you want to invite a person from another team to help with something, or people from different teams want to get together to start a new side project.
Teams are a key concept in Space. Teams represent the organization structure and how people work together. They can be flat and simple, or more complex hierarchies with multi-level teams.
Having teams eliminates the need for creating concepts such as groups and then making sure that every team member is also part of it. In many organizations, those groups are centered around distribution or access rights and don’t fully map to the organization structure.
In Space, teams and roles give us a convenient way to browse the organization by its real structure. A person can be a member of one or several teams and have a role that represents their title or specialty.
The Team Directory gives us an overview of all the teams, locations, and roles in our organization. We can drill down those concepts using various filters. If we’re searching for a certain person or someone with a certain role, the Team Directory can help us find them!
Space is an integrated team environment that provides teams and organizations with the tools they need to collaborate effectively and efficiently. It has Git-based Version Control, Code Review, Automation (CI/CD) based on Kotlin Scripting, Package Repositories, Planning tools, Issue Tracker, Chats, Blogs, Meetings, and Team Directory, among other features.
Space was born out of our own needs at JetBrains. As a company, we’ve grown from a team of 3 developers to over 1200 people, 60% of whom are technical. With this growth, we’ve found our current use of independent tools has often created silos, leading to miscommunication, less efficient collaboration, and loss of information.
Space is about people and teams
In Space, the concept of a team is a first-class citizen. When you join a team, you are automatically included in everything related to it, be it meetings, blogs, source control, calendars, vacations, etc. This eliminates the need for creating concepts such as groups and then making sure that every team member is also part of the corresponding group.
Tight integration between the areas of the system provides for numerous advantages such as knowing a person’s availability, which is useful if you want to have a chat or assign a code review to them.
Space is a platform
Space allows you to build on the platform in multiple ways. Whether you do so by using webhooks, HTTP API, or even plugins (on the self-hosted version), you can extend the existing functionality of Space and make use of the information available to you without needing to hook up many different solutions that create silos of data.
Space as a service or self-hosted
We will be offering Space either as a service, hosted and managed entirely by JetBrains, or as a self-hosted version (available in the near future). The pricing plan has four levels, starting at the free tier, which is ideal for small teams, and progressing up to the Enterprise tier, which meets the needs of large organizations.
Space is available everywhere
Built from the ground up with Kotlin multiplatform technology, Space clients are available for web, desktop, and mobile platforms, and offer full IDE integration with the IntelliJ Platform.
Space Launch and roadmap
Today we already provide a ton of functionality, such as:
We have a lot more planned for Space, including:
Personal To-Do lists and notification management
The Early Access Program will be accepting requests on a first-come-first-served basis, and we’ll be gradually increasing the number of teams that can gain access. So don’t wait! Sign up now to get your team Space!