Как получить данные файла GitLab с помощью кода PythonPython

Программы на Python
Ответить
Anonymous
 Как получить данные файла GitLab с помощью кода Python

Сообщение Anonymous »

В настоящее время я работаю над проектом, в котором я смогу зафиксировать код Python через GitLab, а затем он автоматически запустит несколько тестовых примеров для этого кода и отобразит результат. Я столкнулся с проблемой: что бы я ни пытался, я не могу получить какие-либо данные о результатах этих тестов с помощью моего кода
(не включал 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
@app.route('/pipeline/
/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)
if name == 'main':
app.run(debug=True)`
После попытки запустить это появится сообщение об ошибке для .json(), потому что я не получаю никаких данных. После небольшой отладки печати я думаю, что это связано с тем, что авторизация для gitlab работает неправильно и код будет закреплен на странице входа.
Кто-нибудь знает, что может мне здесь помочь?

Подробнее здесь: https://stackoverflow.com/questions/792 ... ython-code
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»