Python jira 401 восстанавливаемая ошибка с использованием базовой аутентификации

#python #jira

#python #jira

Вопрос:

Я использую клиент python jira для установления соединения с jira с использованием базовой аутентификации.

 from jira.client import JIRA

jira = JIRA(options={'server': 'https://server.atlassian.net'},
            basic_auth=('email@example.com', 'pass'))

 

Этот код работал нормально до вчерашнего дня.

Получена восстанавливаемая ошибка из GET https://server.atlassian.net/rest/api/2/serverInfo , повторит попытку [1/3] через 17.5832343958с. Ошибка: 401

Мой пароль и адрес электронной почты верны. Я могу войти в систему вручную

Комментарии:

1. Должно быть, что-то изменилось. Я сомневаюсь, что Atlassian что-то изменил, чтобы предотвратить доступ, потому что ваш запрос поступает из кода или что-то в этом роде. если это не так, то, похоже, это должно быть что-то на вашей стороне… ваш код, ваша рабочая станция, ваша сеть … что-то. Код говорит сам за себя, и вы также говорите, что он работал до недавнего времени. Я думаю, что все, что может сделать любой, кто читает это на S.O., — это строить догадки о том, что происходит.

Ответ №1:

Базовая аутентификация с использованием паролей и аутентификация на основе файлов cookie больше не работают с 14 апреля 2019 года для Jira и Confluence cloud — см. Уведомление об устаревании. Токен Api необходимо использовать вместо паролей для basic_auth .

Этот фрагмент ниже должен работать:

 from jira.client import JIRA

api_token = "***********************"
jira = JIRA(options={'server': 'https://server.atlassian.net'},
        basic_auth=('email@example.com', api_token))
 

Я также поднял проблему, pycontrib/jira чтобы отразить это: https://github.com/pycontribs/jira/issues/780 .

Билеты Jira для отслеживания:

Ответ №2:

Странно, это могут быть настройки безопасности с использованием HTTP против HTTPS. Попробуйте перейти на https вместо http.

из jira.client импортируйте JIRA

jira = JIRA(параметры={‘сервер’: ‘https://server.atlassian.net ‘}, basic_auth=(’email@example.com ‘, ‘пройти’))

Ответ №3:

Похоже, что пароли устарели для REST API. Возможно, это помогло бы в дальнейшем: проверка подлинности Atlassian