1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104
| import requests import json
USERNAME = "xx" API_TOKEN = "xx" JENKINS_URL = "http://192.168.5.112:8080/"
def postJenkins(url, params={}): res = requests.post(f"{url}/api/json?pretty=true", params, auth=(USERNAME, API_TOKEN), verify=False) return res
def postJenkinsJson(url, params={}): res = postJenkins(url, params) return res.json()
def postJenkinsText(url, params={}): res = postJenkins(url, params) return res.text()
def dev2build(projectName = 'ppfe-dev2',params={}): url = f"{JENKINS_URL}job/{projectName}/buildWithParameters" build(url, params)
def build(url, params={}): res = postJenkins(url, params) if res.status_code == 201: print('构建成功') else: print('构建失败')
def getProjectInfo(projectViewName='pp-dev2', projectName = 'ppfe-dev2'): url = f"{JENKINS_URL}view/{projectViewName}/job/{projectName}" jsonObj = postJenkinsJson(url)
resParameterDefinitions = jsonObj['actions'][0]['parameterDefinitions'][0] resDefaultBranch = resParameterDefinitions['defaultParameterValue']['value'] resAllBranch = resParameterDefinitions['allValueItems']['values'] resUrl = jsonObj['url'] resName = jsonObj['name'] resDescription = jsonObj['description'] resBuildable = jsonObj['buildable'] resInQueue = jsonObj['inQueue'] resBuilds = jsonObj['builds'] resLastBuild = jsonObj['lastBuild'] resLastSuccessfulBuild = jsonObj['lastSuccessfulBuild'] resNextBuildNumber = jsonObj['nextBuildNumber']
return { 'url': resUrl, 'name': resName, 'description': resDescription, 'buildable': resBuildable, 'inQueue': resInQueue, 'builds': resBuilds, 'lastBuild': resLastBuild, 'lastSuccessfulBuild': resLastSuccessfulBuild, 'nextBuildNumber': resNextBuildNumber, 'defaultBranch': resDefaultBranch, 'allBranch': resAllBranch, }
projectInfo = getProjectInfo()
url = "http://192.168.5.112:8080/view/pp-dev2/job/ppfe-dev2/151/" res = postJenkinsJson(url) print(json.dumps(res))
|