Spec-Zone.ru › Elasticsearch 8
›Elasticsearch Руководство [8.17] ›Обработка контента с помощью коннекторов Elasticsearch ›Справочник по коннекторам

Справочник по коннектору Elastic Jira

Коннектор Elastic Jira — это коннектор для Atlassian Jira. Этот коннектор написан на Python с использованием фреймворка коннекторов Elastic.

Посмотреть исходный код этого коннектора (ветка 8.17, совместимая с Elastic 8.17).

Выберите справочник по коннектору

Вы используете управляемый коннектор в Elastic Cloud или самостоятельный коннектор? Разверните документацию в зависимости от метода развертывания.

Справочник по управляемому коннектору Elastic

Просмотр справки по управляемому соединителю Elastic
Доступность и предварительные требования

Этот соединитель доступен как управляемый соединитель в Elastic Cloud, начиная с версии 8.9.1.

Поддержка Jira Data Center была добавлена в версии 8.13.0 в техническом предварительном просмотре и может быть изменена. Дизайн и код менее зрелые, чем официальные функции GA, и предоставляются как есть без каких-либо гарантий. Функции технического предварительного просмотра не подпадают под SLA поддержки официальных функций GA.

Для использования этого соединителя напрямую в Elastic Cloud выполните все требования к управляемым соединителям.

Создание соединителя Jira

Использование пользовательского интерфейса

Для создания нового соединителя Jira:

  1. В пользовательском интерфейсе Kibana перейдите на страницу Поиск → Содержимое → Соединители из главного меню или используйте поле глобального поиска.
  2. Следуйте инструкциям для создания нового родного соединителя Jira.

Для дополнительных операций см. Пользовательский интерфейс соединителей в Kibana.

Использование API

Вы можете использовать Elasticsearch API для создания соединителя, чтобы создать новый родной соединитель Jira.

Например:

resp = client.connector.put(
    connector_id="my-{service-name-stub}-connector",
    index_name="my-elasticsearch-index",
    name="Content synced from {service-name}",
    service_type="{service-name-stub}",
    is_native=True,
)
print(resp)
const response = await client.connector.put({
  connector_id: "my-{service-name-stub}-connector",
  index_name: "my-elasticsearch-index",
  name: "Content synced from {service-name}",
  service_type: "{service-name-stub}",
  is_native: true,
});
console.log(response);
PUT _connector/my-jira-connector
{
  "index_name": "my-elasticsearch-index",
  "name": "Content synced from Jira",
  "service_type": "jira",
  "is_native": true
}
Вам также потребуется создать ключ API для использования соединителем.

Пользователю требуются права кластера manage_api_key, manage_connector и write_connector_secrets для программирования создания ключей API.

Для создания ключа API для соединителя:

  1. Выполните следующую команду, заменив указанные значения. Обратите внимание на значения id и encoded из ответа:

    resp = client.security.create_api_key(
        name="my-connector-api-key",
        role_descriptors={
            "my-connector-connector-role": {
                "cluster": [
                    "monitor",
                    "manage_connector"
                ],
                "indices": [
                    {
                        "names": [
                            "my-index_name",
                            ".search-acl-filter-my-index_name",
                            ".elastic-connectors*"
                        ],
                        "privileges": [
                            "all"
                        ],
                        "allow_restricted_indices": False
                    }
                ]
            }
        },
    )
    print(resp)
    const response = await client.security.createApiKey({
      name: "my-connector-api-key",
      role_descriptors: {
        "my-connector-connector-role": {
          cluster: ["monitor", "manage_connector"],
          indices: [
            {
              names: [
                "my-index_name",
                ".search-acl-filter-my-index_name",
                ".elastic-connectors*",
              ],
              privileges: ["all"],
              allow_restricted_indices: false,
            },
          ],
        },
      },
    });
    console.log(response);
    POST /_security/api_key
    {
      "name": "my-connector-api-key",
      "role_descriptors": {
        "my-connector-connector-role": {
          "cluster": [
            "monitor",
            "manage_connector"
          ],
          "indices": [
            {
              "names": [
                "my-index_name",
                ".search-acl-filter-my-index_name",
                ".elastic-connectors*"
              ],
              "privileges": [
                "all"
              ],
              "allow_restricted_indices": false
            }
          ]
        }
      }
    }
  2. Используйте значение encoded для хранения секрета соединителя и обратите внимание на значение id из этого ответа:

    resp = client.perform_request(
        "POST",
        "/_connector/_secret",
        headers={"Content-Type": "application/json"},
        body={
            "value": "encoded_api_key"
        },
    )
    print(resp)
    const response = await client.transport.request({
      method: "POST",
      path: "/_connector/_secret",
      body: {
        value: "encoded_api_key",
      },
    });
    console.log(response);
    POST _connector/_secret
    {
      "value": "encoded_api_key"
    }
  3. Используйте ключ API id и секрет соединителя id для обновления соединителя:

    resp = client.connector.update_api_key_id(
        connector_id="my_connector_id>",
        api_key_id="API key_id",
        api_key_secret_id="secret_id",
    )
    print(resp)
    const response = await client.connector.updateApiKeyId({
      connector_id: "my_connector_id>",
      api_key_id: "API key_id",
      api_key_secret_id: "secret_id",
    });
    console.log(response);
    PUT /_connector/my_connector_id>/_api_key_id
    {
      "api_key_id": "API key_id",
      "api_key_secret_id": "secret_id"
    }

Подробную информацию обо всех доступных API соединителей см. в документации Elasticsearch API.

Использование

Для использования этого соединителя напрямую в Elastic Cloud см. Управляемые соединители Elastic.

Для дополнительных операций см. Пользовательский интерфейс соединителей в Kibana.

Совместимость
  • Jira Cloud, Jira Server и Jira Data Center версий 7 и выше.
Конфигурация

Для настройки соединителя требуются следующие поля конфигурации:

Источник данных Jira
Выпадающий список для определения типа платформы Jira: Jira Cloud, Jira Server или Jira Data Center. Значение по умолчанию — Jira Cloud.
Имя пользователя Jira Data Center
Имя пользователя учетной записи для Jira Data Center.
Пароль Jira Data Center
Пароль учетной записи для использования в Jira Data Center.
Идентификатор учетной записи службы Jira Cloud
Адрес электронной почты для аутентификации с Jira Cloud. Пример: jane.doe@example.com
Токен API Jira Cloud
Токен API для аутентификации с Jira Cloud.
Имя пользователя Jira Server
Имя пользователя учетной записи для Jira Server.
Пароль Jira Server
Пароль учетной записи для использования в Jira Server.
Идентификатор учетной записи службы Jira Cloud
Электронный адрес учетной записи Jira Cloud.
Токен API Jira Cloud
Токен API для аутентификации с Jira Cloud.
URL хоста Jira

Домен, на котором размещен Jira. Примеры:

  • https://192.158.1.38:8080/
  • https://test_user.atlassian.net/
Ключи проекта Jira

Список ключей проекта, разделенных запятыми (Project Keys), для извлечения данных из Jira server или cloud. Если значение равно *, соединитель извлечёт данные из всех проектов, присутствующих в настроенных проектах. Значение по умолчанию — *. Примеры:

  • EC, TP
  • *
Включить SSL
Включить или выключить проверку SSL. Значение по умолчанию — False.
Сертификат SSL

Содержимое сертификата SSL. Примечание: если значение ssl_enabled равно False, значение ssl_ca будет проигнорировано. Пример сертификата:

-----BEGIN CERTIFICATE-----
MIID+jCCAuKgAwIBAgIGAJJMzlxLMA0GCSqGSIb3DQEBCwUAMHoxCzAJBgNVBAYT
...
7RhLQyWn2u00L7/9Omw=
-----END CERTIFICATE-----
Включить безопасность на уровне документов

Переключатель для включения безопасности на уровне документов (DLS). При включении полные синхронизации извлекут списки управления доступом для каждого документа и сохранят их в поле _allow_access_control. Синхронизации контроля доступа извлекают списки управления доступом пользователей и сохраняют их в отдельном индексе.

Для доступа к данным пользователей в администрировании Jira учетная запись, которую вы создали, должна иметь право Доступ к продукту для администрирования Jira. Этот доступ должен быть предоставлен администратором из Atlassian Admin, и предоставленный уровень доступа должен быть Product Admin.

Документы и синхронизации

Соединитель синхронизирует следующие объекты и сущности:

  • Проекты

    • Включает метаданные, такие как описание, ключ проекта, тип проекта, имя руководителя и т. д.
  • Задачи

    • Все типы задач, включая Задачи, Баги, Подзадачи, Улучшения, История и т. д.
    • Включает метаданные, такие как тип задачи, данные родительской задачи, исправляющие версии, затронутые версии, решение, вложения, комментарии, данные подзадач, приоритет, пользовательские поля и т. д.
  • Вложения

Примечание: Архивированные проекты и задачи не индексируются.

  • Содержимое файлов размером более 10 МБ не будет извлечено. (Управляемые соединители могут использовать локальный сервис извлечения для обработки файлов больших бинарных файлов.)
  • Разрешения не синхронизируются по умолчанию. Сначала необходимо включить DLS. В противном случае все индексированные документы в развертывании Elastic будут видимы всем пользователям с доступом к этому развертыванию Elastic.
Типы синхронизации

Полные синхронизации поддерживаются по умолчанию для всех соединителей.

Этот соединитель также поддерживает инкрементные синхронизации.

Правила синхронизации

Основные правила синхронизации одинаковы для всех соединителей и доступны по умолчанию.

Этот соединитель поддерживает расширенные правила синхронизации для удалённого фильтра. Эти правила охватывают сложные сценарии запросов и фильтрации, которые нельзя выразить с помощью основных правил синхронизации. Расширенные правила синхронизации определяются с помощью JSON-фрагмента DSL, специфичного для источника.

Пример расширенных правил синхронизации

Пример 1: Запросы для индексирования содержимого на основе статуса задач Jira.

[
  {
    "query": "project = Collaboration AND status = 'In Progress'"
  },
  {
    "query": "status IN ('To Do', 'In Progress', 'Closed')"
  }
]

Пример 2: Запрос для индексирования данных на основе приоритета задач для заданных проектов.

[
  {
    "query": "priority in (Blocker, Critical) AND project in (ProjA, ProjB, ProjC)"
  }
]

Пример 3: Запрос для индексирования данных на основе исполнителя и времени создания.

[
  {
    "query": "assignee is EMPTY and created < -1d"
  }
]
Безопасность на уровне документа

Безопасность на уровне документа (DLS) позволяет ограничить доступ к документам на основе разрешений пользователя. Обратитесь к настройкам на этой странице, чтобы узнать, как включить DLS для этого соединителя.

Включение DLS для вашего соединителя приведёт к существенному снижению производительности, так как API-вызовы к источнику данных, необходимые для этой функциональности, имеют ограничения по скорости. Это влияет на скорость получения вашего содержимого.

Когда data_source установлено в Confluence Data Center или Server, соединитель будет получать только 1000 пользователей для синхронизации управления доступом из-за ограничения в используемом API.

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

Извлечение содержимого

См. Извлечение содержимого.

Известные проблемы
  • Включение безопасности на уровне документа влияет на производительность.

    Включение DLS для вашего соединителя приведёт к существенному снижению производительности, так как API-вызовы к источнику данных, необходимые для этой функциональности, имеют ограничения по скорости. Это влияет на скорость получения вашего содержимого.

Обратитесь к Известным проблемам для получения списка известных проблем для всех соединителей.

Отладка

См. Отладку.

Безопасность

См. Безопасность.

Самостоятельно управляемый соединитель

Просмотреть справочник по самостоятельно управляемому соединителю
Доступность и предварительные требования

Этот коннектор доступен в качестве управляемого пользователем коннектора. Этот управляемый пользователем коннектор совместим с версиями Elastic 8.7.0+.

Поддержка Jira Data Center была добавлена в 8.13.0 в техническом предварительном просмотре и может быть изменена. Дизайн и код менее зрелые, чем официальные функции GA, и предоставляются как есть без каких-либо гарантий. Функции технического предварительного просмотра не подпадают под SLA поддержки официальных функций GA.

Для использования этого коннектора, выполните все требования к управляемому пользователем коннектору.

Создать коннектор Jira

Использовать пользовательский интерфейс

Для создания нового коннектора Jira:

  1. В пользовательском интерфейсе Kibana перейдите на страницу Поиск → Содержание → Коннекторы из основного меню или используйте поле глобального поиска.
  2. Следуйте инструкциям по созданию нового управляемого пользователем коннектора Jira.

Использовать API

Вы можете использовать API Elasticsearch создания коннектора для создания нового управляемого пользователем коннектора Jira.

Например:

resp = client.connector.put(
    connector_id="my-{service-name-stub}-connector",
    index_name="my-elasticsearch-index",
    name="Content synced from {service-name}",
    service_type="{service-name-stub}",
)
print(resp)
const response = await client.connector.put({
  connector_id: "my-{service-name-stub}-connector",
  index_name: "my-elasticsearch-index",
  name: "Content synced from {service-name}",
  service_type: "{service-name-stub}",
});
console.log(response);
PUT _connector/my-jira-connector
{
  "index_name": "my-elasticsearch-index",
  "name": "Content synced from Jira",
  "service_type": "jira"
}
Вам также потребуется создать ключ API для использования коннектором.

Пользователю необходимы права кластера manage_api_key, manage_connector и write_connector_secrets для программной генерации ключей API.

Для создания ключа API для коннектора:

  1. Выполните следующую команду, заменив значения там, где необходимо. Обратите внимание на возвращаемые значения encoded из ответа:

    resp = client.security.create_api_key(
        name="connector_name-connector-api-key",
        role_descriptors={
            "connector_name-connector-role": {
                "cluster": [
                    "monitor",
                    "manage_connector"
                ],
                "indices": [
                    {
                        "names": [
                            "index_name",
                            ".search-acl-filter-index_name",
                            ".elastic-connectors*"
                        ],
                        "privileges": [
                            "all"
                        ],
                        "allow_restricted_indices": False
                    }
                ]
            }
        },
    )
    print(resp)
    const response = await client.security.createApiKey({
      name: "connector_name-connector-api-key",
      role_descriptors: {
        "connector_name-connector-role": {
          cluster: ["monitor", "manage_connector"],
          indices: [
            {
              names: [
                "index_name",
                ".search-acl-filter-index_name",
                ".elastic-connectors*",
              ],
              privileges: ["all"],
              allow_restricted_indices: false,
            },
          ],
        },
      },
    });
    console.log(response);
    POST /_security/api_key
    {
      "name": "connector_name-connector-api-key",
      "role_descriptors": {
        "connector_name-connector-role": {
          "cluster": [
            "monitor",
            "manage_connector"
          ],
          "indices": [
            {
              "names": [
                "index_name",
                ".search-acl-filter-index_name",
                ".elastic-connectors*"
              ],
              "privileges": [
                "all"
              ],
              "allow_restricted_indices": false
            }
          ]
        }
      }
    }
  2. Обновите файл config.yml с значением ключа API encoded.

Для получения подробной информации обо всех доступных API коннекторов обратитесь к документации API Elasticsearch.

Использование

Чтобы использовать этот коннектор как управляемый пользователем коннектор, см. Управляемые пользователем коннекторы. Для дополнительных операций по использованию см. Интерфейс коннекторов в Kibana.

Совместимость
  • Jira Cloud, Jira Server и Jira Data Center версии 7 или более поздние.
Настройка

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

Эти настраиваемые поля будут отображаться со соответствующими метками в пользовательском интерфейсе Kibana. После подключения вы сможете обновить эти значения в Kibana.

Для настройки коннектора требуются следующие поля конфигурации:

data_source
Выпадающий список для определения типа платформы Jira: Jira Cloud, Jira Server или Jira Data Center. Значение по умолчанию Jira Cloud.
data_center_username
Имя пользователя учетной записи для Jira Data Center.
data_center_password
Пароль учетной записи для использования с Jira Data Center.
username
Имя пользователя учетной записи для Jira Server.
password
Пароль учетной записи для использования с Jira Server.
account_email
Адрес электронной почты для аутентификации с Jira Cloud. Пример: jane.doe@example.com
api_token
Токен API для аутентификации с Jira Cloud.
jira_url

Домен, где размещен Jira. Примеры:

  • https://192.158.1.38:8080/
  • https://test_user.atlassian.net/
projects

Список проектов, разделенных запятыми, для получения данных из Jira server или cloud. Если значение равно *, коннектор будет получать данные из всех проектов, присутствующих в настроенных проектах. Значение по умолчанию *. Примеры:

  • EC, TP
  • *

    Это поле можно обойти с помощью расширенных правил синхронизации.

ssl_enabled
Включить или выключить проверку SSL. Значение по умолчанию False.
ssl_ca

Содержимое сертификата SSL. Примечание: в случае, если ssl_enabled равно False, значение ssl_ca будет проигнорировано. Пример сертификата:

-----BEGIN CERTIFICATE-----
MIID+jCCAuKgAwIBAgIGAJJMzlxLMA0GCSqGSIb3DQEBCwUAMHoxCzAJBgNVBAYT
...
7RhLQyWn2u00L7/9Omw=
-----END CERTIFICATE-----
retry_count
Количество попыток повторной обработки после неудачного запроса к Jira. Значение по умолчанию 3.
concurrent_downloads
Количество одновременных загрузок для извлечения содержимого вложений. Это ускоряет извлечение содержимого вложений. По умолчанию 100.
use_document_level_security
Переключатель для включения безопасности на уровне документа (DLS). При включении полные синхронизации будут получать списки управления доступом для каждого документа и хранить их в поле _allow_access_control. Синхронизации управления доступом извлекают списки управления доступом пользователей и хранят их в отдельном индексе.

Для доступа к данным пользователей в административной панели Jira, учетная запись, которую вы создали, должна иметь права Доступ к продукту для Jira Administration. Этот доступ должен предоставить администратор из Atlassian Admin, и уровень доступа должен быть Product Admin.

use_text_extraction_service
Требует отдельного развертывания услуги Elastic Text Extraction Service. Требует, чтобы настройки конвейера индексации отключали извлечение текста. Значение по умолчанию False.
Развертывание с помощью Docker

Вы можете развернуть коннектор Jira в качестве управляемого пользователем коннектора с помощью Docker. Следуйте этим инструкциям.

Шаг 1: Скачать файл образца конфигурации

Загрузите файл образца конфигурации. Вы можете загрузить его вручную или выполнить следующую команду:

curl https://raw.githubusercontent.com/elastic/connectors/main/config.yml.example --output ~/connectors-config/config.yml

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

Шаг 2: Обновить файл конфигурации для вашего управляемого пользователем коннектора

Обновите файл конфигурации с указанными ниже настройками, чтобы соответствовать вашей среде:

  • elasticsearch.host
  • elasticsearch.api_key
  • connectors

Если вы запускаете службу коннектора на Docker-образе Elasticsearch и Kibana, ваш файл конфигурации будет выглядеть так:

# When connecting to your cloud deployment you should edit the host value
elasticsearch.host: http://host.docker.internal:9200
elasticsearch.api_key: <ELASTICSEARCH_API_KEY>

connectors:
  -
    connector_id: <CONNECTOR_ID_FROM_KIBANA>
    service_type: jira
    api_key: <CONNECTOR_API_KEY_FROM_KIBANA> # Optional. If not provided, the connector will use the elasticsearch.api_key instead

Использование elasticsearch.api_key — рекомендуемый метод аутентификации. Однако вы также можете использовать elasticsearch.username и elasticsearch.password для аутентификации с вашим экземпляром Elasticsearch.

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

Шаг 3: Запустить образ Docker

Запустите образ Docker с сервисом коннектора с помощью следующей команды:

docker run \
-v ~/connectors-config:/config \
--network "elastic" \
--tty \
--rm \
docker.elastic.co/enterprise-search/elastic-connectors:8.17.3 \
/app/bin/elastic-ingest \
-c /config/config.yml

Для получения более подробной информации обратитесь к DOCKER.md в репозитории elastic/connectors.

Найдите все доступные образы Docker в официальном реестре.

У нас также есть быстрый вариант самообслуживания с использованием Docker Compose, позволяющий одновременно запустить все необходимые службы: Elasticsearch, Kibana и службу коннекторов. Обратитесь к этому README в репозитории elastic/connectors для получения дополнительной информации.

Документы и синхронизации

Коннектор синхронизирует следующие объекты и сущности:

  • Проекты

    • Включает метаданные, такие как описание, ключ проекта, тип проекта, имя руководителя и т. д.
  • Задачи

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

Примечание: Архивированные проекты и задачи не индексируются.

  • Содержимое файлов размером более 10 МБ не будет извлечено
  • Разрешения не синхронизируются по умолчанию. Сначала необходимо включить DLS. В противном случае, все документы, индексированные в развертывании Elastic, будут видны всем пользователям с доступом к этому развертыванию Elastic.
Типы синхронизации

Полные синхронизации поддерживаются по умолчанию для всех коннекторов.

Этот коннектор также поддерживает инкрементные синхронизации.

Правила синхронизации

Основные правила синхронизации одинаковы для всех коннекторов и доступны по умолчанию.

Этот коннектор поддерживает расширенные правила синхронизации для удалённого фильтра. Эти правила охватывают сложные сценарии запросов и фильтрации, которые нельзя выразить с помощью основных правил синхронизации. Расширенные правила синхронизации определяются с помощью специфичного для источника фрагмента JSON DSL.

Пример расширенных правил синхронизации

Пример 1: Запросы для индексации содержимого на основе статуса задач Jira.

[
  {
    "query": "project = Collaboration AND status = 'In Progress'"
  },
  {
    "query": "status IN ('To Do', 'In Progress', 'Closed')"
  }
]

Пример 2: Запрос для индексации данных на основе приоритета задач для заданных проектов.

[
  {
    "query": "priority in (Blocker, Critical) AND project in (ProjA, ProjB, ProjC)"
  }
]

Пример 3: Запрос для индексации данных на основе назначенного исполнителя и времени создания.

[
  {
    "query": "assignee is EMPTY and created < -1d"
  }
]
Безопасность на уровне документов

Безопасность на уровне документов (DLS) позволяет ограничить доступ к документам на основе разрешений пользователя. Обратитесь к настройкам на этой странице, чтобы узнать, как включить DLS для этого коннектора.

Включение DLS для вашего коннектора может привести к значительному снижению производительности, так как API-вызовы к источнику данных, необходимые для этой функции, ограничены по скорости. Это влияет на скорость получения вашего содержимого.

Когда data_source установлен на Confluence Data Center или Server, коннектор будет извлекать только 1000 пользователей для синхронизации управления доступом, из-за ограничений в используемом API.

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

Извлечение содержимого

См. Извлечение содержимого.

Операции с подключением самообслуживания
Конечный тест

Фреймворк коннекторов позволяет операторам запускать функциональные тесты с реальным источником данных. Обратитесь к Тестирование коннекторов для получения более подробной информации.

Для выполнения конечного тестирования коннектора Jira выполните следующую команду:

$ make ftest NAME=jira

Для более быстрых тестов добавьте флаг DATA_SIZE=small:

make ftest NAME=jira DATA_SIZE=small
Известные проблемы
  • Включение безопасности на уровне документов влияет на производительность.

    Включение DLS для вашего коннектора может привести к значительному снижению производительности, так как API-вызовы к источнику данных, необходимые для этой функции, ограничены по скорости. Это влияет на скорость получения вашего содержимого.

Обратитесь к Известные проблемы для списка известных проблем всех коннекторов.

Устранение неполадок

См. Устранение неполадок.

Безопасность

См. Безопасность.

© 2023-2025 Elasticsearch
As of September 2024, Elasticsearch is available under a choice of three licenses: the Server Side Public License (SSPL), the Elastic License, or the AGPLv3 (OSI approved).
Elasticsearch and the Elasticsearch logo are trademarks of Elasticsearch B.V., registered in the U.S. and in other countries.
https://www.elastic.co/guide/en/elasticsearch/reference/8.17/es-connectors-jira.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API