web-dev-qa-db-fra.com

Quelle commande Jenkins pour obtenir la liste des fichiers modifiés

Dans une construction Jenkins, je vois une liste de fichiers modifiés:

enter image description here

Alors, quelle commande Jenkins utilise pour obtenir cette liste (j'utilise GIT pour le contrôle de la version du référentiel).

8
Men X

Vous pouvez utiliser la propriété -- modifications de CurnBuild Variable globale pour obtenir des informations relatives aux modifications détectées de la construction en cours.

par exemple.

// returns a list of changed files
@NonCPS
String getChangedFilesList() {

    changedFiles = []
    for (changeLogSet in currentBuild.changeSets) { 
        for (entry in changeLogSet.getItems()) { // for each commit in the detected changes
            for (file in entry.getAffectedFiles()) {
                changedFiles.add(file.getPath()) // add changed file to list
            }
        }
    }

    return changedFiles

}
4
TheDukeOfKirkcaldy

Peut-être l'une des deux commandes possibles énumérées dans " Comment répertorier tous les fichiers d'un commit? ":

git diff-tree --no-commit-id --name-only -r <commit-ish>

Notez que le Jenkins Git Plugin expose qui commettre comme une variable d'environnement: GIT_COMMIT

1
VonC