## Build Step ```csharp #r "nuget:RestSharp" using System.IO.Compression; using System.Text.Json; using System.Linq; using RestSharp; using System.IO; using System; Console.WriteLine("*******************************************************"); Console.WriteLine("Working module ID is: " + Args[0]); Console.WriteLine("Working module file name is: " + Args[1]); Console.WriteLine("Working version is: " + Args[2]); Console.WriteLine("Client ID is: " + Args[3]); Console.WriteLine("API key is: " + Args[4]); Console.WriteLine("Working directory is: " + Args[5]); string startPath = Path.Combine(Args[5], "Output"); string zipPath = Path.Combine(Args[5], Args[1]); ZipFile.CreateFromDirectory(startPath, zipPath); Console.WriteLine("Archive path is: " + zipPath); var fileBytes = File.ReadAllBytes(zipPath); Console.WriteLine("Archive length is: " + (fileBytes.Length) + " bytes"); var client = new RestClient(); var request = new RestRequest("https://api-cp.nanonation.net/v1.0/NPSolutionService/NPModules/" + Args[0] + "/NPModuleVersions", Method.Post); request.AddHeader("ClientID", Args[3]); request.AddHeader("ApiKey", Args[4]); request.AlwaysMultipartFormData = true; request.AddFile("installerfile", zipPath); request.AddParameter("versionMajor", Args[2].Split('.')[0]); request.AddParameter("versionMinor", Args[2].Split('.')[1]); request.AddParameter("versionRevision", Args[2].Split('.')[2]); request.AddParameter("versionBuild", Args[2].Split('.')[3]); request.AddParameter("IsSignPublishTarget", "true"); var response = client.Execute(request); Console.WriteLine(response.Content); Console.WriteLine("*******************************************************"); ``` #c_sharp #teamcity #automation