使用RTC源代码控制获取已更改文件的文件名,位置和作者

我正在尝试访问给定流的已更改文件的文件名,位置和作者。 下面的代码是我到目前为止。 看看api文档这似乎不可能吗? 这可以使用java api或其他方法实现吗?

IChangeSetSearchCriteria c = IChangeSetSearchCriteria.FACTORY.newInstance(); WorkspaceManager mgr = (WorkspaceManager) SCMPlatform.getWorkspaceManager(repo); IWorkspaceSearchCriteria criteria = IWorkspaceSearchCriteria.FACTORY.newInstance(); criteria.setKind(IWorkspaceSearchCriteria.STREAMS); criteria.setExactName("mystream"); 

注意:尝试不直接使用Stream名称,因为可以重命名Stream或其他Stream可以具有相同的名称。
请参阅此主题了解更多信息

如果它们在命令行上运行,那么您可以获取流的UUID,从中创建句柄并在搜索条件中设置值(尽管您可能希望首先获取流,因为用户可能已经创建了一个错字)。

从UUID到ItemHandle

 workspaceHandle = (IWorkspaceHandle)IWorkspace.ITEM_TYPE.createItemHandle(workspaceID, null); 

关于列出变更集的内容, 该线程提供了一些线索:

如果versionable表示文件,它将是IFileItem一个实例,它具有与之关联的内容对象。
您可以从内容对象获取内容流。

同样,获取变更集(如在此线程中 )可能是确保获取所有数据的关键。


注意:采用REST API路由可能更容易:
您的查询是POST

 Request URL:https://jazzServer/jazz/oslc-scm/changeSet?jazz_scm:workspaceId=_OQt98EyrEeGAvYGjhK23_g&jazz_scm:maxResults=25&jazz_scm:changeKind=31 Request Method:POST Cookie:SaveStateCookie=undefined%2Ccom.ibm.team.workitem.category%2Ccom.ibm.teamz.dsdef.category%2Ccom.ibm.team.dashboard.category%2Ccom.ibm.team.dashboard.category~%23_~%23com.ibm.team.dashboard.server.saveTeamDashboard; JSESSIONID=BF3DA3D5E0FCA16193876307E91A5471; JazzFormAuth=Form; net-jazz-ajax-cookie-rememberUserId=VonC; JSESSIONIDSSO=05626E20EC4F6DB231759EFC4DB69785 Host:jazzServer Origin:https://jazzServer Referer:https://jazzServer/jazz/web/projects/My%2°RTC%20Project Form Dataview URL encoded {"propertyRequest":{"jazz_scm:lastModified":null,"jazz_scm:creator":{"dcterms:name,rdf:resource":null},"jazz_scm:reasons":{"dcterms:title,rdf:resource":null},"jazz_scm:relatedArtifacts":{"dcterms:title,dcterms:description,rdf:resource,jazz_scm:linkTypeId,oslc_scm:mimeType":null}}}: 

那会回来:

 {jazz_scm:firstTimestamp:1350975540822, jazz_scm:lastTimestamp:1350285276229,…} jazz_scm:firstTimestamp: 1350975540822 jazz_scm:lastTimestamp: 1350285276229 jazz_scm:results: [{rdf:resource:https://jazzServer/jazz/oslc-scm/changeSetId/__KSygRzVEeK_Q6KSNVybvA,…},…] 0: {rdf:resource:https://jazzServer/jazz/oslc-scm/changeSetId/__KSygRzVDeK_Q6KSNVybvA,…} dcterms:description: "Check-in of xslts into RTC taken from UAT server." dcterms:identifier: "itemOid/com.ibm.team.scm.ChangeSet/__KSygRzVDeK_Q6KSNVybvA" dcterms:modified: 1350975540822 dcterms:name: null dcterms:type: "com.ibm.team.scm.changeSet" jazz_scm:creator: {,…} dcterms:description: null dcterms:identifier: "itemOid/com.ibm.team.repository.Contributor/_YakgYGUUEeCXgMjSYYyTpw" dcterms:modified: 1321511726283 dcterms:name: "a User" dcterms:type: "com.ibm.team.scm.contributor" jazz_scm:itemId: "_YakgYGUUEeCXgMjSYYyTpw" jazz_scm:itemType: "com.ibm.team.repository.Contributor" prefixes: {dcterms:http://purl.org/dc/elements/1.1/, rdf:http://www.w3.org/1999/02/22-rdf-syntax-ns#,…} qname: "jazz_scm:Contributor" rdf:resource: "https://jazzServer/jazz/oslc-scm/itemOid/com.ibm.team.repository.Contributor/_YakgYGUUEeCXgMgSYYyTpw" jazz_scm:itemId: "__KSygRzVDeK_Q6KSNVybvA" jazz_scm:itemType: "com.ibm.team.scm.ChangeSet" jazz_scm:lastModified: null jazz_scm:reasons: [{rdf:resource:itemName/com.ibm.team.workitem.WorkItem/258061,…}] jazz_scm:relatedArtifacts: [] prefixes: {dcterms:http://purl.org/dc/elements/1.1/, rdf:http://www.w3.org/1999/02/22-rdf-syntax-ns#,…} qname: "oslc_scm:ChangeSet" rdf:resource: "https://jazzServer/jazz/oslc-scm/changeSetId/__KSygRzVEeK_Q6KSNVybvA" 1: {rdf:resource:https://jazzServer/jazz/oslc-scm/changeSetId/_Pg_RMRwzEeK_Q6KSNVybvA,…} 2: {rdf:resource:https://jazzServer/jazz/oslc-scm/changeSetId/_3L3gcRwyEeK_Q6KSNVybvA,…} .... 

使用_OQt98EyrEeGAvYGjhK23_g StreamworkspaceItemId (Stream是一个工作区,元素“ stream ”设置为true!)

您可以使用以下查询获取Stream的WorkspaceItemId:

 Request URL:https://jazzServer/jazz/service/com.ibm.team.scm.common.internal.rest.IScmRestService2/searchWorkspaces?workspaceName=A%20STREAM%20NAME&workspaceNameKind=partial%20ignorecase&maxResultSize=50&workspaceKind=both Request Method:GET Cookie:SaveStateCookie=undefined%2Ccom.ibm.team.workitem.category%2Ccom.ibm.teamz.dsdef.category%2Ccom.ibm.team.dashboard.category%2Ccom.ibm.team.dashboard.category~%23_~%23com.ibm.team.dashboard.server.saveTeamDashboard; JSESSIONID=BF3DA3D5E0FCA16193876307E91A5471; JazzFormAuth=Form; net-jazz-ajax-cookie-rememberUserId=VonC; JSESSIONIDSSO=05626E20EC4F6DB231759EFC4DB69785 Host:jazzServer Referer:https://jazzServer/jazz/web/projects/A%20STREAM%20NAME X-Requested-With:XMLHttpRequest Query String Parametersview URL encoded workspaceName:A STREAM NAME workspaceNameKind:partial ignorecase maxResultSize:50 workspaceKind:both 

这将返回结果,包括:

   _-flUwBwpEeK_Q6KSNVybvA true _Dp6kMdwTEd2jUupDpEV1Rw 2012-10-32T10:22:18.766Z A Stream Name true a stream   a stream name 0    ...