public async waitForOperationSuccess()

in src/configure/clients/devOps/operationsClient.ts [17:46]


    public async waitForOperationSuccess(operationId: string): Promise<void> {
        const url = `${AzureDevOpsBaseUrl}/${this.organizationName}/_apis/operations/${operationId}`;

        for (let attempt = 0; attempt < 30; attempt++) {
          const response = await this.connection.rest.get<OperationReference>(url, {
              acceptHeader: "application/json;api-version=5.1-preview.1",
              additionalHeaders: {
                  "Content-Type": "application/json",
              },
          });

          if (response.statusCode !== 200) {
            throw new Error(util.format(Messages.failedToCreateAzureDevOpsProject, response.statusCode));
          }

          const operation = response.result;
          if (operation.status === OperationStatus.Succeeded) {
            return;
          }

          if (operation.status === OperationStatus.Failed) {
            // OperationReference is missing some properties so cast it to any
            throw new Error(util.format(Messages.failedToCreateAzureDevOpsProject, (operation as any).detailedMessage));
          }

          await sleepForMilliSeconds(2000);
        }

        throw new Error(util.format(Messages.failedToCreateAzureDevOpsProject, Messages.operationTimedOut));
    }