Как получить список измененных файлов в git используя jenkins - PullRequest
0 голосов
/ 06 декабря 2018

У меня есть git-репо.Мне нужно получить измененные файлы в формате json или в любом другом формате, когда сборка Jenkins завершена

Ответы [ 2 ]

0 голосов
/ 07 декабря 2018

Вы также можете сделать это: git diff --name-only $GIT_PREVIOUS_COMMIT $GIT_COMMIT в своем скрипте сборки, направить его в файл, и у вас должен быть список всех файлов, которые были изменены в этой конкретной сборке.Предполагается, что вы используете плагин Git для Jenkins .

Плагин Git устанавливает несколько переменных среды, которые вы можете использовать в своих скриптах:

GIT_COMMIT - SHAтекущего GIT_BRANCH - имя удаленного репозитория (по умолчанию - источник), за которым следует имя используемой в данный момент ветви, например, «origin / master» или «origin / foo»

GIT_LOCAL_BRANCH - имя ветвина Дженкинс.Когда настроено «оформление заказа в определенную локальную ветвь», переменная публикуется.Если поведение настроено как null или **, свойство будет содержать результирующее имя локальной ветви без удаленного имени.

GIT_PREVIOUS_COMMIT - SHA предыдущего созданного коммита из той же ветви (не задан при первой сборке на ветви)

Если вы хотите, чтобы этот файл был артефактом сборки, вы можетеиспользуйте шаг Построение архивных артефактов.

0 голосов
/ 07 декабря 2018

Вы можете использовать встроенный шаблон электронной почты, который будет отправлять вам список изменений файла в текущей сборке.

post {
  always {
    emailext body: ''
    '${SCRIPT, template="groovy-html.template"}'
    '',
    subject: "${env.JOB_NAME} - Build # ${env.BUILD_NUMBER} - Successful",
      mimeType: 'text/html', to: "email list"
  }
}

Если вы хотите внести изменения в отдельный файл, вы можете изменить groovy-html.template согласно вашему требованию

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...