search cancel

How to access the date that a user was set to active or inactive

book

Article ID: 244247

calendar_today

Updated On:

Products

CA Agile Central SaaS (Rally) CA Agile Central On Premise (Rally) Rally Perpetual Hosted

Issue/Introduction

How can you access the date that a user was added as a team member on a project?

Resolution

This data can be pulled via the revision history tables, however it is necessary to perform this in two steps as there is a "stub" record that sits between the object (in this case a user record) and the revision history entry.  The actual path is User -> RevisionsHistory -> Revisions

You can see below that the object ID for April Roberts is 301551329204 but her RevisionHistory object ID is 301551329208. There isn't a way to automatically assume what the revision history object ID is going to be.

https://api-broadcom-ca.wolkenservicedesk.com/attachment/get_attachment_content?uniqueFileId=SqZlCrvccSB9uLO5kVQV2Q==

First what needs to happen is to pull a user list with object ID and RevisionHistory in the fetch argument like this:

https://rally1.rallydev.com/slm/webservice/v2.0/user?query=(Disabled = false)&fetch=ObjectID,RevisionHistory,Revisions

You can use any query that is needed for the situation; in the above example disabled users are excluded.  This will pull the user records similar to the screenshot above.

Next you'll need to put together a query like the following:

https://rally1.rallydev.com/slm/webservice/v2.0/Revisions?query=(Description CONTAINS "TEAM MEMBERSHIPS added")&fetch=ObjectID,RevisionHistory,Description

This will pull all revision entries where a user was added as a team member and will appear as follows:

https://api-broadcom-ca.wolkenservicedesk.com/attachment/get_attachment_content?uniqueFileId=PUz0G1SHaflOEUe5vhQfHg==

Notice how that call pulls the RevisionHistory object in each of those screenshots?  You will next use that revision history object ID from each of those query runs to match up the revision records to their corresponding user objects in order to perform a complete set of data to identify which Revision object matches up to its corresponding User object.