@ takeshin का जवाब ठीक है अगर आपके पास build.xml फ़ाइल तक पहुंच है, लेकिन यह तोड़ सकता है, खासकर यदि आप गुलाम नोड पर निर्माण कर रहे हैं (क्योंकि दास के पास संदर्भित build.xml नहीं है)।
डर नहीं है, क्योंकि आप सीधे जेनकींस के माध्यम से इस जानकारी का उपयोग कर सकते हैं, इसके लिए दूरदराज के उपयोग एपीआई का उपयोग कर:
https://wiki.jenkins-ci.org/display/JENKINS/Remote+access+API
उदाहरण के लिए:
http://<host>/jenkins/job/<job_name>/lastSuccessfulBuild/api/xml
(आप एक्सएमएल सामग्री दे देंगे। .. उदाहरण के लिए, एक्सएमएल की बजाय जेसन सामग्री वापस पाने के लिए आप एक्सएमएल को जेसन से बदल सकते हैं)।
ध्यान दें कि अगर आप अपने जेनकींस इंस्टेंस को इसकी आवश्यकता के लिए सेट अप करते हैं तो आपको प्रमाणीकरण का उपयोग करने की आवश्यकता हो सकती है। दोबारा, डर न करें: https://wiki.jenkins-ci.org/display/JENKINS/Authenticating+scripted+clients
फिर यह एक्सएमएल को पार्स करने का एक साधारण मामला है जो आप चाहते हैं। कुछ इस तरह, शायद:
#!/bin/sh
GIT_LOG_FORMAT="%ai %an: %s"
USER=<username>
API_TOKEN=<api_token>
LAST_SUCCESS_URL_SUFFIX="lastSuccessfulBuild/api/xml"
#JOB_URL gets populated by Jenkins as part of the build environment
URL="$JOB_URL$LAST_SUCCESS_URL_SUFFIX"
LAST_SUCCESS_REV=$(curl --silent --user $USER:$API_TOKEN $URL | grep "<lastBuiltRevision>" | sed 's|.*<lastBuiltRevision>.*<SHA1>\(.*\)</SHA1>.*<branch>.*|\1|')
# Pulls all commit comments since the last successfully built revision
LOG=$(git log --pretty="$GIT_LOG_FORMAT" $LAST_SUCCESS_REV..HEAD)
echo $LOG
चीयर्स:
curl --silent --user $USER:$API_TOKEN $URL | grep "<lastBuiltRevision>" | sed 's|.*<lastBuiltRevision>.*<SHA1>\(.*\)</SHA1>.*<branch>.*|\1|'
इसलिए, यह सब एक साथ खींच, आप जेनकींस से पिछले अच्छा संशोधन हैश प्राप्त करने के लिए (अपेक्षाकृत) सरल खोल स्क्रिप्ट के साथ समाप्त कर सकते हैं ,
लेवी
+1 - बहुत बेहतर उत्तर –