The models should map to their API - however, one trick you can use is to open your console when logged into the Rally site. Once you get to any of their newer pages, you should be able to see all the Models that are loaded up:
for (model in Rally.data.wsapi.ModelFactory._modelCache) console.log(model);
which gives me something like:
> rally.domain.v2.x.project.XXXXXXXX.testcasestep
> rally.domain.v2.x.project.XXXXXXXX.testcase
> rally.domain.v2.x.project.XXXXXXXX.portfolioitemfeature
> rally.domain.v2.x.project.XXXXXXXX.userprofile
> rally.domain.v2.x.project.XXXXXXXX.buildmetric
> rally.domain.v2.x.project.XXXXXXXX.conversationpost
> rally.domain.v2.x.project.XXXXXXXX.defect
> rally.domain.v2.x.project.XXXXXXXX.defectsuite
> rally.domain.v2.x.project.XXXXXXXX.milestone
> rally.domain.v2.x.project.XXXXXXXX.projectpermission
> rally.domain.v2.x.project.XXXXXXXX.portfolioiteminitiative
> rally.domain.v2.x.project.XXXXXXXX.user
> rally.domain.v2.x.project.XXXXXXXX.artifactnotification
> rally.domain.v2.x.project.XXXXXXXX.testset
> rally.domain.v2.x.project.XXXXXXXX.tag
> rally.domain.v2.x.project.XXXXXXXX.workspacepermission
> rally.domain.v2.x.project.XXXXXXXX.scmrepository
> rally.domain.v2.x.project.XXXXXXXX.preference
> rally.domain.v2.x.project.XXXXXXXX.portfolioitemtheme
> rally.domain.v2.x.project.XXXXXXXX.portfolioitem
> rally.domain.v2.x.project.XXXXXXXX.revision
> rally.domain.v2.x.project.XXXXXXXX.changeset
> rally.domain.v2.x.project.XXXXXXXX.iteration
> rally.domain.v2.x.project.XXXXXXXX.change
> rally.domain.v2.x.project.XXXXXXXX.workspaceconfiguration
> rally.domain.v2.x.project.XXXXXXXX.attachment
> rally.domain.v2.x.project.XXXXXXXX.scopedattributedefinition
> rally.domain.v2.x.project.XXXXXXXX.state
> rally.domain.v2.x.project.XXXXXXXX.task
> rally.domain.v2.x.project.XXXXXXXX.hierarchicalrequirement
> rally.domain.v2.x.project.XXXXXXXX.workspace
> rally.domain.v2.x.project.XXXXXXXX.timeentryitem
> rally.domain.v2.x.project.XXXXXXXX.testcaseresult
> rally.domain.v2.x.project.XXXXXXXX.weblinkdefinition
> rally.domain.v2.x.project.XXXXXXXX.attachmentcontent
> rally.domain.v2.x.project.XXXXXXXX.testfolder
> rally.domain.v2.x.project.XXXXXXXX.attributedefinition
> rally.domain.v2.x.project.XXXXXXXX.releasecumulativeflowdata
> rally.domain.v2.x.project.XXXXXXXX.iterationcumulativeflowdata
> rally.domain.v2.x.project.XXXXXXXX.timeentryvalue
> rally.domain.v2.x.project.XXXXXXXX.typedefinition
> rally.domain.v2.x.project.XXXXXXXX.build
> rally.domain.v2.x.project.XXXXXXXX.project
> rally.domain.v2.x.project.XXXXXXXX.allowedattributevalue
> rally.domain.v2.x.project.XXXXXXXX.blocker
> rally.domain.v2.x.project.XXXXXXXX.allowedqueryoperator
> rally.domain.v2.x.project.XXXXXXXX.preliminaryestimate
> rally.domain.v2.x.project.XXXXXXXX.release
> rally.domain.v2.x.project.XXXXXXXX.buildmetricdefinition
> rally.domain.v2.x.project.XXXXXXXX.recyclebinentry
> rally.domain.v2.x.project.XXXXXXXX.subscription
> rally.domain.v2.x.project.XXXXXXXX.useriterationcapacity
> rally.domain.v2.x.project.XXXXXXXX.builddefinition
> rally.domain.v2.x.project.XXXXXXXX.revisionhistory
> rally.domain.v2.x.project.XXXXXXXX.administratableproject
> rally.domain.v2.x.project.XXXXXXXX.writableproject
> rally.domain.v2.x.workspace.XXXXXXXX.testcasestep
> rally.domain.v2.x.workspace.XXXXXXXX.testcase
> rally.domain.v2.x.workspace.XXXXXXXX.portfolioitemfeature
> rally.domain.v2.x.workspace.XXXXXXXX.userprofile
> rally.domain.v2.x.workspace.XXXXXXXX.buildmetric
> rally.domain.v2.x.workspace.XXXXXXXX.conversationpost
> rally.domain.v2.x.workspace.XXXXXXXX.defect
> rally.domain.v2.x.workspace.XXXXXXXX.defectsuite
> rally.domain.v2.x.workspace.XXXXXXXX.milestone
> rally.domain.v2.x.workspace.XXXXXXXX.projectpermission
> rally.domain.v2.x.workspace.XXXXXXXX.portfolioiteminitiative
> rally.domain.v2.x.workspace.XXXXXXXX.user
> rally.domain.v2.x.workspace.XXXXXXXX.artifactnotification
> rally.domain.v2.x.workspace.XXXXXXXX.testset
> rally.domain.v2.x.workspace.XXXXXXXX.tag
> rally.domain.v2.x.workspace.XXXXXXXX.workspacepermission
> rally.domain.v2.x.workspace.XXXXXXXX.scmrepository
> rally.domain.v2.x.workspace.XXXXXXXX.preference
> rally.domain.v2.x.workspace.XXXXXXXX.portfolioitemtheme
> rally.domain.v2.x.workspace.XXXXXXXX.portfolioitem
> rally.domain.v2.x.workspace.XXXXXXXX.revision
> rally.domain.v2.x.workspace.XXXXXXXX.changeset
> rally.domain.v2.x.workspace.XXXXXXXX.iteration
> rally.domain.v2.x.workspace.XXXXXXXX.change
> rally.domain.v2.x.workspace.XXXXXXXX.workspaceconfiguration
> rally.domain.v2.x.workspace.XXXXXXXX.attachment
> rally.domain.v2.x.workspace.XXXXXXXX.scopedattributedefinition
> rally.domain.v2.x.workspace.XXXXXXXX.state
> rally.domain.v2.x.workspace.XXXXXXXX.task
> rally.domain.v2.x.workspace.XXXXXXXX.hierarchicalrequirement
> rally.domain.v2.x.workspace.XXXXXXXX.workspace
> rally.domain.v2.x.workspace.XXXXXXXX.timeentryitem
> rally.domain.v2.x.workspace.XXXXXXXX.testcaseresult
> rally.domain.v2.x.workspace.XXXXXXXX.weblinkdefinition
> rally.domain.v2.x.workspace.XXXXXXXX.attachmentcontent
> rally.domain.v2.x.workspace.XXXXXXXX.testfolder
> rally.domain.v2.x.workspace.XXXXXXXX.attributedefinition
> rally.domain.v2.x.workspace.XXXXXXXX.releasecumulativeflowdata
> rally.domain.v2.x.workspace.XXXXXXXX.iterationcumulativeflowdata
> rally.domain.v2.x.workspace.XXXXXXXX.timeentryvalue
> rally.domain.v2.x.workspace.XXXXXXXX.typedefinition
> rally.domain.v2.x.workspace.XXXXXXXX.build
> rally.domain.v2.x.workspace.XXXXXXXX.project
> rally.domain.v2.x.workspace.XXXXXXXX.allowedattributevalue
> rally.domain.v2.x.workspace.XXXXXXXX.blocker
> rally.domain.v2.x.workspace.XXXXXXXX.allowedqueryoperator
> rally.domain.v2.x.workspace.XXXXXXXX.preliminaryestimate
> rally.domain.v2.x.workspace.XXXXXXXX.release
> rally.domain.v2.x.workspace.XXXXXXXX.buildmetricdefinition
> rally.domain.v2.x.workspace.XXXXXXXX.recyclebinentry
> rally.domain.v2.x.workspace.XXXXXXXX.subscription
> rally.domain.v2.x.workspace.XXXXXXXX.useriterationcapacity
> rally.domain.v2.x.workspace.XXXXXXXX.builddefinition
> rally.domain.v2.x.workspace.XXXXXXXX.revisionhistory
> rally.domain.v2.x.workspace.XXXXXXXX.administratableproject
> rally.domain.v2.x.workspace.XXXXXXXX.writableproject
> rally.domain.v2.x.workspace.null.testcasestep
> rally.domain.v2.x.workspace.null.testcase
> rally.domain.v2.x.workspace.null.portfolioitemfeature
> rally.domain.v2.x.workspace.null.userprofile
> rally.domain.v2.x.workspace.null.buildmetric
> rally.domain.v2.x.workspace.null.conversationpost
> rally.domain.v2.x.workspace.null.defect
> rally.domain.v2.x.workspace.null.defectsuite
> rally.domain.v2.x.workspace.null.milestone
> rally.domain.v2.x.workspace.null.projectpermission
> rally.domain.v2.x.workspace.null.portfolioiteminitiative
> rally.domain.v2.x.workspace.null.user
> rally.domain.v2.x.workspace.null.artifactnotification
> rally.domain.v2.x.workspace.null.testset
> rally.domain.v2.x.workspace.null.tag
> rally.domain.v2.x.workspace.null.workspacepermission
> rally.domain.v2.x.workspace.null.scmrepository
> rally.domain.v2.x.workspace.null.preference
> rally.domain.v2.x.workspace.null.portfolioitemtheme
> rally.domain.v2.x.workspace.null.portfolioitem
> rally.domain.v2.x.workspace.null.revision
> rally.domain.v2.x.workspace.null.changeset
> rally.domain.v2.x.workspace.null.iteration
> rally.domain.v2.x.workspace.null.change
> rally.domain.v2.x.workspace.null.workspaceconfiguration
> rally.domain.v2.x.workspace.null.attachment
> rally.domain.v2.x.workspace.null.scopedattributedefinition
> rally.domain.v2.x.workspace.null.state
> rally.domain.v2.x.workspace.null.task
> rally.domain.v2.x.workspace.null.hierarchicalrequirement
> rally.domain.v2.x.workspace.null.workspace
> rally.domain.v2.x.workspace.null.timeentryitem
> rally.domain.v2.x.workspace.null.testcaseresult
> rally.domain.v2.x.workspace.null.weblinkdefinition
> rally.domain.v2.x.workspace.null.attachmentcontent
> rally.domain.v2.x.workspace.null.testfolder
> rally.domain.v2.x.workspace.null.attributedefinition
> rally.domain.v2.x.workspace.null.releasecumulativeflowdata
> rally.domain.v2.x.workspace.null.iterationcumulativeflowdata
> rally.domain.v2.x.workspace.null.timeentryvalue
> rally.domain.v2.x.workspace.null.typedefinition
> rally.domain.v2.x.workspace.null.build
> rally.domain.v2.x.workspace.null.project
> rally.domain.v2.x.workspace.null.allowedattributevalue
> rally.domain.v2.x.workspace.null.blocker
> rally.domain.v2.x.workspace.null.allowedqueryoperator
> rally.domain.v2.x.workspace.null.preliminaryestimate
> rally.domain.v2.x.workspace.null.release
> rally.domain.v2.x.workspace.null.buildmetricdefinition
> rally.domain.v2.x.workspace.null.recyclebinentry
> rally.domain.v2.x.workspace.null.subscription
> rally.domain.v2.x.workspace.null.useriterationcapacity
> rally.domain.v2.x.workspace.null.builddefinition
> rally.domain.v2.x.workspace.null.revisionhistory
> rally.domain.v2.x.workspace.null.administratableproject
> rally.domain.v2.x.workspace.null.writableproject
So I know I can request a model of defectsuite
since they use it internally themselves.
User stories are a bit funky because they map to the Hierarchical Requirement
type in the API. You can sort of see this from the browser console when logged into Rally:
a = Ext4.create('Rally.data.wsapi.Store',{
autoLoad : true,
model : 'hierarchicalrequirement'
});
b = Ext4.create('Rally.data.wsapi.Store',{
autoLoad : true,
model : 'Userstory'
});
a.data.getAt(0).id == b.data.getAt(0).id //true
I did a small amount of testing and it looks like they strip spaces from the model names, so this would also work for the b
variable above:
b = Ext4.create('Rally.data.wsapi.Store',{
autoLoad : true,
model : 'User sto ry '
})