Публикация документов в Confluence
Введение
Данная программа предназначена для публикации документов в Confluence программным способом.
Генерация токена
Для публикации документов в Confluence необходимо сгенерировать персональный токен доступа (бессрочный).
-
Войти в Confluence под своей учетной записью;
-
В правом верхнем углу щелкнуть на иконку профиля;
-
Найтройки > Личные маркеры доступа > btn:[Создать маркер]
-
Выбрать токен бессрочным;
-
Дать название токену, например
confluence-publisher-token
; -
Сгенерировать токен;
Токен виден всего 1 раз, поэтому не спешите закрывать окно.
-
Скопировать токен в буфер обмена и сохранить в файл, например в ~/.confluence-publisher-token
Использование публикатора
- Для использования публикатора необходимо установить java версии не ниже 8, желательно 11+.
Например, следующая команда установит java в MacOS:
brew install openjdk
Убедитесь, что java доступна через команду java -version
. Если поcле установки java не доступна, то проверьте что переменная PATH или symlink указывают на каталог с установкой java. Пример команды установки symlink: sudo ln -sfn /opt/homebrew/opt/openjdk/libexec/openjdk.jdk /Library/Java/JavaVirtualMachines/openjdk.jdk
.
-
Скачать программу Confluence publisher, распаковать zip-архив, и сохранить jar-файл в локальный каталог, например в
~/bin/
. -
Подготовить документ в формате asciidoc (расширение *.adoc) и положить его в отдельную папку.
Если в локальной папке будут лежать другие asciidoc документы в т.ч. и во вложенных каталогах, то они тоже будут опубликованы.
-
Создать пустую страницу в Confluence, которая будет использоваться в качестве корневой при публикации документов и выяснить её цифровой идентификатор страницы (ancestorId) см. ниже.
-
Запустить программу публикации из командной строки (терминала) с использованием токена:
java -jar confluence-publisher-0.4.1-standalone.jar rootConfluenceUrl="https://confluence.mycompany.ru/" spaceKey="<Название SPACE>" ancestorId=123456 asciidocRootFolder="/path/to/folder/with/docs/" password=`cat ~/.confluence-publisher-token`
Пример: данная страница была опубликована командой:
java -jar /Users/mylogin/bin/confluence-publisher-0.4.1-standalone.jar rootConfluenceUrl="https://confluence.mycompany.ru/" spaceKey="~mylogin" ancestorId=322706352 asciidocRootFolder=/Users/mylogin/projects/mycompany/process/документы/how-to/confluence password=`cat ~/.confluence-publisher-token`
При публикации документа в конкретный узел дерева с идентификатором ancestorId все остальные документы затираются на этом уровне и ниже. Поэтому необходимо убедиться, что внутри страницы, куда будет производиться публикация не лежит ничего, кроме публикуемых документов или пусто.
Параметры программы:
Параметр |
Описание |
Пример |
rootConfluenceUrl |
Адрес корневого раздела в Confluence |
|
spaceKey |
Ключ пространства, куда необходимо опубликовать документ |
ABCD |
ancestorId |
Числовой идентификатор родительской страницы |
1234567 |
asciidocRootFolder |
Полный путь к папке (без сокращений) с документами для публикации в формате asciidoc |
/Users/mylogin/projects/mycompany/process/документы/how-to/confluence |
username |
Логин пользователя для входа в Confluence. При использовании персонального токена доступа этот параметр указывать ненужно или его содержимое должно быть пустым! |
|
password |
Пароль пользователя для входа в Confluence. В этом поле необходимо указать персональный токен доступа, который определяет: кто публикует документы и аутентифицирует. |
0123456789abcdef |
maxRequestsPerSecond |
(опциональный аргумент) Задает количество запросов в секунду. Чем меньше тем лучше. |
10 |
publishingStrategy |
(опциональный аргумент) Стратегия публикации документов. |
APPEND_TO_ANCESTOR / REPLACE_ANCESTOR |
Как узнать Space Key пространства
-
Необходимо зайти в Confluence под своей учетной записью;
-
Открыть пространство проекта, куда необходимо опубликовать документы;
-
В левом нижнем углу нажать “Space Tools” и выбрать пункт меню “Overview”;
-
Взять значение Key из таблицы
.
Как узнать идентификатор родительской страницы
Часто адресная строка страницы Confluence содержит не цифровой идентификатор (ancestorId), а текстовый. Чтобы узнать цифровой идентификатор, необходимый программе публикации, нужно сделать:
-
Необходимо зайти в Confluence под своей учетной записью;
-
Открыть пространство проекта, куда необходимо опубликовать документы;
-
Зайти на страницу внутрь которой необходимо опубликовать документы;
-
Нажать в правом верхнем углу на три точки kbd:[…]
-
Выбрать пункт Page Information, после чего в адресной строке браузера сменится url;
-
Необходимо тыкнуть мышкой на адрес строки и взять оттуда число
.
Раздел для разработчиков
Проект org.rssys/confluence-publisher создан на основе Шаблона приложения.
Перед началом работы с проектом см. раздел Установка зависимостей.
Цели проекта
Для настройки целей проекта используйте файлы bb.edn
и build.clj
.
Для вывода списка целей проекта запустите команду bb tasks
:
clean Очистить содержимое папки target
javac Компиляция Java классов
build Собрать дистрибутив программы в виде uberjar файла
run Запуск программы через функцию -main
standalone Создать самодостаточный пакет: программа + JRE (используя jlink, JDK 9+)
deploy Опубликовать uberjar файл в публичный репозиторий
release Сделать выпуск: присвоить тэг выпуска, сделать сборку, опубликовать в репозиторий
test Запустить тесты
repl Запустить Clojure REPL
outdated Проверить устаревшие зависимости
outdated:fix Проверить устаревшие зависимости и обновить
format Форматировать исходный код
lint Проверить исходный код линтером
requirements Установить зависимости необходимые проекту
Установка зависимостей
Для работы над проектом необходимо однократно выполнить установку зависимостей в среде Alt Linux p10.
Получение прав sudo
Установка разрешения на запуск sudo
для текущего пользователя:
SUDO_USER=`whoami`; su -c "echo '$SUDO_USER ALL=(ALL:ALL) ALL' > /etc/sudoers.d/$SUDO_USER"
Установка Babashka
-
Скачать и распаковать babashka:
-
Для aarch64
curl -O https://cdn01.rssys.org/babashka/babashka-1.3.186-linux-aarch64-static.tar.gz tar xvf babashka-1.3.186-linux-aarch64-static.tar.gz
-
для amd64/x86_64:
curl -O https://cdn01.rssys.org/babashka/babashka-1.3.186-linux-amd64-static.tar.gz tar xvf babashka-1.3.186-linux-amd64-static.tar.gz
-
-
Установка babashka:
sudo mv ./bb /usr/local/bin/ rm -f bb babashka*
Установка JDK
Скрипт установки автоматизирует установку OpenJDK 21 в ОС Alt Linux.
jdk21-install.sh
bb <(curl -s https://cdn01.rssys.org/bin/install-jdk.bb)
Установка bb как утилиты clojure
Скрипт установки автоматизирует установку babashka
в качестве утилиты clojure
и clj
install-deps.sh
bb <(curl -s https://cdn01.rssys.org/bin/install-clj.bb)
Установка инструмента управления шаблонами
Установка инструмента работы с шаблонами Leiningen/Boot/clj-template deps-new
clojure -Ttools install io.github.seancorfield/deps-new '{:git/tag "v0.5.2"}' :as new
Данный инструмент будет установлен в каталог ~/.gitlibs/libs/
Лицензия
© 2024 Михаил Ананьев.
Данный проект распространяется под Открытой лицензией на программное обеспечение РЭД СТАРС СИСТЕМС 1.0
Текст лицензии находится в файле LICENSE или по ссылке.