def call(Closure steps) {
    def authorName = sh(script: 'git log -1 --pretty=format:%an', returnStdout: true).trim()
    def authorEmail = sh(script: 'git log -1 --pretty=format:%ae', returnStdout: true).trim()
    def commitMessage = sh(script: 'git log -1 --pretty=format:%s', returnStdout: true).trim()

    withEnv([
        "DD_GIT_REPOSITORY_URL=${env.GIT_URL}",
        "DD_GIT_COMMIT_SHA=${env.GIT_COMMIT}",
        "DD_GIT_BRANCH=${env.GIT_BRANCH}",
        "DD_GIT_COMMIT_AUTHOR_NAME=${authorName}",
        "DD_GIT_COMMIT_AUTHOR_EMAIL=${authorEmail}",
        "DD_GIT_COMMIT_MESSAGE=${commitMessage}",
    ]) {
        steps()
    }
}
