Для чего используется новая функция `external_id` для тем?

Из https://meta.discourse.org/t/2-9-0-beta2-security-fix-and-more/218086:

Добавлена поддержка параметра external_id при создании и получении тем. Это изменение касается только API.

У меня есть несколько (пока экспериментальных) ботов на основе API, которые связывают темы с внешними ресурсами (например, с соответствующими трекерами ошибок или задач, относящимися к обсуждению). В документации https://docs.discourse.org указано, что это такое, но не приведено подробностей о том, как это должно использоваться. Есть ли более подробное объяснение? Кажется, это может быть действительно полезно!

Идея этой функции возникла из-за того, что многим сайтам необходимо взаимодействовать с Discourse через внешние приложения, но у них часто нет удобного способа отслеживать все внутренние идентификаторы Discourse для синхронизации данных. Теперь, когда можно создавать тему с external_id, становится гораздо проще сопоставить конкретную тему Discourse с ресурсом в вашем собственном приложении.

Для уточнения: новая функция external_id предназначена только для тем, а не для сообщений. Таким образом, тема может хранить external_id, но сообщение — нет.

Спасибо @blake. Так что “external_id” может быть произвольным с моей стороны? Для https://ask.fedoraproject.org/c/common-issues/141/none я делал что-то довольно ужасное — брал топ-пост и затем сканировал список link_counts на наличие URL, совпадающих с шаблоном внешнего ресурса.

Да, если он соответствует формату строки из 50 символов, включая - и _.

Ах, хорошо знать. То есть номера багов, а не полные URL. :slight_smile:

Может, кто-нибудь, пожалуйста, сделает external_id доступным в интерфейсе embed.js? Мне очень нужно отображать посты на внешней странице, связанной с external_id, когда topic_id мне неизвестен.

Привет, Aaron :slight_smile:
Нет необходимости дублировать один и тот же вопрос в нескольких местах. Давайте продолжим обсуждение в вашей оригинальной теме :+1: