Данная функция позволяет добавить произвольное сообщение в баг-треккер. Добавленное сообщение будет отслеживаться точно также как и любое другое добавленное через веб-интерфейс, включая, но не ограничиваясь тем, что пользователи подписанные на секцию получат уведомление на e-mail, автор сообщения будет получать уведомления на e-mail при изменении сообщения или появлении комментариев.
Вы можете использовать эту функцию для отправки сообщений например при возникновении необработанной исключительной ситуации. В многих языках программирования (и Pascal, C++, PHP не являются исключениями) позволяют устанавливать обработчики не обработанных исключений.
В таком обработчике можно создать форму с помощью которой выдать более красивое сообщение об ошибке и предложить отправить отчет об ошибке на сервер в баг-треккер. Кроме комментария пользователя вы можете отправить имеющуюся у вас информацию (эту информацию вы должны собрать сами, т.к. пока API не делает этого автоматически):
- Тип и версия операционной системы
- Версия вашей программы
- Класс исключения
- Имя файла и строка в которой возникла проблема (если влючена отладочная информация)
Если вы пользователь Windows XP, вас наверняка не раз доставало такое вот окошко с предложением отправить сообщение в M$:
Теперь вы можете создать своё аналогичное окошко, надеюсь оно будет более удобное и функциональное, а ваши пользователи будет видеть его крайне редко.
Для реальной работы вам скорее всего понадобиться ещё пара функций..
Текущую стабильную документацию можно найти тут: http://shamangrad.net/rpc/doc/
последнюю нестабильную тут: http://svn.shamangrad.net/pms/trunc/rpc/doc/index.html
Небольшой пример консольной программы вызывающией некоторые функции: http://svn.shamangrad.net/pms/branches/ ... l/demo.pas
Для подключения API имеются модули для Pascal (FreePascal, Delphi), C++ и PHP (последний пока ещё сырой). Имеющиеся модули требуют libxml2, libcurl и (опционально) OpenSSL (если эти зависимости вам кажутся слишком тяжелыми, то вы можете написать свой транспортный уровень - аналог класса TWSXMLRPCGate)
Если у вас имеются вопросы по использованию API, мы можете задавать их прям в этой теме