-
Notifications
You must be signed in to change notification settings - Fork 1
Docs_ru
Redink - система анализа схожести исходного кода (анализа на плагиат) решений задач по программированию в git-репозиториях.
Система предназначена для сравнения содержимого файлов с исходным кодом, который находится в форках репозитория, подключенного к этой системе. Поддерживаются github, gitlab и bitbucket репозитории.
Структура rest запросов доступна по адресу /swagger-ui.html, graphql запросов - по адресу /graphiql.
- Через api системы создается запись о репозитории и его параметрах.
После создания записи происходит загрузка содержимого всех имеющихся веток репозитория и содержимого веток, из которых созданы пулл-реквесты.
- В настройках репозитория данного git-сервиса подключается webhook с адресом вида [публичный url-адрес сервера]/webhook/[имя git-сервиса в нижнем регистре], например http://0.0.0.0:8080/webhook/github, и с подключенными событиями push и pull request.
С этого момента все push события в репозитории будут инициировать загрузку содержимого измененной ветки в локальное хранилище, все pull request события - загрузку содержимого ветки, из которой создан пулл-реквест.
- Через api системы отправляется запрос на анализ ветки репозитория. Под веткой подразумевается набор веток, состоящий из ветки основного репозитория с данным названием и веток fork-репозиториев с тем же названием, из которых созданы пулл-реквесты в основной репозиторий.
Отчет об анализе возвращается в ответе на запрос, либо пересылается на url-адрес, указанный в запросе на анализ.
Параметр | Описание | Значения |
name | Полное имя репозитория | [имя_владельца/название] |
gitService | Git-сервис репозитория | GITHUB, BITBUCKET, GITLAB |
analyser | Используемый анализатор | MOSS, JPLAG |
language | Язык анализа | JAVA, PYTHON, CPP, CSHARP, ... |
branches | Имена веток, содержимое которых загружается в систему, и которые подвергаются периодическому анализу | |
analysisMode | Уровень полноты парсинга результатов анализа | LINK, PAIRS, FULL |
filePatterns | Регулярные выражения для имен файлов | |
autoCloningEnabled | Должны ли загружаться исходные файлы в систему автоматически | true, false |
periodicAnalysis | Должен ли выполняться периодический анализ | true, false |
periodicAnalysisDelay | Раз в сколько минут выполняется периодический анализ |
Параметр | Описание | Значения |
name | Полное имя репозитория | [имя_владельца/название] |
gitService | Git-сервис репозитория | GITHUB, BITBUCKET, GITLAB |
branch | Имя анализируемой ветки | |
analyser | Используемый анализатор | MOSS, JPLAG |
language | Язык анализа | JAVA, PYTHON, CPP, CSHARP, ... |
mode | Уровень полноты парсинга результатов анализа | LINK, PAIRS, FULL |
responseUrl | URL-адрес, по которому будет отправлен результат анализа | LINK, PAIRS, FULL |
По умолчанию используются параметры репозитория.