2012-05-25 2 views
0

У меня возникли проблемы с доступом к элементам портфеля с помощью инструментария Ruby. В примерах показано, как извлекать почти все объекты EXCEPT для элементов портфеля. Следуя общей тенденции, мое предположение, что можно было бы использовать следующее, чтобы получить их, при условии, что объекты проекта не дают ссылки на них:Извлечение объектов портфолио Объекты с использованием Ruby Toolkit для Rally API REST

rally = RallyRestAPI.new(:base_url => @base_url, :username => @user_name, :password => @password) 

rally.find_all(:portfolio_item).each{ 
    |pi| print pi.formatted_i_d + "\n" 
} 

Однако, это, кажется, не так, как я получить следующее сообщение об ошибке:

<OperationResultError>Not able to parse artifact type: portfolioitem</OperationResultError> 

ответ

2

Убедитесь, что вы используете WebServices API версии 1.26 или выше - Портфолио товары были впервые введены в объектной модели, начиная с 1.26. Я считаю, что API Ruby REST по умолчанию использует API-интерфейс Webservices 1.17, если не указан явно. Вы можете явно определить его следующим образом:

rally = RallyRestAPI.new(:base_url => @base_url, :username => @user_name, :password => @password, :version => 1.33) 
+0

Да, это исправлено. Спасибо за подсказку. Я должен был рассмотреть это, но я сделал предположение, что он по умолчанию будет использовать последнюю версию. Вы знаете, почему они этого не сделали? – user1417835

+0

Я думаю, что он не изменился, так что существующий код не сломался - т. Е. Он был по умолчанию таким образом в течение длительного времени, и изменение этого значения по умолчанию на более новую версию может привести к поломке рабочего кода. –

+0

Ну, я бы подумал, что они построят его так, чтобы он был более обратным. По крайней мере, он должен включать версию, которая может работать со своими новейшими внедренными объектами. К сожалению, я полагаю, что клиенты, использующие устаревшие API, не очень часто обновляются. – user1417835

 Смежные вопросы

  • Нет связанных вопросов^_^