Приложение/библиотека, написанное на Qt, которое позволяет пользователям отправлять багрепорт для проектов, расположенных на GitHub. Оно может работать как через GitHub, так и через [GitReports] (//gitreports.com “GitReports”). Работает нормально, однако данное приложение было создано as proof-of-concept.
Установите приложение:
cd /path/to/extracted/archive
mkdir build && cd build
cmake -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_BUILD_TYPE=Release -DBUILD_AS_LIBRARY:BOOL=0 ../
make
sudo make install
Включите библиотеку в Ваш проект. Например, если Вы используете cmake
:
add_subdirectory (reportabug)
Объявите класс в Вашем приложении, например:
Reportabug *reportWindow = new Reportabug(parent=this, debugCmd=false, params=0);
reportWindow->showWindow();
-DBUILD_AS_LIBRARY=0
- собирать отдельное приложение, а не библиотеку.-DBUILD_DOCS=1
- собирать документацию для разработчиков.-DBUILD_SHARED_LIBRARY=1
- собирать библиотеку общего доступа, а не статическую.-DENABLE_GITHUB=0
- отключить модуль GitHub.-DENABLE_GITREPORT=0
- отключить модуль GitReports-DOWN_GITHUB_TOKEN=STRING
- использовать STRING, как свой GitHub токен.-DUSE_QT5=0
- использовать Qt4 вместо Qt5.Все было протестировано на последних версиях зависимостей.
Данный модуль создает тикет, используя GitHub API. Данный модуль требует авторизации пользователя. Типичный POST запрос выглядит так:
curl -X POST -u user:pass -d '{"title":"A new bug","body":"Some error occurs"}' \
//api.github.com/repos/owner/repo/issues
Для того, чтобы отключить данный модуль, используйте -DENABLE_GITHUB=0
флаг
cmake.
Также данный модуль может отправлять запросы, используя токен разработчика. Пожалуйста, посетите данную страницу и сгенерируйте токен. Требуемые права для токена - public_repo (или repo, если Вы используете для приватных репозиториев).
Имейте в виду, что передача токена в открытом виде может скомпрометировать его!
Типичный POST запрос выглядит так:
curl -X POST -H "Authorization: token token" -d '{"title":"A new bug","body":"Some error occurs"}' \
//api.github.com/repos/owner/repo/issues
Для того, чтобы включить данный модуль, используйте -DOWN_GITHUB_TOKEN=STRING
флаг cmake.
Данный модуль требует наличия в системе QtNetwork
.
Данный модуль создает тикет, используя возможности [GitReports] (//gitreports.com/about “GitReports”). Пожалуйста, посетите [данную страницу] (//gitreports.com/ “GitReports”) и настройте под Ваши репозитории.
Для того, чтобы отключить данный модуль, используйте -DENABLE_GITREPORT=0
флаг
cmake. Данный модуль требует наличия в системе QtNetwork
и QtWebKit
.
Для настройки перед компиляцией отредактируйте хидер src/config.h
. Также Вы
можете подгрузить параметры автоматически, используя массив params
(необходимые ключи такие же, как и для хидера).
OWNER
- владелец репозитория.PROJECT
- имя проекта.TAG_BODY
- тело тикета по умолчанию. Может быть использовано в обоих модулях.TAG_TITLE
- имя тикета по умолчанию. Может быть использовано только в модуле
GitHub.TAG_ASSIGNEE
- прикрепить тикет к данному аккаунту. Может быть использовано
только в модуле GitHub. Данный тег будет работать, только если пользователь имеет
права на запись. Если будет пустым, будет проигнорировано.TAG_LABELS
- установить данные метки тикету. Метки должны быть разделены
запятыми. Может быть использовано только в модуле GitHub. Данный тег будет
работать, только если пользователь имеет права на запись. Если будет пустым,
будет проигнорировано.TAG_MILESTONE
- установить данную веху тикету. Может быть использовано только
в модуле GitHub. Данный тег будет работать, только если пользователь имеет права
на запись. Если будет пустым, будет проигнорировано.GITHUB_COMBOBOX
- текст модуля в ComboBox.ISSUES_URL
- URL, в большинстве случаев, не редактируйте его. По умолчанию
//api.github.com/repos/$OWNER/$PROJECT/issues
. Доступные теги $PROJECT
,
$OWNER
.CAPTCHA_URL
- URL капчи, в большинстве случаев, не редактируйте его. По
умолчанию //gitreports.com/simple_captcha?code=
.GITREPORT_COMBOBOX
- текст модуля в ComboBox.PUBLIC_URL
- URL, в большинстве случаев, не редактируйте его. По умолчанию
//gitreports.com/issue/$OWNER/$PROJECT
. Доступные теги $PROJECT
, $OWNER
.