Azure App Service Source Control Configuration Fails with Backend Timeout During UpdateSiteSourceControl Operation

Charanjit Singh 20 Reputation points
2026-08-17T22:37:00.3166667+00:00

Hi Team

I am attempting to deploy a Linux Web App and configure Source Control Management (SCM) integration with a private GitHub repository using Terraform modules. During the Source Control configuration process, the deployment fails with the error pasted below.

Based on the error details, the failure appears to occur during the Azure App Service UpdateSiteSourceControl operation. The exception indicates a timeout while the App Service backend is attempting to retrieve or generate the SSH key from the Kudu/SCM endpoint:

https://waws-prod-ln1-187.api.azurewebsites.windows.net/api/sshkey?ensurePublicKey=True

The same private GitHub repository and GitHub PAT work successfully when the Source Control configuration is performed manually through the Azure Portal Deployment Center. This suggests that the GitHub repository, branch, and PAT are valid and accessible.

Therefore, this appears to be an Azure App Service Deployment Center / Source Control Integration backend issue, specifically a timeout within the App Service Stamp/Kudu infrastructure during the UpdateSiteSourceControl operation, rather than a Terraform configuration or authentication issue. I tried to deploy the WebApp in Central India and UK South regions, but issue is same.

Terraform Error:

│ Error: creating Source Control configuration for App Service (Subscription: "***"
│ Resource Group Name: "dev-rg"
│ Site Name: "mph-linux-web-6f47"): unexpected status 400 (400 Bad Request) with response: ***"Code":"BadRequest","Message":"Repository 'UpdateSiteSourceControl' operation failed with System.TimeoutException: Operation GET https://waws-prod-ln1-187.api.azurewebsites.windows.net/api/sshkey?ensurePublicKey=True exceeded 50000ms timeout!\r\n   at Microsoft.Web.ControlPlane.Stamp.Utilities.WebRequestHelper.<GetResponseAsyncWithTimeout>d__10.MoveNext() in /_/src/ControlPlane/Stamp/Microsoft.Web.ControlPlane.Stamp/Utilities/WebRequestHelper.cs:line 56\r\n--- End of stack trace from previous location where exception was thrown ---\r\n   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()\r\n   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n   at Microsoft.Web.ControlPlane.Stamp.SiteRepositoryProvider.TrackerContext.<GetResponseAsync>d__41.MoveNext() in /_/src/ControlPlane/Stamp/Microsoft.Web.ControlPlane.Stamp/Providers/SiteRepositoryPr
│ 
│   with module.linux_app_config[0].azurerm_app_service_source_control.linux_sourcecontrol,
│   on ../modules/linux_app_config/main.tf line 10, in resource "azurerm_app_service_source_control" "linux_sourcecontrol":
│   10: resource "azurerm_app_service_source_control" "linux_sourcecontrol" ***
│ 
│ creating Source Control configuration for App Service (Subscription:
│ "***"
│ Resource Group Name: "dev-rg"
│ Site Name: "mph-linux-web-6f47"): unexpected status 400 (400 Bad Request)
│ with response: ***"Code":"BadRequest","Message":"Repository
│ 'UpdateSiteSourceControl' operation failed with System.TimeoutException:
│ Operation GET
│ https://waws-prod-ln1-187.api.azurewebsites.windows.net/api/sshkey?ensurePublicKey=True
│ exceeded 50000ms timeout!\r\n   at
│ Microsoft.Web.ControlPlane.Stamp.Utilities.WebRequestHelper.<GetResponseAsyncWithTimeout>d__10.MoveNext()
│ in
│ /_/src/ControlPlane/Stamp/Microsoft.Web.ControlPlane.Stamp/Utilities/WebRequestHelper.cs:line
│ 56\r\n--- End of stack trace from previous location where exception was
│ thrown ---\r\n   at
│ System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()\r\n   at
│ System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task
│ task)\r\n   at
│ Microsoft.Web.ControlPlane.Stamp.SiteRepositoryProvider.TrackerContext.<GetResponseAsync>d__41.MoveNext()
│ in
│ /_/src/ControlPlane/Stamp/Microsoft.Web.ControlPlane.Stamp/Providers/SiteRepositoryProvider.cs:line
│ 801\r\n--- End of stack trace from previous location where exception was
│ thrown ---\r\n   at
│ System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()\r\n   at
│ System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task
│ task)\r\n   at
│ Microsoft.Web.ControlPlane.Stamp.SiteRepositoryProvider.<GetSSHKey>d__29.MoveNext()
│ in
│ /_/src/ControlPlane/Stamp/Microsoft.Web.ControlPlane.Stamp/Providers/SiteRepositoryProvider.cs:line
│ 321\r\n--- End of stack trace from previous location where exception was
│ thrown ---\r\n   at
│ System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()\r\n   at
│ System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task
│ task)\r\n   at
│ Microsoft.Web.ControlPlane.Stamp.ExternalSiteRepositoryProvider.<EnsureSSHKey>d__8.MoveNext()
│ in
│ /_/src/ControlPlane/Stamp/Microsoft.Web.ControlPlane.Stamp/Providers/ExternalSiteRepositoryProvider.cs:line
│ 113\r\n--- End of stack trace from previous location where exception was
│ thrown ---\r\n   at
│ System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()\r\n   at
│ System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task
│ task)\r\n   at
│ Microsoft.Web.ControlPlane.Stamp.ExternalSiteRepositoryProvider.<UpdateSiteSourceControl>d__5.MoveNext()
│ in
│ /_/src/ControlPlane/Stamp/Microsoft.Web.ControlPlane.Stamp/Providers/ExternalSiteRepositoryProvider.cs:line
│ 53\r\n--- End of stack trace from previous location where exception was
│ thrown ---\r\n   at
│ System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()\r\n   at
│ System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task
│ task)\r\n   at
│ Microsoft.Web.ControlPlane.Stamp.WebCloudController.<>c__DisplayClass388_1.<<UpdateSiteSourceControl>b__1>d.MoveNext()
│ in
│ /_/src/ControlPlane/Stamp/Microsoft.Web.ControlPlane.Stamp/Controllers/WebCloudController.cs:line
│ 11278\r\n--- End of stack trace from previous location where exception was
│ thrown ---\r\n   at
│ System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()\r\n   at
│ System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task
│ task)\r\n   at Microsoft.Web.Hosting.AsyncHelper.RunSync[TResult](Func`1
│ func) in /_/src/Hosting/Microsoft.Web.Hosting/Utilities/AsyncHelper.cs:line
│ 27\r\n   at
│ Microsoft.Web.ControlPlane.Stamp.WebCloudController.UpdateSiteSourceControl(String
│ subscriptionName, String webspaceName, String name, SiteSourceControl
│ siteSourceControl) in
│ /_/src/ControlPlane/Stamp/Microsoft.Web.ControlPlane.Stamp/Controllers/WebCloudController.cs:line
│ 11273.","Target":null,"Details":[***"Message":"Repository
│ 'UpdateSiteSourceControl' operation failed with System.TimeoutException:
│ Operation GET
│ https://waws-prod-ln1-187.api.azurewebsites.windows.net/api/sshkey?ensurePublicKey=True
│ exceeded 50000ms timeout!\r\n   at
│ Microsoft.Web.ControlPlane.Stamp.Utilities.WebRequestHelper.<GetResponseAsyncWithTimeout>d__10.MoveNext()
│ in
│ /_/src/ControlPlane/Stamp/Microsoft.Web.ControlPlane.Stamp/Utilities/WebRequestHelper.cs:line
│ 56\r\n--- End of stack trace from previous location where exception was
│ thrown ---\r\n   at
│ System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()\r\n   at
│ System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task
│ task)\r\n   at
│ Microsoft.Web.ControlPlane.Stamp.SiteRepositoryProvider.TrackerContext.<GetResponseAsync>d__41.MoveNext()
│ in
│ /_/src/ControlPlane/Stamp/Microsoft.Web.ControlPlane.Stamp/Providers/SiteRepositoryProvider.cs:line
│ 801\r\n--- End of stack trace from previous location where exception was
│ thrown ---\r\n   at
│ System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()\r\n   at
│ System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task
│ task)\r\n   at
│ Microsoft.Web.ControlPlane.Stamp.SiteRepositoryProvider.<GetSSHKey>d__29.MoveNext()
│ in
│ /_/src/ControlPlane/Stamp/Microsoft.Web.ControlPlane.Stamp/Providers/SiteRepositoryProvider.cs:line
│ 321\r\n--- End of stack trace from previous location where exception was
│ thrown ---\r\n   at
│ System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()\r\n   at
│ System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task
│ task)\r\n   at
│ Microsoft.Web.ControlPlane.Stamp.ExternalSiteRepositoryProvider.<EnsureSSHKey>d__8.MoveNext()
│ in
│ /_/src/ControlPlane/Stamp/Microsoft.Web.ControlPlane.Stamp/Providers/ExternalSiteRepositoryProvider.cs:line
│ 113\r\n--- End of stack trace from previous location where exception was
│ thrown ---\r\n   at
│ System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()\r\n   at
│ System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task
│ task)\r\n   at
│ Microsoft.Web.ControlPlane.Stamp.ExternalSiteRepositoryProvider.<UpdateSiteSourceControl>d__5.MoveNext()
│ in
│ /_/src/ControlPlane/Stamp/Microsoft.Web.ControlPlane.Stamp/Providers/ExternalSiteRepositoryProvider.cs:line
│ 53\r\n--- End of stack trace from previous location where exception was
│ thrown ---\r\n   at
│ System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()\r\n   at
│ System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task
│ task)\r\n   at
│ Microsoft.Web.ControlPlane.Stamp.WebCloudController.<>c__DisplayClass388_1.<<UpdateSiteSourceControl>b__1>d.MoveNext()
│ in
│ /_/src/ControlPlane/Stamp/Microsoft.Web.ControlPlane.Stamp/Controllers/WebCloudController.cs:line
│ 11278\r\n--- End of stack trace from previous location where exception was
│ thrown ---\r\n   at
│ System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()\r\n   at
│ System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task
│ task)\r\n   at Microsoft.Web.Hosting.AsyncHelper.RunSync[TResult](Func`1
│ func) in /_/src/Hosting/Microsoft.Web.Hosting/Utilities/AsyncHelper.cs:line
│ 27\r\n   at
│ Microsoft.Web.ControlPlane.Stamp.WebCloudController.UpdateSiteSourceControl(String
│ subscriptionName, String webspaceName, String name, SiteSourceControl
│ siteSourceControl) in
│ /_/src/ControlPlane/Stamp/Microsoft.Web.ControlPlane.Stamp/Controllers/WebCloudController.cs:line
│ 11273."***,***"Code":"BadRequest"***,***"ErrorEntity":***"ExtendedCode":"05007","MessageTemplate":"Repository
│ '***0***' operation failed with
│ ***1***.","Parameters":["UpdateSiteSourceControl","System.TimeoutException:
│ Operation GET
│ https://waws-prod-ln1-187.api.azurewebsites.windows.net/api/sshkey?ensurePublicKey=True
│ exceeded 50000ms timeout!\r\n   at
│ Microsoft.Web.ControlPlane.Stamp.Utilities.WebRequestHelper.<GetResponseAsyncWithTimeout>d__10.MoveNext()
│ in
│ /_/src/ControlPlane/Stamp/Microsoft.Web.ControlPlane.Stamp/Utilities/WebRequestHelper.cs:line
│ 56\r\n--- End of stack trace from previous location where exception was
│ thrown ---\r\n   at
│ System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()\r\n   at
│ System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task
│ task)\r\n   at
│ Microsoft.Web.ControlPlane.Stamp.SiteRepositoryProvider.TrackerContext.<GetResponseAsync>d__41.MoveNext()
│ in
│ /_/src/ControlPlane/Stamp/Microsoft.Web.ControlPlane.Stamp/Providers/SiteRepositoryProvider.cs:line
│ 801\r\n--- End of stack trace from previous location where exception was
│ thrown ---\r\n   at
│ System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()\r\n   at
│ System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task
│ task)\r\n   at
│ Microsoft.Web.ControlPlane.Stamp.SiteRepositoryProvider.<GetSSHKey>d__29.MoveNext()
│ in
│ /_/src/ControlPlane/Stamp/Microsoft.Web.ControlPlane.Stamp/Providers/SiteRepositoryProvider.cs:line
│ 321\r\n--- End of stack trace from previous location where exception was
│ thrown ---\r\n   at
│ System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()\r\n   at
│ System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task
│ task)\r\n   at
│ Microsoft.Web.ControlPlane.Stamp.ExternalSiteRepositoryProvider.<EnsureSSHKey>d__8.MoveNext()
│ in
│ /_/src/ControlPlane/Stamp/Microsoft.Web.ControlPlane.Stamp/Providers/ExternalSiteRepositoryProvider.cs:line
│ 113\r\n--- End of stack trace from previous location where exception was
│ thrown ---\r\n   at
│ System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()\r\n   at
│ System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task
│ task)\r\n   at
│ Microsoft.Web.ControlPlane.Stamp.ExternalSiteRepositoryProvider.<UpdateSiteSourceControl>d__5.MoveNext()
│ in
│ /_/src/ControlPlane/Stamp/Microsoft.Web.ControlPlane.Stamp/Providers/ExternalSiteRepositoryProvider.cs:line
│ 53\r\n--- End of stack trace from previous location where exception was
│ thrown ---\r\n   at
│ System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()\r\n   at
│ System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task
│ task)\r\n   at
│ Microsoft.Web.ControlPlane.Stamp.WebCloudController.<>c__DisplayClass388_1.<<UpdateSiteSourceControl>b__1>d.MoveNext()
│ in
│ /_/src/ControlPlane/Stamp/Microsoft.Web.ControlPlane.Stamp/Controllers/WebCloudController.cs:line
│ 11278\r\n--- End of stack trace from previous location where exception was
│ thrown ---\r\n   at
│ System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()\r\n   at
│ System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task
│ task)\r\n   at Microsoft.Web.Hosting.AsyncHelper.RunSync[TResult](Func`1
│ func) in /_/src/Hosting/Microsoft.Web.Hosting/Utilities/AsyncHelper.cs:line
│ 27\r\n   at
│ Microsoft.Web.ControlPlane.Stamp.WebCloudController.UpdateSiteSourceControl(String
│ subscriptionName, String webspaceName, String name, SiteSourceControl
│ siteSourceControl) in
│ /_/src/ControlPlane/Stamp/Microsoft.Web.ControlPlane.Stamp/Controllers/WebCloudController.cs:line
│ 11273"],"Code":"BadRequest","Message":"Repository 'UpdateSiteSourceControl'
│ operation failed with System.TimeoutException: Operation GET
│ https://waws-prod-ln1-187.api.azurewebsites.windows.net/api/sshkey?ensurePublicKey=True
│ exceeded 50000ms timeout!\r\n   at
│ Microsoft.Web.ControlPlane.Stamp.Utilities.WebRequestHelper.<GetResponseAsyncWithTimeout>d__10.MoveNext()
│ in
│ /_/src/ControlPlane/Stamp/Microsoft.Web.ControlPlane.Stamp/Utilities/WebRequestHelper.cs:line
│ 56\r\n--- End of stack trace from previous location where exception was
│ thrown ---\r\n   at
│ System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()\r\n   at
│ System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task
│ task)\r\n   at
│ Microsoft.Web.ControlPlane.Stamp.SiteRepositoryProvider.TrackerContext.<GetResponseAsync>d__41.MoveNext()
│ in
│ /_/src/ControlPlane/Stamp/Microsoft.Web.ControlPlane.Stamp/Providers/SiteRepositoryProvider.cs:line
│ 801\r\n--- End of stack trace from previous location where exception was
│ thrown ---\r\n   at
│ System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()\r\n   at
│ System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task
│ task)\r\n   at
│ Microsoft.Web.ControlPlane.Stamp.SiteRepositoryProvider.<GetSSHKey>d__29.MoveNext()
│ in
│ /_/src/ControlPlane/Stamp/Microsoft.Web.ControlPlane.Stamp/Providers/SiteRepositoryProvider.cs:line
│ 321\r\n--- End of stack trace from previous location where exception was
│ thrown ---\r\n   at
│ System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()\r\n   at
│ System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task
│ task)\r\n   at
│ Microsoft.Web.ControlPlane.Stamp.ExternalSiteRepositoryProvider.<EnsureSSHKey>d__8.MoveNext()
│ in
│ /_/src/ControlPlane/Stamp/Microsoft.Web.ControlPlane.Stamp/Providers/ExternalSiteRepositoryProvider.cs:line
│ 113\r\n--- End of stack trace from previous location where exception was
│ thrown ---\r\n   at
│ System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()\r\n   at
│ System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task
│ task)\r\n   at
│ Microsoft.Web.ControlPlane.Stamp.ExternalSiteRepositoryProvider.<UpdateSiteSourceControl>d__5.MoveNext()
│ in
│ /_/src/ControlPlane/Stamp/Microsoft.Web.ControlPlane.Stamp/Providers/ExternalSiteRepositoryProvider.cs:line
│ 53\r\n--- End of stack trace from previous location where exception was
│ thrown ---\r\n   at
│ System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()\r\n   at
│ System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task
│ task)\r\n   at
│ Microsoft.Web.ControlPlane.Stamp.WebCloudController.<>c__DisplayClass388_1.<<UpdateSiteSourceControl>b__1>d.MoveNext()
│ in
│ /_/src/ControlPlane/Stamp/Microsoft.Web.ControlPlane.Stamp/Controllers/WebCloudController.cs:line
│ 11278\r\n--- End of stack trace from previous location where exception was
│ thrown ---\r\n   at
│ System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()\r\n   at
│ System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task
│ task)\r\n   at Microsoft.Web.Hosting.AsyncHelper.RunSync[TResult](Func`1
│ func) in /_/src/Hosting/Microsoft.Web.Hosting/Utilities/AsyncHelper.cs:line
│ 27\r\n   at
│ Microsoft.Web.ControlPlane.Stamp.WebCloudController.UpdateSiteSourceControl(String
│ subscriptionName, String webspaceName, String name, SiteSourceControl
│ siteSourceControl) in
│ /_/src/ControlPlane/Stamp/Microsoft.Web.ControlPlane.Stamp/Controllers/WebCloudController.cs:line
│ 11273."***],"Innererror":null***
╵
Azure App Configuration
Azure App Configuration

An Azure service that provides hosted, universal storage for Azure app configurations.

0 comments No comments

Answer accepted by question author
Allan Solomon Mejia 8,170 Reputation points
2026-08-18T00:33:03.2833333+00:00

Hello @Charanjit Singh

Based on the error, I agree that this does not appear to be a GitHub PAT, repository, or branch issue.

The important part of the exception is:

UpdateSiteSourceControl → GetSSHKey → ensurePublicKey=True → 50-second timeout

The request times out against an internal App Service/Kudu endpoint while Azure tries to obtain or generate the SSH key. Since the same private repository and PAT work when configured through Deployment Center, this further suggests the failure occurs during the App Service source-control provisioning operation rather than GitHub authentication.

A few things I would check:

Confirm the SCM/Kudu endpoint is healthy:

https://<app-name>.scm.azurewebsites.net

You can also check App Service → Diagnose and solve problems for availability or deployment-related issues.

Check whether SCM access restrictions, Private Endpoint configuration, or scmIpSecurityRestrictions are configured on the Web App. App Service supports separate access restrictions for the SCM/Kudu site, so it's worth ruling these out.

Check the current source-control state:

az webapp deployment source show \
  --name <app-name> \
  --resource-group <resource-group>

If Terraform previously failed halfway through configuration, verify that it didn't leave a partial/stale source-control configuration before retrying.

As a diagnostic test, try configuring the same source-control settings using Azure CLI:

az webapp deployment source config \
  --name <app-name> \
  --resource-group <resource-group> \
  --repo-url <repository-url> \
  --branch <branch>

If this produces the same GetSSHKey timeout, that would further isolate the issue from Terraform and point toward the App Service control plane/backend operation.

Since you have reproduced this in Central India and UK South, and Deployment Center succeeds while the automated UpdateSiteSourceControl operation times out, I would recommend opening a Microsoft support case if the CLI/API test reproduces it. Include the Correlation ID, timestamp, subscription/resource details, regions tested, and the complete ExtendedCode 05007 exception so the App Service team can trace the backend request.

I would avoid repeatedly changing the GitHub PAT at this stage. The exception shows Azure timing out while retrieving the SSH key, not GitHub rejecting the credentials.

Sharing these references with you:

Configure continuous deployment for Azure App Service | https://learn.microsoft.com/en-us/azure/app-service/deploy-continuous-deployment

Azure CLI – az webapp deployment source | https://learn.microsoft.com/en-us/cli/azure/webapp/deployment/source?view=azure-cli-latest

App Service Source Control REST API | https://learn.microsoft.com/en-us/rest/api/appservice/web-apps/create-or-update-source-control?view=rest-appservice-2025-05-01

Please "Accept the Answer" if this information helped you. This will help us and others in the community as well.

Was this answer helpful?

1 person found this answer helpful.

0 additional answers

Sort by: Oldest

Your answer

Answers can be marked as 'Accepted' by the question author and 'Recommended' by moderators, which helps users know the answer solved the author's problem.