How can you access the date that a user was added as a team member on a project?
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 <User>@<Company.com> is <USER_OID> but her RevisionHistory object ID is <REV_OBJECT_OID>. There isn't a way to automatically assume what the revision history object ID is going to be.
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:
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.