Ралли Python API

Я пытаюсь получить подписку Rally моей компании с помощью набора инструментов Python, следуя инструкциям на странице http://developer.rallydev.com/help/python-toolkit-rally-rest-api

Однако я столкнулся со следующей ошибкой.

Трассировка (последний последний вызов): Файл "test_prog.py", строка 12, в ралли = Rally (сервер, пользователь, пароль, рабочая область = рабочая область, проект = проект) Файл "C:\Python27\lib\site-packages\ pyral\restapi.py", строка 184, в файле init self.contextHelper.check(self.server) "C:\Python27\lib\site-packages\pyral\context.py", строка 153, при проверке возникает ошибка RallyRESTAPIError(проблема)

Кто-нибудь знает, есть ли какие-либо настройки подписки, которые бы контролировали/ограничивали доступ к ней с помощью пирального Rally REST API?

Я использую pyral 0.9.1 с запросами 0.9.3 и certifi 0.0.8, используя Python 2.7 на платформе Windows 7.

Любая помощь/понимание высоко ценится. Спасибо,


person anbhat    schedule 02.08.2012    source источник
comment
Выяснилось, что обновление пакета запросов до 0.13.5 помогает. Теперь я могу подключиться к серверу, но на этапе аутентификации не могу получить код ошибки 401.   -  person anbhat    schedule 02.08.2012
comment
Мне все еще было бы интересно понять, используете ли вы прокси. Ошибка 401 может исходить от вашего прокси-сервера, а не от Rally.   -  person    schedule 02.08.2012
comment
Нет, для доступа к серверу Rally или Интернету не используется прокси. Тем не менее, это веб-сервер https, на котором размещается Rally. Не уверен, что это имеет значение.   -  person anbhat    schedule 03.08.2012
comment
Можете ли вы проверить строку подключения URL-адреса вашего сервера в исходном коде? Для pyral это должно быть https://rally1.rallydev.com — на конце нет /slm, как, например, для rally ruby ​​api.   -  person    schedule 03.08.2012
comment
@MarkW Мой файл конфигурации выглядит следующим образом: SERVER = rally1.rallydev.com USER = [email protected] PASSWORD = myPassword Как только я делаю URL-адрес https, я получаю сообщение об ошибке несуществующего или недостижимого сервера. Если я брошу https, он правильно выдаст ошибку 401, возможно, из-за незашифрованного имени пользователя и пароля через SSL-соединение. Я не уверен, где проблема больше. Кстати, спасибо за вашу помощь.   -  person anbhat    schedule 03.08.2012
comment
Это во многом похоже на проблему проксирования - т.е. доступ через http генерирует 401, но https не может подключиться или найти сервер. Некоторые прокси принимают запросы через http, а затем выполняют https через http на серверной части для фактической обработки запросов. Я бы уточнил у вашего ИТ-отдела, использует ли ваша сеть прокси-сервер.   -  person    schedule 04.08.2012


Ответы (3)


Вы выходите в интернет через прокси-сервер? Вы можете уточнить этот вопрос в своем ИТ-отделе.

К сожалению, существуют некоторые ограничения в запросах и пакетах urllib (на которые опирается pyral) при обработке HTTP через HTTPS.

Механизм пакета запросов неправильно поддерживает HTTPS через HTTP, что именно то, что должен делать прокси-сервер для подключения к Rally, поскольку все URL-адреса основаны на HTTPS. Сопровождающие пакета запросов знают об этой ситуации, и есть исправления кода для базовой зависимости (urllib3), которые в настоящее время оцениваются для включения.

Когда пакет запросов включает код для правильной поддержки прокси, разработчики Rally планируют включить этот код и предоставят шаг настройки (установка переменной среды) для работы pyral в прокси-среде.

person Community    schedule 02.08.2012

pyral использует ping, чтобы проверить, доступен ли сервер, поэтому он не будет работать через прокси, пока вы не обновите context.py в исходном коде pyral (строки комментария 146-150)

###reachable, problem = Pinger.ping(target_host)
###if not reachable:
###if not problem:
###problem = "host: '%s' non-existent or unreachable"  %    target_host
###raise RallyRESTAPIError(problem)
person Piotus    schedule 20.05.2015

Когда вы пытаетесь интегрировать CA Agile Central с вашим API Python, если возникает эта ошибка.

Target Rally host: 'https://rally1.rallydev.com' non-existent or unreachable

попробуйте использовать «rally1.rallydev.com», а не «https://rally1.rallydev.com.

rally = Rally(server="rally1.rallydev.com", user,
                      password,
                      workspace,
                      project)

Используя пиральную версию: 1.4.0

person Akhil Kumar    schedule 30.10.2017