tools/mcp/dotnet/AzureSDKDevToolsMCP/Models/ReleasePlan.cs (81 lines of code) (raw):

using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using Microsoft.VisualStudio.Services.WebApi.Patch; using Microsoft.VisualStudio.Services.WebApi.Patch.Json; namespace AzureSDKDSpecTools.Models { public class ReleasePlan { public int WorkItemId { get; set; } public string WorkItemUrl { get; set; } = string.Empty; public string ServiceTreeId { get; set; } = string.Empty; public string ProductTreeId { get; set; } = string.Empty; public string ProductName { get; set; } = string.Empty; public string Title { get; set; } = string.Empty; public string Description { get; set; } = string.Empty; public string Owner { get; set; } = string.Empty; public string Status { get; set; } = string.Empty; public List<string> SpecPullRequests { get; set; } = []; public string SDKReleaseMonth { get; set; } = string.Empty; public bool IsManagementPlane { get; set; } = false; public bool IsDataPlane { get; set; } = false; public string SpecAPIVersion { get; set; } = string.Empty; public string SpecType { get; set; } = string.Empty; public JsonPatchDocument GetPatchDocument() { var jsonDocument = new JsonPatchDocument() { new JsonPatchOperation { Operation = Operation.Add, Path = "/fields/Custom.ServiceTreeID", Value = ServiceTreeId }, new JsonPatchOperation { Operation = Operation.Add, Path = "/fields/Custom.ProductServiceTreeID", Value = ProductTreeId }, new JsonPatchOperation { Operation = Operation.Add, Path = "/fields/Custom.SDKReleaseMonth", Value = SDKReleaseMonth }, new JsonPatchOperation { Operation = Operation.Add, Path = "/fields/Custom.MgmtScope", Value = IsManagementPlane ? "Yes" : "No" }, new JsonPatchOperation { Operation = Operation.Add, Path = "/fields/Custom.DataScope", Value = IsDataPlane ? "Yes" : "No" }, new JsonPatchOperation { Operation = Operation.Add, Path = "/fields/Custom.APISpecDefinitionType", Value = SpecType }, new JsonPatchOperation { Operation = Operation.Add, Path = "/fields/Custom.APISpecversion", Value = SpecAPIVersion } }; return jsonDocument; } public static string WrapSpecPullRequestAsHref(string pullRequest) { return $"<a href=\"{pullRequest}\">{pullRequest}</a>"; } } }