Search code examples
azure-devopsazure-devops-extensions

How I can access URL parameters from Azure DevOps extension


how can I access URL parameters from Azure DevOps Extension?

I am developing a hub-like extension based on this example. Basically it is a simple page that displays data in a simple table. Data are loaded from an external REST API server.

I want to call this page from some external link and for this, I need to read URL parameter idBuild from this extension. Is this possible?

Example on my URL: http://server/tfs/org/proj/_apps/hub/devops-plugin.default-hub?idBuild=15987

Edit: More details about this plugin:

For Pull requests, my Pull Request server posts Pull request status with the information about some additional checks (x86 integration tests here).

Pull request Status extension

I want this Status to have a URL, so a user can display some additional information about this status on a separate page. This page is my extension.

My plugin page

In this extension, I read some data from an external API and idBuild is the key. So I want to make URL containing idBuild and pass idBuild to this extension page through this URL.


Solution

  • Some months ago I faced the same problem as you have now. While using aurelia / typescript I was not able to read the URL parameters, but I found a workaround to retrieve them.

    Use the following function to get all the parameters:

    function getUrlParameters() {
      var parameters = {};
        window.location.href.replace(/[?&]+([^=&]+)=([^&]*)/gi, (m, key, value) => {
          parameters[key] = value.split("#")[0];
            return parameters[key];
        });
        return parameters;
    }
    

    And this piece of code to get the idBuild parameter:

    var buildId = getUrlParameters()["idBuild"];