2012-11-12 53 views
5

Sau một số trợ giúp để bắt đầu với việc gọi dịch vụ web Rally REST từ một webclient .NET MVC.Bắt đầu với Rally REST API dịch vụ web REST

tôi đã được trao các thông tin dịch vụ web ở đây:

https://rally1.rallydev.com/slm/doc/webservice/

Vì vậy, tôi có thể thấy rằng tôi có thể sử dụng một URL để truy cập thông tin từ Rally - Tương tự như:

https://rally1.rallydev.com/slm/webservice/1.39/task?query=((Owner.Name 
= [email protected]) and (State != Completed))&order=Rank&fetch=true&stylesheet=/slm/doc/webservice/browser.xsl 

Tuy nhiên những gì tôi không rõ ràng là làm thế nào để xác thực trước khi đưa ra yêu cầu của tôi?

Tôi mới sử dụng các dịch vụ web REST (đã thực hiện SOAP/WSDL một thời gian) - vì vậy có vẻ như bạn không cần phải thêm tham chiếu đến thứ gì đó để tạo các lớp khách hàng? Điều này có đúng không? Bạn chỉ cần tạo một HTTPRequest bằng cách sử dụng một URI - và thực hiện cuộc gọi, lấy lại một HTTPResponse (mà tôi hy vọng có thể làm điều gì đó với nó). Có rất nhiều ví dụ dường như có các lớp dịch vụ/api cụ thể mà họ đang gọi các phương thức hoặc truy cập các thuộc tính - vì vậy tôi không chắc liệu đó có phải là vì chúng đang sử dụng SOAP thay vì REST - hoặc chúng tạo ra chúng hay không. chính họ.

Có thể tôi đang xem tài liệu sai vì có vẻ như bạn cho rằng bạn biết cách được xác thực. Hoặc tôi thiếu một tham chiếu?

Trả lời

8

Tài liệu dịch vụ web chính mà bạn thấy là rất tốt để khám phá các đối tượng và trường trong mô hình dữ liệu. Vì bạn đang sử dụng .NET có thể bạn sẽ muốn kiểm tra bộ công cụ .NET REST của chúng tôi:

http://developer.rallydev.com/help/rest-api-net

Bạn sẽ tìm thấy ví dụ để giúp bạn bắt đầu với CRUD cơ bản + các hoạt động truy vấn nó cung cấp. Xác thực được thực hiện cho bạn. Có một số lượng khá các câu hỏi và ví dụ mã liên quan đến bộ công cụ ngay tại đây trên stackoverflow cũng như nếu bạn gặp khó khăn.

+0

Cảm ơn - đó là một liên kết tuyệt vời :) – Jen

+0

Có bất kỳ tài liệu về những gì thuộc tính các loại có giá trị, và những gì thuộc tính là hợp lệ. ví dụ. Tôi muốn tạo yêu cầu cho "lỗi" hoặc "yêu cầu phân cấp" - nhưng tôi chỉ biết các giá trị đó từ ví dụ của người khác. Tôi cũng không biết những gì thuộc tính một "hierarchicalrequirement" thực sự có để có thể truy vấn trên. ví dụ. Tôi biết rằng "khiếm khuyết" có Tên & Nhà nước - nhưng một lần nữa chỉ vì các ví dụ giới hạn. Cảm ơn! – Jen

+2

Kiểm tra https://rally1.rallydev.com/slm/doc/webservice - liên kết này có đầy đủ chi tiết về mô hình đối tượng API Webservices, Tạo tác, Loại trường, giá trị hợp lệ, v.v. –

2

Tôi biết câu hỏi cũ, nhưng điều này có thể giúp người khác. Bạn cần phải vượt qua tiêu đề Xác thực cơ bản với tên người dùng và mật khẩu được mã hóa base64 của bạn như một phần của yêu cầu get(). Tôi tìm thấy thông tin này trên Atlassian documentation page và áp dụng thành công nó với Rally API 3.0 (cũng nên hoạt động với 2.0). Vì vậy, trong yêu cầu get() của bạn, bao gồm một tiêu đề tương tự như sau:

auth_header = 'Authorization : Basic ' + base64_encode('username:password')