Использование приложения#
Термины#
Argo Workflows — это контейнерный движок рабочих процессов в среде Kubernetes. Argo Workflows является частью продукта GetDocs, и все workflow, определенные в нем, имеют отношение к обработке документации.
Workflow — это главная сущность Argo Workflows, определяющая порядок действий для выполнения рабочего процесса и сохранение его состояния (аналог Jenkins job).
Интерфейс сайта документации#
Распределение продуктов по категориям на главной странице сайта выполняется автоматически. Сортировка категорий происходит по алфавиту. Названия категорий и описания продуктов задаются в Продуктовом учете.
По умолчанию сайт документации имеет несколько пространств, которые определяют стадию (stage) готовности документации:
draft — собранная документация изначально попадает в это пространство. Данная сборка позволяет получить отчет сборки и информацию об исходном репозитории документации;
approved — перевод в пространство approved означает, что документация прошла внутреннее согласование и готова к внутренней приемке и публикации;
release — перевод в пространство release означает доступность документации для пользователей.
Интерфейс release и approved пространства выглядит следующим образом:

Элемент |
Описание |
|---|---|
|
Переключение в полноэкранный режим и обратно |
|
Переключение на темную/светлую тему |
|
Обратиться в техподдержку |
|
Поле ввода поискового запроса. В текущей версии реализован полнотекстовый поиск в пределах комплекта документации на продукт |
|
Выйти из сервиса |
|
Сворачивание и разворачивание боковой панели с меню |
|
Вызов AI-ассистента |
Интерфейс draft пространства имеет дополнительные кнопки для разработчика документации:

Элемент |
Описание |
|---|---|
|
Открыть Argo Workflows |
|
Открыть подменю, в котором доступны кнопки для открытия и скачивания отчета |
|
Информация об исходных файлах собранной документации: имя репозитория, ветки и хеш коммита (срез репозитория, из которого собрана документация). По нажатию на этот блок происходит переход в репозиторий документации для внесения исправлений |
AI-ассистент#
Для более удобного поиска по сайту можно воспользоваться AI-ассистентом. Откройте чат с ассистентом, нажав кнопку в правом нижнем углу, и введите запрос. Поиск производится с учетом текущего контекста:
когда открыта разводящая страница со всеми комплектами документации, поиск производится по всей документации:

когда открыта документация продукта, поиск производится по текущему комплекту:

Подготовка репозитория документации#
(Опционально) При наличии настройте API документацию.
(Опционально) Добавьте документ в определенную группу для отображения на сайте.
Конфигурация комплекта документации#
Разместите исходные файлы документации в папку documentation.
Создайте в корне репозитория с исходными файлами документации файл doc-config.ini со следующей структурой:
# Тип поставки. # Тип "std" означает стандартную сборку комплекта документации. # Это обязательная строка. [std] # Код компонента/продукта, к которому относится документация. # Каждый продукт может быть самостоятельным или включать в себя компоненты. # Продукты должны иметь трехбуквенные коды, а компоненты - четырехбуквенные. # Это обязательная строка. code: PIF # Nexus GroupID для сборки архива с документацией. # Обязательно для продукта. Для компонента это поле не нужно добавлять. groupId: CI90000100_pif # Версия компонента/продукта. # Данная версия используется в URL документации на сайте, а также для сборки архива с документацией. # Это обязательная строка. version: 1.0.0 # Переменные. # Использование в исходных файлах: {{ varname1 }} # varname1: value1 # varname2: value2 # Исключения. # Данные файлы не будут участвовать в сборке документации. # Пути указываются через запятую, можно использовать glob-паттерны. # exclude_patterns: dir1, glob/*, dir2Перенесите файлы ресурсов (изображения, видео, анимации и прочий вспомогательный контент не в Markdown формате) в папку resources. Обратите внимание, что данная папка требуется для каждого каталога документации в репозитории. Например, если в репозитории есть директории с контентом user-guide и installation-guide, папка resources должна быть в каждой из них.
Скорректируйте ссылки на ресурсы соответствующим образом.
Добавьте файл index.md в каждую папку с документацией, которую необходимо отобразить на сайте. Данный файл является разводящей страницей раздела.
Если в папке находится только один файл, переименуйте его в index.md.
Если папка содержит несколько файлов, index.md должен отражать содержание радела - заголовок первого уровня с названием раздела, заголовок
## Содержаниеи список ссылок на файлы документации с учетом иерархической вложенности разделов. Ниже приведен пример данного файла:<!-- ↓ название текущего раздела. --> # Руководство по установке <!-- ↓ обязательный заголовок. --> ## Содержание <!-- ↓ ссылка на файл installation.md, который расположен в текущей директории и имеет заголовок "Установка". --> * [Установка](installation.md) <!-- ↓ файлы, расположенные в текущей директории, которые должны отображаться как дочерние для раздела "Установка". --> * [На виртуальную машину](vm.md) * [В Kubernetes](k8s.md) <!-- ↓ ссылка на файл update.md, который расположен в текущей директории и отображается на одном уровне с разделом "Установка". --> * [Обновление](update.md)
Сборка API документации#
Сборку API документации можно провести тремя способами, в порядке приоритета:
Вручную#
Разместите API документацию в папку apis/ рядом с файлом info.json:
GRAPH_QL
apis/ // Директория с документацией на публичные API └── <api-name>/ // Директория с документацией на версию публичного API ├── info.json // Метаинформация об API └── graphql/ └── index.graphql // GraphQL API спецификацияGRPC
apis/ // Директория с документацией на публичные API └── <api-name>/ // Директория с документацией на версию публичного API ├── info.json // Метаинформация об API └── proto/ └── index.proto // gRPC API спецификацияJAVA
apis/ // Директория с документацией на публичные API └── <api-name>/ // Директория с документацией на версию публичного API ├── info.json // Метаинформация об API └── html/ ├── index.html // Корневой HTML файл Javadoc └── ... // Остальные статичные файлы JavadocJSON_RPC
apis/ // Директория с документацией на публичные API └── <api-name>/ // Директория с документацией на версию публичного API ├── info.json // Метаинформация об API └── json/ └── index.json // JSON-RPC API спецификация (в соответствии с OpenRPC)KAFKA
apis/ // Директория с документацией на публичные API └── <api-name>/ // Директория с документацией на версию публичного API ├── info.json // Метаинформация об API └── json/ └── index.json // Kafka API спецификация (в соответствии с AsyncAPI)MQ
apis/ // Директория с документацией на публичные API └── <api-name>/ // Директория с документацией на версию публичного API ├── info.json // Метаинформация об API └── json/ └── index.json // MQ API спецификация (в соответствии с AsyncAPI)OTHER
apis/ // Директория с документацией на публичные API └── <api-name>/ // Директория с документацией на версию публичного API ├── info.json // Метаинформация об API └── html/ ├── index.html // Корневой HTML файл прочей документации └── ... // Дополнительные файлы прочей документации при их наличииREST
apis/ // Директория с документацией на публичные API └── <api-name>/ // Директория с документацией на версию публичного API ├── info.json // Метаинформация об API └── json/ └── index.json // REST API спецификация (в соответствии с OpenAPI)
Из Git#
Укажите в apis/<api-name>/info.json в блоке repo информацию о репозитории, из которого нужно собрать API документацию. Для успешной настройки в репозитории в папке repo.apidir должен находиться соответствующий файл:
GRAPH_QL
index.graphql или <любое-имя>.graphql, если он является единственным файлом с расширением .graphql в папке.
GRPC
index.proto или <любое-имя>.proto, если он является единственным файлом с расширением .proto в папке.
JAVA
pom.xml. В pom.xml должен быть добавлен плагин maven-javadoc-plugin.
В GetDocs команда запуска javadoc зависит от pom.xml:
Если проект является агрегирующим (в pom.xml есть элемент
<modules>) и версия maven-javadoc-plugin 3.1.0 или выше:mvn javadoc:aggregate-no-fork -Dadditionalparam=-Xdoclint:none -Ddoclint=noneВ ином случае:
mvn javadoc:javadoc-no-fork -Dadditionalparam=-Xdoclint:none -Ddoclint=none
Для сборки используется Java 17, поэтому в итоге получается Javadoc с поиском, а не с боковым меню.
JSON_RPC
index.json или <любое-имя>.json, если он является единственным файлом с расширением .json в папке.
KAFKA
index.json или <любое-имя>.json, если он является единственным файлом с расширением .json в папке.
MQ
index.json или <любое-имя>.json, если он является единственным файлом с расширением .json в папке.
OTHER
index.html
REST
index.json или <любое-имя>.json, если он является единственным файлом с расширением .json в папке.
Из Nexus CI#
Укажите в apis/<api-name>/info.json в блоке gav координаты (GroupId, ArtifactId, Version) API документации (при этом блок repo в info.json должен отсутствовать):
GRAPH_QL
В хранилище артефактов описание GraphQL API должно быть представлено артефактом (текстовый файл) типа graphql (
groupId: groupId API,artifactId: artifactId API,version: версия API,type:graphql).В info.json можно дополнительно указать классификатор в
gav-classifier(необязательно).GRPC
В хранилище артефактов описание gRPC API должно быть представлено артефактом (текстовый файл) типа proto (
groupId: groupId API,artifactId: artifactId API,version: версия API,type:proto).В info.json можно дополнительно указать классификатор в
gav-classifier(необязательно).JAVA
В хранилище артефактов документация на публичные Java API должна быть представлена артефактом типа jar (
groupId: groupId API,artifactId: artifactId API,version: версия API,type:jar,classifier:javadoc).JSON_RPC
В хранилище артефактов описание JSON-RPC API должно быть представлено артефактом типа json (
groupId: groupId API,artifactId: artifactId API,version: версия API,type:json).В info.json можно дополнительно указать классификатор в
gav-classifier(необязательно).KAFKA
В хранилище артефактов описание Message Broker API должно быть представлено артефактом типа json (
groupId: groupId API,artifactId: artifactId API,version: версия API,type:json).В info.json можно дополнительно указать классификатор в
gav-classifier(необязательно).MQ
В хранилище артефактов описание Message Broker API должно быть представлено артефактом типа json (
groupId: groupId API,artifactId: artifactId API,version: версия API,type:json).В info.json можно дополнительно указать классификатор в
gav-classifier(необязательно).OTHER
В хранилище артефактов описание Other API должно быть представлено артефактом типа zip (
groupId: groupId API,artifactId: artifactId API,version: версия API,type:zip).В info.json можно дополнительно указать классификатор в
gav-classifier(необязательно).Структура архива должна быть следующей:
<api-name>.zip // Архив с документацией на публичные API └── html/ ├── index.html // Корневой HTML файл прочей документации └── ... // Дополнительные файлы прочей документации если естьREST
В хранилище артефактов описание REST API должно быть представлено артефактом типа json (
groupId: groupId API,artifactId: artifactId API,version: версия API,type:json).В info.json можно дополнительно указать классификатор в
gav-classifier(необязательно).
В общем отчете будет информация о сборке API документации:

Пример заполнения info.json:
{
"type": "JAVA",
"name": "Документация Java API",
"description": "Документ, в котором описаны интерфейсы и классы Java API",
"gav": {
"groupId": "group.id.example",
"artifactId": "artefact-id-example",
"version": "1.0.0"
},
"repo": {
"url": "ssh://git@mydomain:7998/code/api-demo.git",
"commit": "577af2f44b9",
"apidir": "/"
}
}
Схема info.json:
{
"$schema": "http://json-schema.org/draft-07/schema#",
"$id": "info.schema.json",
"title": "Схема файла info.json",
"type": "object",
"properties": {
"type": {
"description": "Тип API",
"type": "string",
"enum": [
"GRAPH_QL",
"GRPC",
"JAVA",
"JSON_RPC",
"KAFKA",
"MQ",
"OTHER",
"REST"
]
},
"name": {
"description": "Название API",
"type": "string"
},
"description": {
"description": "Краткое описание",
"type": "string"
},
"gav": {
"description": "Уникальный составной идентификатор версии API",
"type": "object",
"properties": {
"groupId": {
"type": "string"
},
"artifactId": {
"type": "string"
},
"version": {
"type": "string"
},
"classifier": {
"type": "string"
}
},
"required": [
"groupId",
"artifactId",
"version"
]
},
"isOwn": {
"description": "API разработано СБТ (не является заимствованным)",
"type": "boolean",
"default": true
},
"repo": {
"description": "Репозиторий API",
"type": "object",
"properties": {
"url": {
"description": "SSH ссылка на репозиторий",
"type": "string"
},
"commit": {
"description": "Коммит",
"type": "string"
},
"apidir": {
"description": "Путь к API файлам",
"type": "string"
}
},
"required": [
"url",
"commit",
"apidir"
]
}
},
"required": [
"type",
"name",
"description",
"gav"
]
}
Добавление документа в определенную группу#
Все документы, идентификаторы которых отличаются от указанных в общих документах или руководствах в конфигурации сайта, будут автоматически добавляться в группу Дополнительная документация.
Чтобы добавить документ в определенную группу, выполните следующее в репозитории документации:
Откройте файл index.md того документа, для которого задается группа.
В начало файла добавьте группу:
--- group: Имя группы без кавычек --- <!-- # Имя документа --> <!-- Контент документа -->
Работа с workflows#
Обратите внимание
Получите ссылку для входа в Argo Workflow у системного администратора.
В поле NAMESPACE (пространство имен) должно быть указано значение getdocs, при другом значении возможна ошибка с запретом доступа.
Чтобы посмотреть список workflow, перейдите на страницу Workflows:

Чтобы отфильтровать список по создателю workflow, в поле LABELS укажите либо workflows.argoproj.io/creator-email=<почта-пользователя>, либо workflows.argoproj.io/creator-preferred-username=<логин-пользователя>:
Порядок запуска workflows#
Полный цикл работы с комплектом документации включает в себя следующие шаги:
Подготовка репозитория документации к дальнейшей работе с workflows.
Запуск workflow build-doc, который выполняет предварительную сборку и валидацию документации из исходных файлов в репозитории.
Проверка отчета сборки и исправление ошибок сборки при необходимости.
Внесение кода и версии успешно собранного комплекта документации в конфигурацию сайта.
Запуск workflow build-site, который отобразит на сайте добавленный в конфигурацию комплект.
(Опционально) Запуск workflow load-to-nexus для сборки архива с документацией и его загрузки в Nexus.
На любом этапе можно воспользоваться workflows проверки качества контента для валидации исходных файлов документации в репозитории:
Запуск workflow#
Workflow можно создать двумя способами - на странице Workflows или на странице Workflow Templates.
Workflows#
Перейдите на вкладку Workflows.
В поле NAMESPACE укажите getdocs.
Нажмите кнопку SUBMIT NEW WORKFLOW.
Выберите нужный workflow из списка:

В появившейся форме не изменяйте поля Entrypoint и Labels, остальные заполните согласно описанию (появляется при наведении курсора на знак вопроса рядом с названием поля).
Нажмите кнопку SUBMIT.

Workflow Templates#
Перейдите на вкладку Workflow Templates.
В поле NAMESPACE укажите getdocs.
Выберите нужный workflow из списка:

Нажмите кнопку SUBMIT в интерфейсе шаблона.
В появившейся форме не изменяйте поля Entrypoint и Labels, остальные заполните согласно описанию (появляется при наведении курсора на знак вопроса рядом с названием поля).
Нажмите кнопку SUBMIT.

Сборка документации (build-doc)#
Данный workflow позволяет собрать документацию по ссылке репозитория. Сборка происходит изолированно от общего сайта, поэтому документация появится там только тогда, когда дополнительно будет выполнен workflow build-site.
Запустите workflow build-doc, указав необходимые параметры:
Параметр
Описание
Пример
repo_url
Ссылка на репозиторий документации
*
docdev/a-paradigm
*https://my-domain.ru/bitbucket-ci/projects/DOCDEV/repos/a-paradigm/browse
*https://my-domain.ru/bitbucket-ci/scm/docdev/a-paradigm.git
*ssh://git@my-domain:7998/docdev/a-paradigm.gitrepo_branch
Ветка репозитория документации (если не указана, то используется ветка по умолчанию)
*
master
*release/1.2.3repo_commit
Коммит репозитория документации (имеет приоритет над веткой)
*
3a561531d0a
*b4e15bde1bbea2170f8de3d7d6136c5a3caf2407doc_dir
Путь до папки с документацией в репозитории. Указывается относительно корня репозитория. Если пусто, то собирается папка, в которой расположен doc-config.ini. Если в репозитории несколько doc-config.ini (несколько комплектов документов), то нужно указывать путь до нужного doc-config.ini
*
documentation
*path/to/docscode
Код продукта/компонента (имеет приоритет над кодом в doc-config.ini)
*
PIF
*GDOCversion
Версия продукта/компонента (имеет приоритет над версией в doc-config.ini)
*
1.2.3
*3.2.1Когда workflow выполнится (т.е. когда корневой узел графа станет зеленым), нажмите на узел графа с названием report-draft-std-ext.html.
Справа появится предпросмотр отчета.Чтобы открыть отчет на всю страницу, нажмите внизу кнопку REPORT-DRAFT-STD-EXT.HTML.

По умолчанию на данном этапе также происходит валидация документации. Подробнее работа с данным отчетом описана в разделе Работа с отчетом сборки документации.
Чтобы посмотреть все созданные отчеты сборки (все комбинации <stage>-<package>-<audience>), выполните шаги из раздела Просмотр всех отчетов сборки.
Сборка сайта (build-site)#
Данный workflow позволяет собрать сайт согласно конфигурации из репозитория content-configuration.
Актуализируйте конфигурацию сайта самостоятельно или обратитесь к администратору. Например, если был собран новый комплект документации, который необходимо отобразить на сайте, добавьте его параметры в конфигурацию.
Запустите workflow build-site. Данный workflow не требует указания параметров.
Когда workflow выполнится (т.е. когда корневой узел графа станет зеленым), нажмите на узел графа с названием report-draft-std-ext.html.
Справа появится окно предварительного просмотра отчета.Чтобы открыть его на всю страницу, нажмите внизу на кнопку REPORT-DRAFT-STD-EXT.HTML.

Чтобы посмотреть все созданные отчеты сборки (все комбинации <stage>-<package>-<audience>), выполните шаги из раздела Просмотр всех отчетов сборки.
Создание и загрузка дистрибутива в Nexus CD (load-to-nexus)#
Данный workflow позволяет создать и загрузить дистрибутив в Nexus CD.
Убедитесь, что код и версия продукта добавлены в конфигурацию сайта.
Убедитесь, что документация продукта собрана с помощью workflow build-doc и build-site.
Запустите workflow load-to-nexus, указав необходимые параметры:
Параметр
Описание
Пример
code
Код продукта
PIFversion
Версия продукта
*
1.2.3
*3.2.1group_id
Параметр
groupId(если не указан, то используетсяgroupIdиз doc-config.ini)*
CI90000181_docdev
*CI90000082_pvgdis_dev_repo
Если значение равно
1, то дистрибутив загружается в репозиторий в Nexus CI.
Если значение равно0, то загрузка идет в Nexus CD*
0
*1Когда workflow выполнится (т.е. когда корневой узел графа станет зеленым), нажмите на корневой узел графа, откройте вкладку INPUTS/OUTPUTS и найдите блок Parameters. В параметре
linkбудет ссылка на архив, а вnon_approved- список компонентов, которых нет вreleaseпространстве.

Валидация контента#
Базовая валидация документации (validate-doc)#
По умолчанию базовая валидация происходит на этапе сборки документации.
При необходимости провалидировать документацию без ее сборки воспользуйтесь workflow validate-doc.
Запустите workflow validate-doc, указав необходимые параметры:
Параметр
Описание
Пример
repo_url
Ссылка на репозиторий документации
*
docdev/a-paradigm
*https://my-domain.ru/bitbucket-ci/projects/DOCDEV/repos/a-paradigm/browse
*https://my-domain.ru/bitbucket-ci/scm/docdev/a-paradigm.git
*ssh://git@my-domain:7998/docdev/a-paradigm.gitrepo_branch
Ветка репозитория документации (если не указана, то используется ветка по умолчанию)
*
master
*release/1.2.3repo_commit
Коммит репозитория документации (имеет приоритет над веткой)
*
3a561531d0a
*b4e15bde1bbea2170f8de3d7d6136c5a3caf2407doc_dir
Путь до папки с документацией в репозитории. Указывается относительно корня репозитория. Если пусто, то собирается папка, в которой расположен doc-config.ini. Если в репозитории несколько doc-config.ini (несколько комплектов документов), то нужно указывать путь до нужного doc-config.ini
*
documentation
*path/to/docsvalidation_rules_branch
Ветка репозитория правил валидации (если не указана, то используется ветка
master)*
master
*ropoКогда workflow выполнится (т.е. когда корневой узел графа станет зеленым), нажмите на узел графа с названием report.html.
Справа появится окно предварительного просмотра отчета.Чтобы открыть его на всю страницу, нажмите внизу кнопку REPORT.HTML.

Подробнее работа с данным отчетом описана в разделе Работа с отчетом сборки документации.
Валидация изображений (validate-doc-images)#
Базовые правила валидации также применимы для проверки изображений в документации.
Данный AI-валидатор анализирует изображения во всем комплекте документации, считывает с них текст и применяет к нему стандартные проверки.
Чтобы выполнить валидацию изображений, выполните следующие действия:
Запустите workflow validate-doc-images, указав необходимые параметры:
Параметр
Описание
Пример
repo_url
Ссылка на репозиторий документации
*
docdev/a-paradigm
*https://my-domain.ru/bitbucket-ci/projects/DOCDEV/repos/a-paradigm/browse
*https://my-domain.ru/bitbucket-ci/scm/docdev/a-paradigm.git
*ssh://git@my-domain:7998/docdev/a-paradigm.gitrepo_branch
Ветка репозитория документации (если не указана, то используется ветка по умолчанию)
*
master
*release/1.2.3repo_commit
Коммит репозитория документации (имеет приоритет над веткой)
*
3a561531d0a
*b4e15bde1bbea2170f8de3d7d6136c5a3caf2407doc_dir
Путь до папки с документацией в репозитории. Указывается относительно корня репозитория. Если значение не задано, то собирается папка, в которой расположен конфигурационный файл doc-config.ini. Если в репозитории несколько конфигурационных файлов (несколько комплектов документов), укажите путь до нужного doc-config.ini
*
documentation
*path/to/docsvalidation_rules_branch
Ветка репозитория правил валидации (если не указана, то используется ветка
master)*
master
*ropoconfig_file
Имя файла конфигурации документации, которую необходимо проверить. Если в репозитории содержится один конфигурационный файл, данный параметр не требуется заполнять
doc-config-pif.iniКогда workflow выполнится (т.е. когда корневой узел графа станет зеленым), нажмите на узел графа с названием report.html.
Справа появится окно предварительного просмотра отчета.Чтобы открыть его на всю страницу, нажмите внизу кнопку REPORT.HTML.
Валидация системных требований (validate-doc-software)#
В GetDocs доступна проверка корректности указания системных требований в документации.
Предусловия
В репозитории с правилами валидации существует файл software.yaml. В файле размещаются списки с именами и версиями разрешенного и запрещенного стороннего программного обеспечения. Уточните данную информацию у администратора системы.
В репозитории с документацией руководство по установке расположено в папке installation-guide.
В репозитории с документацией существует файл system-requirements.md. В файле в свободной форме перечислено программное обеспечение (ПО), необходимое для корректной работы продукта или его функций.
Обратите внимание, данный валидатор не поддерживает проверку автоматически сгенерированных системных требований.
Данный AI-валидатор выполняет следующие проверки:
Сверка упомянутого в тексте документации ПО со списком разрешенного и запрещенного.
Валидатор анализирует полный комплект документации и обнаруживает все упоминания стороннего ПО. Далее проверяет, упомянуто ли найденное программное обеспечение в списке разрешенного или запрещенного (в файле software.yaml) и выдает соответствующую ошибку:
Упомянутая версия отличается от разрешенной:
Версии разрешенного ПО нет в списке: <SoftwareName>. Обратитесь к юристам.Упомянутое ПО найдено в списке запрещенного:
Запрещенное ПО: <SoftwareName>.Упомянутое ПО не найдено в списках разрешенного и запрещенного:
Похоже на неизвестное ПО: <SoftwareName>. Убедитесь, что это действительно ПО. Если это так, обратитесь к юристам.
Сверка упомянутого в тексте документации ПО с перечисленным в системных требованиях к продукту.
Валидатор анализирует полный комплект документации и обнаруживает все упоминания стороннего ПО. Далее проверяет, упомянуто ли найденное программное обеспечение в файле с описанием системных требований к продукту (system-requirements.md) и выдает соответствующую ошибку, если нет:
ПО, которое не заявлено в системных требованиях: <SoftwareName>.Проверка, что все стороннее программное обеспечение упомянуто в Руководстве по установке.
Валидатор анализирует файл с описанием системных требований к продукту (system-requirements.md) и обнаруживает все упоминания стороннего ПО. Далее проверяет, все ли ПО упоминается в файлах в папке installation-guide. Если ПО указано в системных требованиях, но в руководстве по установке не упоминается, валидатор выдает следующую ошибку:
ПО из системных требований, которое не упоминается в РУ: <SoftwareName>.
Чтобы выполнить валидацию системных требований, выполните следующие действия:
Запустите workflow validate-doc-software, указав необходимые параметры:
Параметр
Описание
Пример
repo_url
Ссылка на репозиторий документации
*
docdev/a-paradigm
*https://my-domain.ru/bitbucket-ci/projects/DOCDEV/repos/a-paradigm/browse
*https://my-domain.ru/bitbucket-ci/scm/docdev/a-paradigm.git
*ssh://git@my-domain:7998/docdev/a-paradigm.gitrepo_branch
Ветка репозитория документации (если не указана, то используется ветка по умолчанию)
*
master
*release/1.2.3repo_commit
Коммит репозитория документации (имеет приоритет над веткой)
*
3a561531d0a
*b4e15bde1bbea2170f8de3d7d6136c5a3caf2407doc_dir
Путь до папки с документацией в репозитории. Указывается относительно корня репозитория. Если значение не задано, то собирается папка, в которой расположен конфигурационный файл doc-config.ini. Если в репозитории несколько конфигурационных файлов (несколько комплектов документов), укажите путь до нужного doc-config.ini
*
documentation
*path/to/docsconfig_file
Имя файла конфигурации документации, которую необходимо проверить. Если в репозитории содержится один конфигурационный файл, данный параметр не требуется заполнять
doc-config-pif.iniКогда workflow выполнится (т.е. когда корневой узел графа станет зеленым), нажмите на узел графа с названием report.html.
Справа появится окно предварительного просмотра отчета.Чтобы открыть его на всю страницу, нажмите внизу кнопку REPORT.HTML.
Выгрузка печатных форм (print-doc)#
GetDocs позволяет генерировать DOCX и PDF файлы из исходных кодов документации.
Запустите workflow print-doc, указав необходимые параметры:
Параметр
Описание
Пример
code
Код продукта
PIFversion
Версия продукта
*
1.2.3
*3.2.1documents
Список документов, которые надо создать, через запятую. Если список пуст, то создаются все документы из комплекта
administration-guide*,user-guide*include_components
Если в параметре
codeпередан код продукта, и текущий параметр равенyes, будут также созданы выгружены документы включенных в продукт компонентов*
yes
*noformat
Формат выгружаемых файлов
*
pdf
*docxpackage
Формат пакета с документами
stdКогда workflow выполнится (т.е. когда корневой узел графа станет зеленым), нажмите на узел графа с названием docs.zip и загрузите архив с выгруженными документами.
Работа с отчетом сборки документации#
Отчет может иметь один из следующих статусов:
Красный — Есть ошибки
В документации обнаружены критические ошибки, которые необходимо исправить. При наличии ошибок (error) сборка завершается при обнаружении первой ошибки. Ее необходимо исправить, а затем запустить сборку заново.Желтый — Есть замечания
В документации обнаружены ошибки, которые следует исправить для публикации в release, но они некритичны для отображения документации в draft.
При наличии только замечаний (warning) сборка проходит до конца.Зеленый — ОК
Ошибок и замечаний нет, сборка валидна.
Отчет содержит активные ссылки на место обнаружения ошибки в репозитории с номером строки в файле.
Правила валидации хранятся в репозитории content-validation.
Примечание
Если валидация комплекта документации выполняется больше 10 минут, рекомендуется в большие файлы комплекта документов, которые не предназначены для публикации, добавить<!-- vale off -->. Также это можно делать в накопительных длинных документах в то место документа, с которого нужно остановить валидацию (не проверять контент, относящийся к старым версиям).
Просмотр всех отчетов сборки#
Дополнительно можно посмотреть все созданные отчеты сборки (все комбинации <stage>-<package>-<audience>):
Нажмите на корневой узел графа.
Откройте вкладку INPUTS/OUTPUTS.
Нажмите на иконку артефакта reports внизу страницы:

Нажмите на страницу отчета. Ссылка на собранный сайт будет внутри отчета.
Просмотр ошибок#
Если корневой узел графа красный, а не зеленый, это значит, что операция завершилась с ошибкой. Узнать причину ошибки можно следующим образом:
Перейдите на страницу нужного workflow.
Нажмите на красный не корневой узел графа.
Откройте вкладку SUMMARY и внизу нажмите кнопку LOGS.
Откроется окно с логами, в котором будет видна строка с ошибкой — в строке будет слово | ERROR |:

Перезапуск workflow#
Перейдите на страницу нужного workflow и нажмите кнопку RESUBMIT в интерфейсе workflow.
Если нужно перезапустить workflow с другими параметрами, выберите опцию Override Parameters и измените значения.
Нажмите кнопку RESUBMIT в форме.










