Skip to content

Instantly share code, notes, and snippets.

@edwardean
Last active January 7, 2019 08:18
Show Gist options
  • Save edwardean/61cc07701741c731b8c64487f04ff593 to your computer and use it in GitHub Desktop.
Save edwardean/61cc07701741c731b8c64487f04ff593 to your computer and use it in GitHub Desktop.
Jenkins获取Job触发人信息
BUILD_CAUSE_JSON=$(curl --silent ${BUILD_URL}/api/json | tr "{}" "\n" | grep "Started by")
BUILD_USER_ID=$(echo $BUILD_CAUSE_JSON | tr "," "\n" | grep "userId" | awk -F\" '{print $4}')
BUILD_USER_NAME=$(echo $BUILD_CAUSE_JSON | tr "," "\n" | grep "userName" | awk -F\" '{print $4}')
require 'uri'
require 'net/http'
def jenkins_job_info(job_url)
url = URI("#{job_url}api/json")
http = Net::HTTP.new(url.host, url.port)
request = Net::HTTP::Get.new(url)
request.basic_auth 'jenkins_user', 'jenkins_api_token'
request["Content-Type"] = 'application/json'
response = http.request(request)
response.read_body
end
BUILD_USER_ID = jenkins_job_info(ENV['BUILD_URL']).delete("{}\"\n").match(/(?<=userId:)[a-zA-Z\d+]+/)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment