thomasrayner / BroomBot

Azure DevOps Pull Request Minder
MIT License
17 stars 6 forks source link

Error In Azure Devops when a repository is disabled #28

Open sheldonhull opened 2 years ago

sheldonhull commented 2 years ago

I believe marking a repository as disabled breaks this function.

I noticed failures in the eventlog.xml due to unable to access a repository that does show up when running az repos list. However, this repository was marked disabled, and is breaking the GitHttpClient.GetRepositoriesAsync call.

</Data>.... Application: w3wp.exe
CoreCLR Version: 4.700.21.35901
.NET Core Version: 3.1.18
Description: The process was terminated due to an unhandled exception.
Exception Info: Microsoft.VisualStudio.Services.Common.VssServiceException: TF401019: The Git repository with name or identifier {REDACTED_GUID_HERE} does not exist or you do not have permissions for the operation you are attempting.
   at Microsoft.VisualStudio.Services.WebApi.VssHttpClientBase.HandleResponseAsync(HttpResponseMessage response, CancellationToken cancellationToken)
   at Microsoft.VisualStudio.Services.WebApi.VssHttpClientBase.SendAsync(HttpRequestMessage message, HttpCompletionOption completionOption, Object userState, CancellationToken cancellationToken)
   at Microsoft.VisualStudio.Services.WebApi.VssHttpClientBase.SendAsync[T](HttpRequestMessage message, Object userState, CancellationToken cancellationToken)
   at Microsoft.VisualStudio.Services.WebApi.VssHttpClientBase.SendAsync[T](HttpMethod method, IEnumerable`1 additionalHeaders, Guid locationId, Object routeValues, ApiResourceVersion version, HttpContent content, IEnumerable`1 queryParameters, Object userState, CancellationToken cancellationToken)
   at BroomBot.BroomBotUtils.GetPullRequests(GitHttpClient gitClient, String project) in /home/vsts/work/1/s/BroomBot/BroomBotUtils.cs:line 24
   at BroomBot.SweepBroom.Run(TimerInfo myTimer, ILogger log).......

EDIT: Confirmed this is the issue. Now that I renabled the repo, the eventlog is correctly showing pull requests being processed.

I'd be fine if we could just have a disable app error log as a warning instead of a terminating error.

thomasrayner commented 2 years ago

I believe marking a repository as disabled breaks this function.

I noticed failures in the eventlog.xml due to unable to access a repository that does show up when running az repos list. However, this repository was marked disabled, and is breaking the GitHttpClient.GetRepositoriesAsync call.

</Data>.... Application: w3wp.exe
CoreCLR Version: 4.700.21.35901
.NET Core Version: 3.1.18
Description: The process was terminated due to an unhandled exception.
Exception Info: Microsoft.VisualStudio.Services.Common.VssServiceException: TF401019: The Git repository with name or identifier {REDACTED_GUID_HERE} does not exist or you do not have permissions for the operation you are attempting.
   at Microsoft.VisualStudio.Services.WebApi.VssHttpClientBase.HandleResponseAsync(HttpResponseMessage response, CancellationToken cancellationToken)
   at Microsoft.VisualStudio.Services.WebApi.VssHttpClientBase.SendAsync(HttpRequestMessage message, HttpCompletionOption completionOption, Object userState, CancellationToken cancellationToken)
   at Microsoft.VisualStudio.Services.WebApi.VssHttpClientBase.SendAsync[T](HttpRequestMessage message, Object userState, CancellationToken cancellationToken)
   at Microsoft.VisualStudio.Services.WebApi.VssHttpClientBase.SendAsync[T](HttpMethod method, IEnumerable`1 additionalHeaders, Guid locationId, Object routeValues, ApiResourceVersion version, HttpContent content, IEnumerable`1 queryParameters, Object userState, CancellationToken cancellationToken)
   at BroomBot.BroomBotUtils.GetPullRequests(GitHttpClient gitClient, String project) in /home/vsts/work/1/s/BroomBot/BroomBotUtils.cs:line 24
   at BroomBot.SweepBroom.Run(TimerInfo myTimer, ILogger log).......

EDIT: Confirmed this is the issue. Now that I renabled the repo, the eventlog is correctly showing pull requests being processed.

I'd be fine if we could just have a disable app error log as a warning instead of a terminating error.

Hey, @sheldonhull that's a great catch. I recently started a new full-time role and my ability to maintain this project has been a little limited. I appreciate you raising this and will add a check for disabled repos when I next get a chance.

pawanprakashpal commented 1 year ago

Do we have any solution for the above issue?

thomasrayner commented 1 year ago

@pawanprakashpal sorry for the delay in responding. As you might be able to tell, this is a pet project that doesn't enjoy the benefit of my full attention. There's no update on this issue. I'm hoping to set some time aside in a future hackathon to focus on it.