public InstalledExtension InstallSampleExtension() { // Identifiers of the extension to install string publisherName = "ms-samples"; string extensionName = "samples-contributions-guide"; // Get the client VssConnection connection = Context.Connection; ExtensionManagementHttpClient extensionManagementClient = connection.GetClient <ExtensionManagementHttpClient>(); InstalledExtension extension = null; // Try to install the extension try { Context.Log("Trying to install extension {0}.{1}...", publisherName, extensionName); extension = extensionManagementClient.InstallExtensionByNameAsync(publisherName, extensionName).Result; Context.Log("Extension installed successfully!"); } catch (Exception ex) { // Unable to install the extension Context.Log("Unable to install the extension. Error: {0}", ex.Message); } if (extension != null) { LogExtension(extension); } return(extension); }
protected bool Connect(string PAT, string organisation) { var uriString = $"https://dev.azure.com/{organisation}"; Console.Write($"Connecting to Azure DevOps REST API, {uriString} ..."); try { _credentials = new VssBasicCredential(string.Empty, PAT); _connection = new VssConnection(new Uri(uriString), _credentials); _projectClient = _connection.GetClient <ProjectHttpClient>(); _buildClient = _connection.GetClient <BuildHttpClient>(); _releaseClient = _connection.GetClient <ReleaseHttpClient>(); _taskAgentClient = _connection.GetClient <TaskAgentHttpClient>(); _extensionClient = _connection.GetClient <ExtensionManagementHttpClient>(); _endpointClient = _connection.GetClient <ServiceEndpointHttpClient>(); _apiService = new ApiService(PAT); } catch (Exception ex) { Debug.WriteLine(ex); Console.WriteLine($"Unable to authenticate with Azure DevOps REST API :("); return(false); } Console.WriteLine($" connected :)"); return(true); }
public IEnumerable <InstalledExtension> ListInstalledExtensions() { // Get the client VssConnection connection = Context.Connection; ExtensionManagementHttpClient extensionManagementClient = connection.GetClient <ExtensionManagementHttpClient>(); // Get the list of installed extensions List <InstalledExtension> extensions = extensionManagementClient.GetInstalledExtensionsAsync().Result; foreach (InstalledExtension extension in extensions) { LogExtension(extension); } return(extensions); }
public InstalledExtension GetInstalledSampleExtension() { // Identifiers of the extension to uninstall string publisherName = "ms-samples"; string extensionName = "samples-contributions-guide"; // Get the client VssConnection connection = Context.Connection; ExtensionManagementHttpClient extensionManagementClient = connection.GetClient <ExtensionManagementHttpClient>(); // Try to get the extension try { InstalledExtension extension = extensionManagementClient.GetInstalledExtensionByNameAsync(publisherName, extensionName).Result; LogExtension(extension); return(extension); } catch (Exception ex) { Context.Log("Unable to get the extension: {0}", ex.Message); return(null); } }
public bool UninstallSampleExtension() { // Identifiers of the extension to uninstall string publisherName = "ms-samples"; string extensionName = "samples-contributions-guide"; // Get the client VssConnection connection = Context.Connection; ExtensionManagementHttpClient extensionManagementClient = connection.GetClient <ExtensionManagementHttpClient>(); // Try to uninstall the extension try { extensionManagementClient.UninstallExtensionByNameAsync(publisherName, extensionName, "Just testing").SyncResult(); Context.Log("Successfully uninstalled the extension."); return(true); } catch (Exception ex) { Context.Log("Unable to uninstall the extension: {0}", ex.Message); return(false); } }