Extend Space With External Integrations

Create your own applications, integrations, and workflows or use those available on JetBrains Marketplace from third-party vendors.

HTTP API

Space provides a rich and well-documented HTTP API that Space users and administrators can use to perform a wide range of actions, including:

  • Integrate with Chats from third-party applications (e.g., send notifications to Space Chats from external services, build bots with interactive messages and messages with actions).
  • Share content and data with third-party applications and services.
  • Import/export data (e.g., articles, user profile records, issues) from/to other resources.
  • Manage users, teams, locations, and other entities programmatically.
  • Integrate Space repositories with external services (e.g., receive build statuses from a CI/CD server).
  • And many others.
HTTP API

For details, refer to the API Reference or use the HTTP API Playground in your Space organization.

Webhooks

Webhooks

Webhooks can be set up to notify external services, such as an issue tracker, a CI/CD server, or a deployment tool, about events that occur in Space.

Webhooks are generally preferred over polling as a way to push notifications to external services.

Space supports webhooks both for global scope (organization-wide) and project/repository scope.

Learn more about webhooks in Space

Space Client SDK for Kotlin and .NET

Space Client SDK for Kotlin and .NET

For those who would like to achieve even tighter integration with Space at the source code level, we are delivering an official Space Client SDK (software development kit) for Kotlin and .NET.

Developers can use the Space Client SDK for Kotlin to take advantage of the Space API while writing their applications in JVM-based languages, such as Java, Kotlin, Scala, and many others.

Check out Space Client SDK for Kotlin on GitHub

Check out Space Client SDK for .NET on GitHub

Applications

Applications are the main way to extend Space. Applications can be thought of as a way to register an external application in Space. This could be a server-side or a client-side (JavaScript or mobile) application that works with various Space modules to manage users, track Git activity, send messages to Chats, and so on.

Applications

There are two types of Space applications:

Marketplace Applications

Applications are distributed via JetBrains Marketplace, a platform where extension developers can publish their applications so that they can be found and installed by end users. It supports all JetBrains products and it will support Space applications, too. Marketplace hosts free and paid extensions.

Private Applications

Private applications are those developed and distributed in your organization without being shared on the JetBrains Marketplace. With private applications, you can support unique use cases and workflows in your company.

Read about the applications model in the documentation

Interactive Bots & Slash Commands

With applications and integrations connected to Space, you can interact with messages, code reviews, issues, to-do lists, and meetings right in Space Chats without any context switching and distractions.

Interactive bots are a first-class citizen of the Space extensibility model. Applications can register bots which will respond to messages right in the Chats, and you will be able to interact with them via text and smart actions (such as buttons for multiple choice questions).

Interactive Bots

In addition to bots, Space has Slash Commands – a way to communicate with your application by typing a /command into the message box.

Slash Commands

Learn more about the bots API in Space

Learn more about Slash commands in Space

Space as an Authorization Server

Space as an Authorization Server

In order for applications, integrations, and external services to access your Space we use OAuth2, the industry-standard protocol for authorization. Any application or API client connecting to Space must be an OAuth 2.0 Client.

Alternatively, you can use personalized tokens.

In both cases, granular permissions should be set.

Request and grant authorization for applications on a project level. Receive notifications about new applications, permission requests, and app updates in a personal feed or a group channel.

Learn more about Authentication and Authorization in Space

What’s Coming Next? Coming Soon

Our team is actively working on additional extensibility for Space. Right now we are exploring the following:

  • Full support for Marketplace and private applications.
  • Even richer HTTP API (everything that can be done in the interface, and more, should be exposed via the API).
  • Extensive webhooks support for all Space events.
  • Incoming webhooks.
  • More interactive message workflows, including forms.
  • Extensible menus and UI customization, support for iFrames.

Partner with JetBrains Space

Whether you are a customer, a free plan user, a consultant, or a software vendor, we are committed to providing you with an open platform to develop on top of Space, at no additional cost.

If you are interested in partnering with JetBrains Space and building on top of it (either with an application on the Marketplace or as a custom services provider), please have a look at the JetBrains Space Partnership Programs.