#!/usr/bin/env groovy String call(Map config = [:]) { Map defaults = [ dirtyFlag: '-dirty' ] Map runConfig = defaults + config checkout scmGit(extensions: [submodule(recursiveSubmodules: true, reference: ''), cloneOption(noTags: false, reference: '', shallow: false)]) gitTag = sh( script: "git describe --tags --always --dirty=${runConfig.dirtyFlag}", returnStdout: true ).trim() return gitTag }