mirror of
https://github.com/actions/runner.git
synced 2025-12-25 02:47:19 +08:00
Support refresh runner configs with pipelines service. (#3706)
This commit is contained in:
@@ -23,8 +23,8 @@ using System.IO;
|
||||
using System.IO.Compression;
|
||||
using System.Linq;
|
||||
using System.Net.Http;
|
||||
using System.Net.Http.Headers;
|
||||
using System.Net.Http.Formatting;
|
||||
using System.Net.Http.Headers;
|
||||
using System.Threading;
|
||||
using System.Threading.Tasks;
|
||||
using GitHub.Services.Common;
|
||||
@@ -827,5 +827,36 @@ namespace GitHub.DistributedTask.WebApi
|
||||
userState: userState,
|
||||
cancellationToken: cancellationToken);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// [Preview API]
|
||||
/// </summary>
|
||||
/// <param name="agentId"></param>
|
||||
/// <param name="configType"></param>
|
||||
/// <param name="encodedRunnerConfig"></param>
|
||||
/// <param name="userState"></param>
|
||||
/// <param name="cancellationToken">The cancellation token to cancel operation.</param>
|
||||
[EditorBrowsable(EditorBrowsableState.Never)]
|
||||
public virtual Task<string> RefreshRunnerConfigAsync(
|
||||
int agentId,
|
||||
string configType,
|
||||
string encodedRunnerConfig,
|
||||
object userState = null,
|
||||
CancellationToken cancellationToken = default)
|
||||
{
|
||||
HttpMethod httpMethod = new HttpMethod("POST");
|
||||
Guid locationId = new Guid("13b5d709-74aa-470b-a8e9-bf9f3ded3f18");
|
||||
object routeValues = new { agentId = agentId, configType = configType };
|
||||
HttpContent content = new ObjectContent<string>(encodedRunnerConfig, new VssJsonMediaTypeFormatter(true));
|
||||
|
||||
return SendAsync<string>(
|
||||
httpMethod,
|
||||
locationId,
|
||||
routeValues: routeValues,
|
||||
version: new ApiResourceVersion(6.0, 1),
|
||||
userState: userState,
|
||||
cancellationToken: cancellationToken,
|
||||
content: content);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
58
src/Sdk/DTWebApi/WebApi/RunnerRefreshConfigMessage.cs
Normal file
58
src/Sdk/DTWebApi/WebApi/RunnerRefreshConfigMessage.cs
Normal file
@@ -0,0 +1,58 @@
|
||||
using System;
|
||||
using System.Runtime.Serialization;
|
||||
using GitHub.Services.WebApi;
|
||||
using Newtonsoft.Json;
|
||||
|
||||
namespace GitHub.DistributedTask.WebApi
|
||||
{
|
||||
[DataContract]
|
||||
public sealed class RunnerRefreshConfigMessage
|
||||
{
|
||||
public static readonly String MessageType = "RunnerRefreshConfig";
|
||||
|
||||
[JsonConstructor]
|
||||
internal RunnerRefreshConfigMessage()
|
||||
{
|
||||
}
|
||||
|
||||
public RunnerRefreshConfigMessage(
|
||||
string runnerQualifiedId,
|
||||
string configType,
|
||||
string serviceType,
|
||||
string configRefreshUrl)
|
||||
{
|
||||
this.RunnerQualifiedId = runnerQualifiedId;
|
||||
this.ConfigType = configType;
|
||||
this.ServiceType = serviceType;
|
||||
this.ConfigRefreshUrl = configRefreshUrl;
|
||||
}
|
||||
|
||||
[DataMember(Name = "runnerQualifiedId")]
|
||||
public String RunnerQualifiedId
|
||||
{
|
||||
get;
|
||||
private set;
|
||||
}
|
||||
|
||||
[DataMember(Name = "configType")]
|
||||
public String ConfigType
|
||||
{
|
||||
get;
|
||||
private set;
|
||||
}
|
||||
|
||||
[DataMember(Name = "serviceType")]
|
||||
public String ServiceType
|
||||
{
|
||||
get;
|
||||
private set;
|
||||
}
|
||||
|
||||
[DataMember(Name = "configRefreshURL")]
|
||||
public String ConfigRefreshUrl
|
||||
{
|
||||
get;
|
||||
private set;
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user