Не удается сообщить 1 серверу gerrit через jenkins

#jenkins #continuous-integration #gerrit

#дженкинс #непрерывная интеграция #gerrit

Вопрос:

Я попытался создать CI в своей системе. Дженкинс может прослушать событие gerrit push и выполнить проверку кода. Но jenkins Gerrit-Trigger не сообщает 1 проверено после успешного выполнения задания.

В выводе консоли отображается сообщение об ошибке: ERROR Gerrit response: HTTP method POST is not supported by this URLFinished: SUCCESS

введите описание изображения здесь

 Versions:
Windows 10
Jenkins 2.263.1
Gerrit 2.10.2
Gerrit Trigger Plugin 2.32.0
Git Plugin 4.5.0
 

введите описание изображения здесь

введите описание изображения здесь

Есть какое-то предупреждение, имеет ли это значение?
введите описание изображения здесь

Мой элемент Значения отчетов Gerrit: введите описание изображения здесь

Редактировать

Сообщение об ошибке больше не отображается после изменения --message Message на двойные кавычки (Управление Jenkins> Триггер Gerrit> Проверенные команды Gerrit)

Редактировать
введите описание изображения здесь

Ответ №1:

Некоторые вещи, которые вы должны учитывать:

  1. Ваша версия Gerrit (действительно) слишком старая, было бы очень хорошо, если бы вы обновили ее до более новой версии.
  2. Попробуйте снять флажок «Использовать REST API» в разделе Управление Jenkins> Gerrit Trigger> Дополнительно> REST API. Возможно, REST API Gerrit 2.10.2 несовместим с последней версией Gerrit-Trigger.
  3. Есть ли у вас метки «Code-Review» и «Verified», определенные в Gerrit? Имеет ли пользователь Gerrit, используемый Jenkins, разрешение на выполнение проверки (-1/ 1)?

Комментарии:

1. Я пытаюсь снять флажок «Использовать REST API», но ничего не меняется. Пользователь Gerrit может просмотреть код вручную. Откуда я знаю, что в Gerrit определены метки «Code-Review» и «Verified»?

2. Если я сниму флажок «Использовать REST API», в системном журнале появится ошибка, например «»—verified» недопустимый параметр», «»Успешно» недопустимый набор исправлений (1)»

3. Gerrit> Проект> Все проекты> Доступ, в разделе «Ссылка: ссылки / заголовки / *» есть метка «Проверка кода» для неинтерактивных пользователей, но нет метки «Проверено»

4. Очевидно, что у вас нет метки «Проверено» в вашем Gerrit, вы можете просматривать только с помощью метки Code-Review. Удалите «—verified» часть команды проверки в конфигурации триггера Gerrit (и всю другую «Проверенную» связанную часть).

5. Я удаляю «—verified» в Jenkins, но все равно терплю неудачу. Я пытаюсь ssh -v -p 29418 user@host gerrit review %GIT_COMMIT% --message 'msg from jenkins batch' --code-review 1 выполнить пакетную команду Windows, и она работает нормально.