(не включал URL-адрес и токен)
`def get_test_report(pipeline_id, job_name):
"""
Получает отчет о тестировании для определенного задания в заданном конвейере из GitLab.
"""
url = f"{GITLAB_API_URL}/projects/{PROJECT_ID}/pipelines/{pipeline_id}/builds"
headers = {
"Авторизация": f"Носитель {ACCESS_TOKEN}"
Код: Выделить всё
response = requests.get(url, headers=headers)
if response.status_code != 200:
print(f"Error: Unable to fetch jobs for pipeline {pipeline_id}. Status code: {response.status_code}")
return None
jobs = response.json()
for job in jobs:
if job["name"] == job_name:
job_id = job["id"]
# Once the job is found, fetch the test report (if available) for the job
test_report_url = f"{GITLAB_API_URL}/projects/{PROJECT_ID}/pipelines/{pipeline_id}/test-report?job_name=python_test"
test_report_response = requests.get(test_report_url, headers=headers)
if test_report_response.status_code == 200:
return test_report_response.json()
else:
print(f"Error: Unable to fetch test report for job {job_name} in pipeline {pipeline_id}.")
return None
print(f"Error: Job {job_name} not found in pipeline {pipeline_id}.")
return None
/test-results', методы=['GET'])
def get_test_results(pipeline_id):
"""
Получает результаты тестирования для конвейера, получая отчет о тестировании для конкретных заданий в этом конвейере.
"""
job_name = "python_test"
Код: Выделить всё
test_report = get_test_report(pipeline_id, job_name)
if not test_report:
return jsonify({"message": "No test report found for this job."}), 404
return jsonify(test_report)
app.run(debug=True)`
После попытки запустить это появится сообщение об ошибке для .json(), потому что я не получаю никаких данных. После небольшой отладки печати я думаю, что это связано с тем, что авторизация для gitlab работает неправильно и код будет закреплен на странице входа.
Кто-нибудь знает, что может мне здесь помочь?
Подробнее здесь: https://stackoverflow.com/questions/792 ... ython-code
Мобильная версия