This post is for anyone new to using the CA Agile Central Web Services API (WSAPI). The intention is not to give several step by step instructions or examples, but rather as a guide to using existing resources to learn WSAPI and associated development tools.
- The first place to start is the WSAPI documentation. I would start by reading the Introduction and REST Overview sections (including the sub sections). Then you can read the rest of the Topics in any order with the exception of Authorization, which I would save for last as there is additional information needed. Below is the link:
- Next read the Authorization section which describes the use of Security Tokens, then read the Application Manager help page.
Here is a great Knowledge article that covers security tokens, and APIKeys with examples.
- You should now have general knowledge of WSAPI. Now it is time to really learn by actually using the information. To begin you will need the WSAPI documentation listed above to reference the Object Model. This is an interactive document where you can run basic queries. It will contain all the custom fields you created for each artifact type. Let’s take just one quick example of HierarchicalRequirement (User Stories).
1. Navigate to https://rally1.rallydev.com/slm/doc/webservice/
2. Select HierarchicalRequirement from the Object Model on the left.
3. Check the Fetch full objects and Beautified JSON output boxes and query.
This will return all User Stories for the Workspace in which you are currently in and for Projects in
which you have at least viewer access. You can also input a Query String if you want
to narrow your results.
Below is an example query for a User Story where the FormattedID is US1.
( FormattedID = “US1” )
Here is a good link for learning how to create queries:
- Now that you have a general idea about how WSAPI works, including Authentication, I would decide on a REST client to use. I personally use the Postman application for Chrome and cURL. I like Postman because it is easy to use and formats JSON results and payloads in a readable fashion. The cURL program is nice if you are a command line nerd. From my experience, cURL comes installed on most Linux distributions and on MAC OSx. You should be able to use any REST client that you see fit.
Here is a good Knowledge article with examples using cURL and a browser REST client.
- After you are comfortable performing CRUD operations using WSAPI via the interactive web services help page and using a REST client, you might want to start writing custom applications. There are several types of custom applications you can create, they break down into 2 categories. The first one is external custom written applications. This type of application might be written in a language like Java, C#, Ruby, or Python. For each of the aforementioned languages we have toolkits to make working with the CA Agile Central easy. Below is a link where you can find and follow each Github repository for each toolkit.
For building custom apps that run inside of a Custom HTML page within CA Agile Central, you can
use our App SDK. Below is a link the main developers help page that includes links to App SDK 2.1.
- The last area you might be interested in is LBAPI. This allows you to search revision history of your data stored in CA Agile Central. Below are links to the User Manual and a Try It Now page where you can test running real LBAPI queries with several real examples.
That should get you started on your journey to learning to use our various development resources. Below are a few links where you can get help if you run into questions or find problems.
Stack Overflow is a good resource for developers who have questions.
You can always post in the CA Agile community:
Here are a couple of links to existing apps using our App SDK:
Last but not least, you can log a trouble ticket with CA Agile Central Technical Support. Please note that it is beyond the scope of support to assist in creating new custom code. We do try to assist with basic questions or if you have found a potential problem with our code. However, if it is beyond that, Support will recommend you contact our technical services team for the creation of new custom code, or potentially troubleshooting your custom code.
(There is an extra fee associated with using our technical services team).