как обрабатывать вывод из запросов api python-gitlab

Например , вызов gl = gitlab.Gitlab('http://192.168.2.175', private_token=run_args['my_token'])

projects = gl.projects.list()
for project in projects:
    print(project)

производит вывод, который нельзя обработать как json. Каков процесс анализа этой информации, или я должен просто использовать стандартные запросы на отдых и отказаться от python-gitlab?

=> {u'lfs_enabled ': True, u'forks_count': 0, u'autoclose_referenced_issues ': True,... u'avatar_url': None, u'auto_cancel_pending_pipelines ': u'enabled ', u'jobs_enabled': True}

4 ответа

Я считаю, что вам нужно больше устранять неполадки. Я протестировал следующую настройку, которая похожа на вашу, и gl.projects.list() возвращает список проектов в формате json.

gl = gitlab.Gitlab('https://gitlab.com/', ACCESS_TOKEN)

def get_projects():
    projects = gl.projects.list(owned=True)
    for project in projects:
        print(project.name)

(python-gitlab использует запросы "под капотом" https://github.com/python-gitlab/python-gitlab#requirements)

С python-gitlabработает под капотом с requestsвы можете просто включить для него журналы отладки, описанные в другом вопросе здесь

Просто отвечаю на этот довольно старый вопрос, потому что сегодня у меня была такая же проблема :)

Вот ответ, который я искал. Результатом является словарь классов: projects = gl.projects.list(search='autobuild') для проекта в проектах: для элемента в проекте.dict['_attrs']: распечатать элемент

Это создает список переменных, относящихся к проекту.

Другой подход - преобразовать объект проекта в словарь.

      gl = gitlab.Gitlab('https://gitlab.com/', ACCESS_TOKEN)

def get_projects():
    projects = gl.projects.list(owned=True)
    for project in projects:
        project = project.attributes
        print(project["name"])
Другие вопросы по тегам