Skip to content

Commit 07d1437

Browse files
committed
젠킨스 api로 빌드하고 상태 return 받기
1 parent fb0f20b commit 07d1437

File tree

1 file changed

+39
-0
lines changed

1 file changed

+39
-0
lines changed

zimmyrabbit/zimmyrabbit/views.py

+39
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
from django.shortcuts import render,redirect
22
from django.http import HttpResponse
33
import subprocess
4+
import requests
5+
import base64
46

57
def index(request) :
68
return render(request, 'jenkins/main.html')
@@ -11,6 +13,7 @@ def check_model(request) :
1113
scontent = sorted(set(content.split()))
1214
print(scontent)
1315

16+
'''
1417
command = ''
1518
output = subprocess.check_output(command, shell=True, text=True)
1619
@@ -35,5 +38,41 @@ def check_model(request) :
3538
print("Dates:", dates)
3639
print("Commit Logs:", commit_logs)
3740
41+
'''
42+
43+
url = ''
44+
username = ''
45+
password = '' #token
46+
47+
# 인증 정보를 Base64로 인코딩하여 헤더에 추가
48+
auth_header = base64.b64encode(f"{username}:{password}".encode('utf-8')).decode('utf-8')
49+
headers = {'Authorization': f'Basic {auth_header}'}
50+
51+
headers['Content-Type'] = 'application/json'
52+
53+
#response = requests.get(url, headers=headers)
54+
response = requests.post(url, headers=headers)
55+
56+
#200번대는 성공으로 판단
57+
if response.status_code // 100 == 2:
58+
url = ''
59+
response = requests.post(url, headers=headers)
60+
61+
try:
62+
response.raise_for_status()
63+
data = response.json()
64+
print(data['id'])
65+
66+
url = ''
67+
response = requests.post(url, headers=headers)
68+
print(response.json())
69+
except requests.exceptions.HTTPError as http_err:
70+
print(f"HTTP 오류 발생: {http_err}")
71+
except requests.exceptions.RequestException as req_err:
72+
print(f"요청 오류 발생: {req_err}")
73+
except requests.exceptions.JSONDecodeError as json_err:
74+
print(f"JSON 디코드 오류 발생: {json_err}")
75+
else:
76+
print(f"API 호출 실패 - 상태 코드: {response.status_code}")
3877

3978
return redirect('zimmyrabbit:index')

0 commit comments

Comments
 (0)