public async createAzureServiceConnection()

in src/configure/clients/devOps/serviceConnectionClient.ts [42:75]


    public async createAzureServiceConnection(endpointName: string, tenantId: string, subscriptionId: string, scope: string, aadApp: AadApplication): Promise<any> {
        const url = `${AzureDevOpsBaseUrl}/${this.organizationName}/${this.projectName}/_apis/serviceendpoint/endpoints`;

        return this.connection.rest.create(url, {
            "administratorsGroup": null,
            "authorization": {
                "parameters": {
                    "authenticationType": "spnKey",
                    "scope": scope,
                    "serviceprincipalid": aadApp.appId,
                    "serviceprincipalkey": aadApp.secret,
                    "tenantid": tenantId
                },
                "scheme": "ServicePrincipal"
            },
            "data": {
                "creationMode": "Manual",
                "subscriptionId": subscriptionId,
                "subscriptionName": subscriptionId
            },
            "description": "",
            "groupScopeId": null,
            "name": endpointName,
            "operationStatus": null,
            "readersGroup": null,
            "type": "azurerm",
            "url": "https://management.azure.com/"
        }, {
            acceptHeader: "application/json;api-version=5.1-preview.2;excludeUrls=true",
            additionalHeaders: {
                "Content-Type": "application/json",
            },
        });
    }