2016-08-04 6 views
0

Ich entwickle eine VSTS-Erweiterung. Ich habe einen VSTS-Service-Endpunkt über das Portal konfiguriert. Ich muss die Anmeldeinformationen des konfigurierten Endpunkts in meinem Erweiterungscode verwenden. Weiß jemand, wie man das macht?Zugriff auf VSTS-Dienst-Endpunkt-Anmeldeinformationen von der Erweiterung

-Danke im Voraus.

+0

Was ist der Typ Ihrer Erweiterung, eine Build-Aufgabe? –

+0

Ja, es ist eine Build-Erweiterung. – Bandara

Antwort

0

Dank Eddie,

fand ich eine Lösung für diese mit Ihrer Hilfe, war ich mit 0.5.8 Version der VSTS-Task-lib Bibliothek und aktualisieren Sie es auf 0.9.7 und hat die folgenden

//Import the task lib 0.9.7 
import tl = require('vsts-task-lib/task'); 

//Get the endpoint ID (a guid) 
serverEndpoint = tl.getInput('serverEndpoint', true); 

//Get the enpoint URL for the retrieved end point id and parse it to URL type 
serverEndpointUrl: url.Url = url.parse(tl.getEndpointUrl(this.serverEndpoint, false)); 

//Extract authentication details from url 
serverEndpointAuth = tl.getEndpointAuthorization(this.serverEndpoint, false); 

//Read parameters to variable 
//NOTE: You cant write this data to console, if you do write, it will write //asterisk (****) instead of real values. 

username = this.serverEndpointAuth['parameters']['username']; 
password = this.serverEndpointAuth['parameters']['password']; 

//Pass the variables as parameters. 
1

Sie müssen den Service-Endpunkt, den Sie verwenden möchten, in task.json Ihrer Build-Erweiterung einfügen und dann in der Build-Aufgabe verwenden. Details finden Sie unter diesem Link: Service Endpoints in Team Services.

Und Sie können auch die VSTS Agent Task in GitHub für die Verwendung des Service-Endpunkts in einer Build-Task wie this one.

+0

Hallo Eddie, Danke für die Antwort. Ich folgte dem Link, den Sie mit dem FTP-Zugriffsendpunkt angegeben hatten, konnte jedoch keine Anmeldeinformationen vom Endpunkt extrahieren. Ich erhalte den Fehler "Endpunkt nicht vorhanden: undefiniert" in Zeile serverEndpointUrl: url.Url = url.parse (tl.getEndpointUrl (this.serverEndpoint, false)); Ich habe auch mein Konto als Endpoint-Reader hinzugefügt. – Bandara

+0

@BandR Können Sie den Code und task.json teilen, damit ich prüfen kann, wo das Problem liegt? –

+0

Ist es möglich, Service-Endpunkte in Nicht-Build-Task-Erweiterung zu konsumieren, sagen wir ein Work-Item-Formular-Steuerelement? – Flex

Verwandte Themen