README.md

Публикация документов в Confluence

Введение

Данная программа предназначена для публикации документов в Confluence программным способом.

Генерация токена

Для публикации документов в Confluence необходимо сгенерировать персональный токен доступа (бессрочный).

  1. Войти в Confluence под своей учетной записью;

  2. В правом верхнем углу щелкнуть на иконку профиля;

  3. Найтройки > Личные маркеры доступа > btn:[Создать маркер]

Генерация токена

  1. Выбрать токен бессрочным;

  2. Дать название токену, например confluence-publisher-token;

  3. Сгенерировать токен;

    Токен виден всего 1 раз, поэтому не спешите закрывать окно.

  4. Скопировать токен в буфер обмена и сохранить в файл, например в ~/.confluence-publisher-token

Использование публикатора

  1. Для использования публикатора необходимо установить 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.

  1. Скачать программу Confluence publisher, распаковать zip-архив, и сохранить jar-файл в локальный каталог, например в ~/bin/.

  2. Подготовить документ в формате asciidoc (расширение *.adoc) и положить его в отдельную папку.

    Если в локальной папке будут лежать другие asciidoc документы в т.ч. и во вложенных каталогах, то они тоже будут опубликованы.

  3. Создать пустую страницу в Confluence, которая будет использоваться в качестве корневой при публикации документов и выяснить её цифровой идентификатор страницы (ancestorId) см. ниже.

  4. Запустить программу публикации из командной строки (терминала) с использованием токена:

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

https://confluence.mycompany.ru/

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 пространства

  1. Необходимо зайти в Confluence под своей учетной записью;

  2. Открыть пространство проекта, куда необходимо опубликовать документы;

  3. В левом нижнем углу нажать “Space Tools” и выбрать пункт меню “Overview”;

  4. Взять значение Key из таблицы

.

Как узнать Space Key

Как узнать идентификатор родительской страницы

Часто адресная строка страницы Confluence содержит не цифровой идентификатор (ancestorId), а текстовый. Чтобы узнать цифровой идентификатор, необходимый программе публикации, нужно сделать:

  1. Необходимо зайти в Confluence под своей учетной записью;

  2. Открыть пространство проекта, куда необходимо опубликовать документы;

  3. Зайти на страницу внутрь которой необходимо опубликовать документы;

  4. Нажать в правом верхнем углу на три точки kbd:[…]

  5. Выбрать пункт Page Information, после чего в адресной строке браузера сменится url;

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

.

Как узать ancestor ID

Раздел для разработчиков

Проект 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

  1. Скачать и распаковать babashka:

    1. Для 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
      
    2. для 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
      
  2. Установка 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 или по ссылке.

Описание

Публикация asciidoc документов в Confluence

Конвейеры
0 успешных
0 с ошибкой