From e0acb14bfc7a43c9f87449b7c8f62b7e529f5dd4 Mon Sep 17 00:00:00 2001 From: Tingluo Huang Date: Thu, 24 Aug 2023 21:02:55 -0400 Subject: [PATCH] Query runner by name on server side. (#2771) --- src/Runner.Common/RunnerDotcomServer.cs | 18 ++++++------------ 1 file changed, 6 insertions(+), 12 deletions(-) diff --git a/src/Runner.Common/RunnerDotcomServer.cs b/src/Runner.Common/RunnerDotcomServer.cs index dd80ea02f..b73b252e1 100644 --- a/src/Runner.Common/RunnerDotcomServer.cs +++ b/src/Runner.Common/RunnerDotcomServer.cs @@ -40,7 +40,7 @@ namespace GitHub.Runner.Common } - public async Task> GetRunnersAsync(int runnerGroupId, string githubUrl, string githubToken, string agentName = null) + public async Task> GetRunnersAsync(int runnerGroupId, string githubUrl, string githubToken, string agentName) { var githubApiUrl = ""; var gitHubUrlBuilder = new UriBuilder(githubUrl); @@ -50,11 +50,11 @@ namespace GitHub.Runner.Common // org runner if (UrlUtil.IsHostedServer(gitHubUrlBuilder)) { - githubApiUrl = $"{gitHubUrlBuilder.Scheme}://api.{gitHubUrlBuilder.Host}/orgs/{path[0]}/actions/runner-groups/{runnerGroupId}/runners"; + githubApiUrl = $"{gitHubUrlBuilder.Scheme}://api.{gitHubUrlBuilder.Host}/orgs/{path[0]}/actions/runners?name={Uri.EscapeDataString(agentName)}"; } else { - githubApiUrl = $"{gitHubUrlBuilder.Scheme}://{gitHubUrlBuilder.Host}/api/v3/orgs/{path[0]}/actions/runner-groups/{runnerGroupId}/runners"; + githubApiUrl = $"{gitHubUrlBuilder.Scheme}://{gitHubUrlBuilder.Host}/api/v3/orgs/{path[0]}/actions/runners?name={Uri.EscapeDataString(agentName)}"; } } else if (path.Length == 2) @@ -67,11 +67,11 @@ namespace GitHub.Runner.Common if (UrlUtil.IsHostedServer(gitHubUrlBuilder)) { - githubApiUrl = $"{gitHubUrlBuilder.Scheme}://api.{gitHubUrlBuilder.Host}/{path[0]}/{path[1]}/actions/runner-groups/{runnerGroupId}/runners"; + githubApiUrl = $"{gitHubUrlBuilder.Scheme}://api.{gitHubUrlBuilder.Host}/{path[0]}/{path[1]}/actions/runners?name={Uri.EscapeDataString(agentName)}"; } else { - githubApiUrl = $"{gitHubUrlBuilder.Scheme}://{gitHubUrlBuilder.Host}/api/v3/{path[0]}/{path[1]}/actions/runner-groups/{runnerGroupId}/runners"; + githubApiUrl = $"{gitHubUrlBuilder.Scheme}://{gitHubUrlBuilder.Host}/api/v3/{path[0]}/{path[1]}/actions/runners?name={Uri.EscapeDataString(agentName)}"; } } else @@ -80,14 +80,8 @@ namespace GitHub.Runner.Common } var runnersList = await RetryRequest(githubApiUrl, githubToken, RequestType.Get, 3, "Failed to get agents pools"); - var agents = runnersList.ToTaskAgents(); - if (string.IsNullOrEmpty(agentName)) - { - return agents; - } - - return agents.Where(x => string.Equals(x.Name, agentName, StringComparison.OrdinalIgnoreCase)).ToList(); + return runnersList.ToTaskAgents(); } public async Task> GetRunnerGroupsAsync(string githubUrl, string githubToken)