I've written a small application which accesses the REST API of Atlassian Bamboo.
As the documentation describes:
To get the latest version of the API, you can also use the latest key-word.
So I used the latest keyword to access the version. But I noticed now, after migrating to the new Bamboo version, that this wasn't the best solution, because the new version seems to have changed some things in the API and breaks my application.
Now I would like to build my application with a specific API version. But how can I tell: which is the exact version of the current API?
The only thing which the documentation is saying about this:
The API version is independent of the Bamboo release number.
The API version may, or may not, change with a new Bamboo release. The API version number will change only when the updates to the API break the API contract, requiring changes in the code which uses the API. ...
The documentation of the single Bamboo versions (like the one for 6.6.2) only uses the latest keyword as reference.
And even the REST api itself (under /rest/api/latest/info) only tells me the Bamboo version, not the API version:
<info>
<version>6.6.2</version>
<edition/>
<buildDate>2018-08-14T09:01:47.000+02:00</buildDate>
<buildNumber>60606</buildNumber>
<state>RUNNING</state>
</info>
So how do I find the exact API version of my Bamboo installation?
Related
I need to create a mechanism to request the latest version of my API. I know that you can specify a default version, but I don't need this. The purpose is to access to https://<server>:<port>/api/latest/<controller>, where latest is actually the most recent version. I need to define both versioning options: the major/minor and this one. Below are the two different ways to perform requests:
https://<server>:<port>/api/latest/<controller>
https://<server>:<port>/api/v1/<controller>
https://<server>:<port>/api/v1/<controller>
In the above example, the latest would point to the v2.
The difficulty here is that the built-in ApiVersioning from ASP.Net Core (the Microsoft.AspNetCore.Mvc package) doesn't support string named versions since the ApiVersion uses integers for versioning.
Is there any "clean way" to achieve it?
we have TFS 2018 and are able to call the following URL using PAT for authorization:
https://our.tfs/tfs/Our.Project.Collection/Our Team Project/_apis/wit/workitems?ids=1234&?api-version=2.0
This quite basic call returns expected results.
Trying to request API calls from the following documentation results always in 404 Page not found:
https://learn.microsoft.com/de-de/rest/api/vsts/work/backlogs/list?view=vsts-rest-4.1
For example:
https://our.tfs/tfs/Our.ProjectCollection/Our Team Project/_apis/work/backlogs?api-version=4.1
which yields the mentioned 404 error.
According Microsoft, the API is supported in version 4.0 on TFS 2018:
https://learn.microsoft.com/en-us/vsts/integrate/concepts/rest-api-versioning?view=tfs-2018
However, it seems calling the API in version 4.1 in the way the documentation describes it here only works for VSTS but not for TFS
Do I understand it correctly that any API calls to API version greater than 4.0 are currently only supported by VSTS but not on TFS on prem?
This would mean we have to live with API calls documented in the "Previous REST API Versions" when using TFS 2018 on prem?
The REST API format you used is incorrect, you missed the Team parameter
The format should be:
GET http://tfs2018:8080/tfs/DefaultCollection/{Project}/{Team}/_apis/work/backlogs?api-version=4.1-preview.1
It works without any issue on my side.
I believe you will get something by taking a look at these links, see
Visual Studio Team Services REST API Reference
REST API Overview for Visual Studio Team Services and Team Foundation Server
I was able to follow this example:
https://{instance}[/{collection}[/{team-project}]/_apis[/{area}]/{resource}?api-version={version}
see what Microsoft speaks about version 4.1 of this doc.
APIs e uso REST comuns
Discussion on TFS MS Apis
Similar discussion
Hugs
I've been using the NuGets from Outercurve Foundation (Facebook and Facebook.Client) and I've just updated to the latest stable version for both of them since Facebook API 2.0 and 2.1 will be depricated on the 7th August 2016 and they are forcing us to use the later verstions of their API.
Here is the thing... the website facebooksdk.net which had documentation and such was down for some time and now it redirects to hackerapp.com which has no documentation whatsoever...
Does any one know the version of Facebook API that the NuGet Facebook 7.0.6 and Facebook.Client 1.0.4 are using?
I think that the facebook button (from Facebook.client) is using the 2.1 version of the API. because I saw it in the query when it opens the browser just before the login prompt.
Does any one know which version is used? and if there is another way to login using the 2.5 or 2.6 API version?
I believe the client does not enforce any API version, so it will make unversioned calls. And in this case, it will use the default API version that is set on your Facebook App...
You can check the default API version for your app in your app's dashboard in https://developers.facebook.com
Mine is currently v2.0 (I don't know yet how to change manually that version. Facebook will certainly upgrade it when v2.0 expires)
I am using an even older version of the nuget package (6.4.2) and was able to override the version simply setting it in the endpoint being called:
Exmaple:
var client = new FacebookClient(accessToken);
dynamic facebookUser = client.Get("me"); //this will use v2.0 currently (default API version)
dynamic facebookUser = client.Get("v2.6/me"); //this will use v2.6
PS: version 2.0 will expire 7th August 2016... version 2.1 will expire only in 30 October 2016 (2 years after 2.2 was launched)
For those wanting to use Facebook.Client with Facebook API v2.5 you can use this one https://github.com/rickrvo/facebook-winclient-sdk
it's just the same as the version 1.0.4 but changed all hardcoded calls using v2.1 to use v2.5
If the request does not specify a version, e.g. /me/friends, which version of Graph API is used? Does it automatically use the latest version, such as v2.2? Or it uses the oldest version v1.0?
Read the topic: "What happens if I don't specify a version for an API?"
It says it would use the oldest version as default
Right now it would be using 1.0
https://developers.facebook.com/docs/apps/versions
I'm wondering if the Azure Notification Hubs REST API documentation is still correct and up-to-date or if there is already a newer API version than "2013-08" that can be used.
All the single pages show "Updated: February 26, 2015", but I guess it was just a meta data update of all the pages, since the API version didn't change, it's still "2013-08".
Here (and here) is an example for the REST API usage from Elio Damaggio which uses "2013-10" as the api version.
I tried all possible api version values in the format "yyyy-mm" from "2013-10" to "2015-03" and the following were working: "2013-10", "2014-01", "2014-05", "2014-08", "2014-09", "2015-01".
Does anyone use a newer API version than "2013-08" or does anyone know anything about a newer API version or documentation? Specifically, does anyone know if there is a documentation for a newer API version, e.g. "2015-01", or at least a changelog?
Got an answer on MSDN forums:
The latest version is 2015-01. All or most of features works with
starting version 2013-08.
Version in documentation indicates that minimum version required for
working that feature. Hence, all documentation is pointing to 2013-08.
...
Yes, you can use version 2015-01 instead of 2013-08. There won’t be
any difference because we didn’t do any breaking changes from 2013-08.
All the features works from version 2013-08.
Moreover, the source code for the Java REST wrapper for Windows Azure Notification Hubs on github seems to be a good reference. It is using api version "2014-09", not "2015-01" right now, but at least it includes the registration code for Amazon Device Messaging and Baidu Cloud Push which are currently missing in the REST API documentation.