Расширяемость Space

Подключайте собственные приложения, создавайте интеграции и рабочие процессы или используйте возможности расширения, доступные на платформе JetBrains Marketplace.

HTTP API

Space предоставляет функциональный и хорошо задокументированный HTTP API, который пользователи и администраторы могут использовать для широкого круга задач:

  • Интеграция внешних приложений с чатами Space (например, отправка уведомлений в чаты из внешних сервисов, создание ботов с интерактивными сообщениями).
  • Передача данных и контента сторонним приложениям и сервисам.
  • Импорт/экспорт данных (например, статей, задач, пользовательских профилей) между Space и другими ресурсами.
  • Управление пользователями, командами и другими объектами программным способом.
  • Интеграция репозиториев Space с внешними сервисами (например, для получения данных о статусе сборки с CI/CD-сервера).
  • И многое другое.
HTTP API

Читайте руководство по работе с API и используйте площадку для тестирования HTTP API в своей организации Space.

Webhooks

Webhooks

Используйте вебхуки, чтобы сообщать внешним сервисам, таким как баг-трекер, сервер непрерывной интеграции или инструмент развертывания, о событиях, происходящих в Space.

Вебхуки считаются более предпочтительным способом отправки уведомлений во внешние сервисы, чем поллинг.

Space поддерживает вебхуки как в масштабах организации, так и отдельно для проектов/репозиториев.

Подробнее о вебхуках в Space

Space Client SDK для Kotlin и .NET

Space Client SDK для Kotlin и .NET

Для тех, кто хочет создавать более тесные интеграции на уровне исходного кода, мы предоставляем официальный Space Client SDK для Kotlin и .NET.

Space Client SDK для Kotlin позволит разработчикам воспользоваться преимуществами Space API при написании приложений на JVM-языках: Java, Kotlin, Scala и многих других.

Space Client SDK для Kotlin на GitHub

Space Client SDK для .NET на GitHub

Приложения

Приложения — это основной способ расширения Space. По сути это возможность регистрации внешнего приложения в Space. Это может быть серверное или клиентское (JavaScript или мобильное) приложение, которое будет взаимодействовать с различными модулями Space для управления пользователями, отслеживания активности в Git, отправки сообщений в чаты и т. д.

Приложения

В Space поддерживаются два вида приложений:

Приложения на Marketplace

Приложения распространяются через платформу JetBrains Marketplace, на которой разработчики могут публиковать свои расширения. Marketplace поддерживает все продукты JetBrains, а также приложения Space. На платформе можно найти платные и бесплатные расширения.

Частные приложения

Частные приложения — это приложения, разработанные и распространяемые в вашей организации без публикации на JetBrains Marketplace. С их помощью вы можете поддерживать уникальные сценарии использования и рабочие процессы в своей компании.

Подробнее о концепции приложений читайте в документации

Интерактивные боты и слеш-команды

Подключая приложения и создавая интеграции, вы можете взаимодействовать с сообщениями, код-ревью, задачами, встречами и списками дел прямо в чатах, не теряя концентрацию из-за вынужденной смены контекста.

Интерактивные боты — неотъемлемая часть модели расширяемости Space. Приложения могут регистрировать ботов, которые будут отвечать на сообщения прямо в чате, и вы сможете взаимодействовать с ними с помощью текста и умных действий (например, кнопок с вариантами ответов).

Интерактивные боты

Помимо ботов, в Space есть слеш-команды — можно взаимодействовать с приложением, вводя команду после косой черты в поле сообщения.

Слеш-команды

Подробнее о ботах в Space

Подробнее о слеш-командах

Авторизационный сервер

Авторизационный сервер

Чтобы приложения, интеграции и внешние сервисы могли получить доступ к Space, мы используем стандартный протокол авторизации OAuth2. Любое приложение или API-клиент, подключаемые к Space, должны быть клиентами OAuth 2.0.

В качестве альтернативы вы можете использовать персонализированные токены.

В обоих случаях необходимо установить отдельные разрешения.

Вы можете запрашивать и выдавать приложениям права доступа на уровне проекта. Получайте уведомления о новых приложениях, запросах на получение прав и обновлениях в персональной ленте или групповом канале.

Подробнее об аутентификации и авторизации

Что дальше? Скоро

Мы продолжаем работу над дополнительными возможностями расширения Space. Вот что есть у нас в планах:

  • Полная поддержка Marketplace и частных приложений.
  • Еще более функциональный HTTP API (все, что можно сделать в интерфейсе, должно быть доступно через API).
  • Расширенная поддержка вебхуков для всех событий Space.
  • Входящие вебхуки.
  • Больше интерактивных возможностей в сообщениях.
  • Возможность кастомизировать интерфейс и расширять меню, поддержка iFrames.

Партнерство с JetBrains Space

Независимо от того, пользуетесь ли вы нашим продуктом бесплатно или за деньги, являетесь ли консультантом или поставщиком программного обеспечения, мы бесплатно предоставим вам открытую платформу для разработки на базе Space.

Если вы хотите сотрудничать с JetBrains Space и развивать свой бизнес, разрабатывая приложения для Marketplace или предоставляя услуги, связанные с нашим продуктом, ознакомьтесь с Программами партнерства.