We use company Team Foundation Server 2013 for source code and task management. Is there a way how can I manipulate work items within backlog over REST API?
Our project is accessible via web url: https://tfs.company.com/tfs/ProjectCollection/Project
I have found this: https://tfsodata.visualstudio.com/ but this seems to work only for projects within https://visualstudio.com.
I would appreciate also some examples.
Thanks!
The Team Foundation Server APIs are based on REST, JSON and service hooks - all standard web technologies broadly supported in the industry. The REST APIs documented here are for older versions of the APIs (TFS 2015 up to TFS 2018 Update 1).
Accessing TFS/VSTS through the REST API To setup the personal access token, login to TFS/VSTS and go to your profile (icon in the right top corner), then click on the security link. You can then have access to view, add and expire tokens.
Representational State Transfer (REST) APIs are service endpoints that support sets of HTTP operations (methods), which provide create, retrieve, update, or delete access to the service's resources.
Azure DevOps REST APIs are versioned to ensure applications and services continue to work as APIs evolve.
Not in any officially supported manner.
That said, it doesn't take too much exploring to see that some of the APIs are already present in TFS 2013 already.
For example, if you're using TFS2013.4, try sending a GET to https://{yourserver}/defaultcollection/_apis/git/repositories?api-version=1.0 and see what the result is.
Examples of using the REST API for on-premise, when they do turn up, will be all but identical to the Visual Studio Team Services REST API documentation.
P.S. I'm not sure if the work item APIs are there yet. I get 404's when calling the work item specific API URLs.
UPDATE: TFS2015 has now been released and it includes the full REST APIs from Visual Studio Team Services.
I am using TFS2013 and this worked for me...
http://{TfsServer}:8080/{NameOfCollection}/{NameOfProject}/_apis/git/repositories
Replacing {TfsServer}, {NameOfCollection} and {NameOfProject} with your server, collection-name, and project name respectively.
The default for a TFS collection is tfs (our case)...so if that is your case the url will be something like this...
http://TfsPrimary:8080/tfs/DeviceOid/_apis/git/repositories
The actual documentation can be found at https://learn.microsoft.com/en-us/previous-versions/azure/devops/integrate/previous-apis/git/repositories and it shows this as the syntax...
https://{instance}/DefaultCollection/{project}/_apis/repos/git/repositories/{repository}?api-version={version}
I hope this helps someone else out.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With