mirror of
https://github.com/arcan1s/arcanis.me.git
synced 2025-04-24 15:27:17 +00:00
161 lines
12 KiB
HTML
161 lines
12 KiB
HTML
---
|
||
category: ru
|
||
hastr: true
|
||
layout: project
|
||
title: Report a Bug
|
||
short: reportabug
|
||
hasgui: false
|
||
hasdocs: true
|
||
developers:
|
||
- Evgeniy Alekseev
|
||
license: LGPLv3
|
||
links:
|
||
---
|
||
<!-- info block -->
|
||
<h2><a href="#info" class="anchor" name="info"><span class="octicon octicon-link"></span></a>Информация</h2>
|
||
<p>Приложение/библиотека, написанное на Qt, которое позволяет пользователям отправлять багрепорт для проектов, расположенных на GitHub. Оно может работать как через <a href="https://github.com" title="GitHub">GitHub</a>, так и через <a href="https://gitreports.com" title="GitReports">GitReports</a>. Работает нормально, однако данное приложение было создано as proof-of-concept.</p>
|
||
|
||
<h3><a href="#devel" class="anchor" name="devel"><span class="octicon octicon-link"></span></a>Разработчики</h3>
|
||
<ul>
|
||
{% for devel in page.developers %}
|
||
<li>{{ devel }}</li>
|
||
{% endfor %}
|
||
</ul>
|
||
|
||
<h3><a href="#license" class="anchor" name="license"><span class="octicon octicon-link"></span></a>Лицензия</h3>
|
||
<ul>
|
||
<li>{{ page.license }}</li>
|
||
</ul>
|
||
<!-- end of info block -->
|
||
|
||
<!-- install block -->
|
||
<h2><a href="#install" class="anchor" name="install"><span class="octicon octicon-link"></span></a>Установка</h2>
|
||
|
||
<h3><a href="#instruction" class="anchor" name="instruction"><span class="octicon octicon-link"></span></a>Инструкция</h3>
|
||
<h4><a href="#singleapp" class="anchor" name="singleapp"><span class="octicon octicon-link"></span></a>Сборка, как отдельное приложение</h4>
|
||
<ul>
|
||
<li>Скачайте <a href="https://github.com/arcan1s/reportabug/releases" title="GitHub">архив</a> с актуальной версией исходных файлов.</li>
|
||
<li>Извлеките из него файлы и настройте под себя.</li>
|
||
<li>Установите приложение:
|
||
|
||
{% highlight bash %}
|
||
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
|
||
{% endhighlight %}
|
||
|
||
</li>
|
||
</ul>
|
||
|
||
<h4><a href="#aslibrary" class="anchor" name="aslibrary"><span class="octicon octicon-link"></span></a>Сборка, как библиотека в проекте</h4>
|
||
<ul>
|
||
<li>Скачайте <a href="https://github.com/arcan1s/reportabug/releases" title="GitHub">архив</a> с актуальной версией исходных файлов.</li>
|
||
<li>Извлеките из него файлы и настройте под себя.</li>
|
||
<li>Включите библиотеку в Ваш проект. Например, если Вы используете <code>cmake</code>:
|
||
|
||
{% highlight cmake %}
|
||
add_subdirectory (reportabug)
|
||
{% endhighlight %}
|
||
|
||
</li>
|
||
<li>Объявите класс в Вашем приложении, например:
|
||
|
||
{% highlight cpp %}
|
||
Reportabug *reportWindow = new Reportabug(parent=this,
|
||
debugCmd=false,
|
||
params=0);
|
||
reportWindow->showWindow();
|
||
{% endhighlight %}
|
||
|
||
</li>
|
||
<li>Слинкуйте Ваше приложение с библиотекой.</li>
|
||
</ul>
|
||
|
||
<h4><a href="#cmakeflags" class="anchor" name="cmakeflags"><span class="octicon octicon-link"></span></a>Доступные флаги cmake</h4>
|
||
<ul>
|
||
<li><code>-DBUILD_AS_LIBRARY=0</code> - собирать отдельное приложение, а не библиотеку.</li>
|
||
<li><code>-DBUILD_DOCS=1</code> - собирать документацию для разработчиков.</li>
|
||
<li><code>-DBUILD_SHARED_LIBRARY=1</code> - собирать библиотеку общего доступа, а не статическую.</li>
|
||
<li><code>-DENABLE_GITHUB=0</code> - отключить модуль GitHub.</li>
|
||
<li><code>-DENABLE_GITREPORT=0</code> - отключить модуль GitReports</li>
|
||
<li><code>-DOWN_GITHUB_TOKEN=STRING</code> - использовать STRING, как свой GitHub токен.</li>
|
||
<li><code>-DUSE_QT5=0</code> - использовать Qt4 вместо Qt5.</li>
|
||
</ul>
|
||
|
||
<h3><a href="#dependencies" class="anchor" name="dependencies"><span class="octicon octicon-link"></span></a>Зависимости</h3>
|
||
<p>Все было протестировано на последних версиях зависимостей.</p>
|
||
<ul>
|
||
<li>qt5-base <i>(если используется Qt5)</i> <b>или</b> qt4 <i>(если используется Qt4)</i></li>
|
||
<li>qt5-network (если используется Qt5)</li>
|
||
<li>automoc4 <i>(make)</i></li>
|
||
<li>cmake <i>(make)</i></li>
|
||
<li>doxygen <i>(make, документация)</i></li>
|
||
<li>qt5-webkit (если используется Qt5) <b>или</b> qtwebkit (если используется Qt4) <i>(опционально, требуется для модуля GitReports)</i></li>
|
||
</ul>
|
||
<!-- end of install block -->
|
||
|
||
<!-- howto block -->
|
||
<h2><a href="#howto" class="anchor" name="howto"><span class="octicon octicon-link"></span></a>Использование</h2>
|
||
<h3><a href="#github" class="anchor" name="github"><span class="octicon octicon-link"></span></a>Модуль GitHub</h3>
|
||
<p>Данный модуль создает тикет, используя <a href="https://developer.github.com/v3/issues/" title="Документация">GitHub API</a>. Данный модуль требует авторизации пользователя. Типичный POST запрос выглядит так:</p>
|
||
|
||
{% highlight bash %}
|
||
curl -X POST -u user:pass -d '{"title":"A new bug","body":"Some error occurs"}' \
|
||
https://api.github.com/repos/owner/repo/issues
|
||
{% endhighlight %}
|
||
|
||
<p>Для того, чтобы отключить данный модуль, используйте <code>-DENABLE_GITHUB=0</code> флаг cmake.</p>
|
||
|
||
<p>Также данный модуль может отправлять запросы, используя токен разработчика. Пожалуйста, посетите <a href="https://github.com/settings/applications" title="Настройки">данную страницу</a> и сгенерируйте токен. Требуемые права для токена - <b>public_repo</b> (или <b>repo</b>, если Вы используете для приватных репозиториев).<br>
|
||
<b>Имейте в виду, что передача токена в открытом виде может скомпрометировать его!</b></p>
|
||
|
||
<p>Типичный POST запрос выглядит так:</p>
|
||
|
||
{% highlight bash %}
|
||
curl -X POST -H "Authorization: token token" -d '{"title":"A new bug","body":"Some error occurs"}' \
|
||
https://api.github.com/repos/owner/repo/issues
|
||
{% endhighlight %}
|
||
|
||
<p>Для того, чтобы включить данный модуль, используйте <code>-DOWN_GITHUB_TOKEN=STRING</code> флаг cmake.</p>
|
||
|
||
<p>Данный модуль требует наличия в системе <code>QtNetwork</code>.</p>
|
||
|
||
<h3><a href="#gitreports" class="anchor" name="gitreports"><span class="octicon octicon-link"></span></a>Модуль GitReports</h3>
|
||
<p>Данный модуль создает тикет, используя возможности <a href="https://gitreports.com/about" title="GitReports">GitReports</a>. Пожалуйста, посетите <a href="https://gitreports.com/" title="GitReports">данную страницу</a> и настройте под Ваши репозитории.</p>
|
||
|
||
<p>Для того, чтобы отключить данный модуль, используйте <code>-DENABLE_GITREPORT=0</code> флаг cmake. Данный модуль требует наличия в системе <code>QtNetwork</code> и <code>QtWebKit</code>.</p>
|
||
<!-- end of howto block -->
|
||
|
||
<!-- config block -->
|
||
<h2><a href="#config" class="anchor" name="config"><span class="octicon octicon-link"></span></a>Настройка</h2>
|
||
<p>Для настройки перед компиляцией отредактируйте хидер <code>src/config.h</code>. Также Вы можете подгрузить параметры автоматически, используя массив <code>params</code> (необходимые ключи такие же, как и для хидера).</p>
|
||
<h3><a href="#mainconfig" class="anchor" name="mainconfig"><span class="octicon octicon-link"></span></a>Основные настройки</h3>
|
||
<ul>
|
||
<li><code>OWNER</code> - владелец репозитория.</li>
|
||
<li><code>PROJECT</code> - имя проекта.</li>
|
||
<li><code>TAG_BODY</code> - тело тикета по умолчанию. Может быть использовано в обоих модулях.</li>
|
||
<li><code>TAG_TITLE</code> - имя тикета по умолчанию. Может быть использовано только в модуле GitHub.</li>
|
||
<li><code>TAG_ASSIGNEE</code> - прикрепить тикет к данному аккаунту. Может быть использовано только в модуле GitHub. Данный тег будет работать, только если пользователь имеет права на запись. Если будет пустым, будет проигнорировано.</li>
|
||
<li><code>TAG_LABELS</code> - установить данные метки тикету. Метки должны быть разделены запятыми. Может быть использовано только в модуле GitHub. Данный тег будет работать, только если пользователь имеет права на запись. Если будет пустым, будет проигнорировано.</li>
|
||
<li><code>TAG_MILESTONE</code> - установить данную веху тикету. Может быть использовано только в модуле GitHub. Данный тег будет работать, только если пользователь имеет права на запись. Если будет пустым, будет проигнорировано.</li>
|
||
</ul>
|
||
|
||
<h3><a href="#githubconfig" class="anchor" name="githubconfig"><span class="octicon octicon-link"></span></a>Настройки модуля GitHub</h3>
|
||
<ul>
|
||
<li><code>GITHUB_COMBOBOX</code> - текст модуля в ComboBox.</li>
|
||
<li><code>ISSUES_URL</code> - URL, в большинстве случаев, не редактируйте его. По умолчанию <code>https://api.github.com/repos/$OWNER/$PROJECT/issues</code>. Доступные теги <code>$PROJECT</code>, <code>$OWNER</code>.</li>
|
||
</ul>
|
||
|
||
<h3><a href="#gitreportsconfig" class="anchor" name="gitreportsconfig"><span class="octicon octicon-link"></span></a>Настройки модуля GitReports</h3>
|
||
<ul>
|
||
<li><code>CAPTCHA_URL</code> - URL капчи, в большинстве случаев, не редактируйте его. По умолчанию <code>https://gitreports.com/simple_captcha?code=</code>.</li>
|
||
<li><code>GITREPORT_COMBOBOX</code> - текст модуля в ComboBox.</li>
|
||
<li><code>PUBLIC_URL</code> - URL, в большинстве случаев, не редактируйте его. По умолчанию <code>https://gitreports.com/issue/$OWNER/$PROJECT</code>. Доступные теги <code>$PROJECT</code>, <code>$OWNER</code>.</li>
|
||
</ul>
|
||
<!-- end of config block -->
|
||
|
||
<!-- gui block -->
|
||
<!-- end of gui block -->
|