Is out there any REST API for TFS 2013 On-Premises installation?
Asked Answered
A

2

14

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!

Anthologize answered 4/12, 2014 at 17:16 Comment(1)
The odata stuff does work on the on prem version of TFS. I have managed to install it on our TFS and query data. But like I said, you need to install it manually. Also, don't expect any updates on this, because MS will focus on the REST API.Dom
D
23

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.

Delighted answered 5/12, 2014 at 1:31 Comment(3)
Thanks Richard... I almost jumped for joy over the REST API's and then I realized it's TFS 2015 and not 2013. Oh well...Fungal
do you need to enable anything to make these URLs work in 2013.4? I tried localhost/defaultcollection/_apis/git/… on the server and get This page cannot be displayed.Greenland
@Greenland {yourserver} would normally be on a port different than port 80 or 443 e.g. localhost:8080Lymph
S
2

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.

Sheep answered 3/5, 2021 at 14:5 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.