static async Task CreateBuildTarget(List <Options2> optionList) { var buildTargetsApi = new UnityCloudBuildApi.IO.Swagger.Api.BuildtargetsApi(config); // Get BuildTargets for list BuildTargetId var buildTargets = await ConsideringRateLimitWith(async() => await buildTargetsApi.GetBuildTargetsAsync(OrgId, ProjectId)); var existsTargetIdByName = buildTargets.ToDictionary(x => x.Name); for (int i = 0; i < optionList.Count;) { var opt2 = optionList[i]; if (existsTargetIdByName.ContainsKey(opt2.Name)) { //Update build target var target = existsTargetIdByName[opt2.Name]; Debug.WriteLine("Update build target: " + opt2.Name + ", " + target.Buildtargetid); var opt3 = new Options3(); opt3.Name = opt2.Name; opt3.Platform = opt2.Platform; opt3.Enabled = opt2.Enabled; opt3.Settings = opt2.Settings; opt3.Credentials = opt2.Credentials; await ConsideringRateLimitWith(async() => await buildTargetsApi.UpdateBuildTargetAsync(OrgId, ProjectId, target.Buildtargetid, opt3)); } else { // Add Build Target Debug.WriteLine("Add build target: " + opt2.Name); await ConsideringRateLimitWith(async() => await buildTargetsApi.AddBuildTargetAsync(OrgId, ProjectId, opt2)); } i++; } }
public static async Task <string[]> StartBuild(StartaBuildParam param) { Debug.WriteLine("StartBuild with: " + param); var buildTargetsApi = new UnityCloudBuildApi.IO.Swagger.Api.BuildtargetsApi(config); Debug.WriteLine("StartBuild 1"); // Get BuildTargets for list BuildTargetId var buildTargets = await buildTargetsApi.GetBuildTargetsAsync(OrgId, ProjectId, "settings"); Debug.WriteLine("StartBuild 2"); var targets = from x in buildTargets where x.Platform == param.Platform where x.Settings != null && x.Settings.Advanced != null && x.Settings.Advanced.Unity != null let symbolsStr = x.Settings.Advanced.Unity.ScriptingDefineSymbols let symbolList = symbolsStr.Split(';') let release = symbolList.Contains("RELEASE") let realStore = symbolList.Contains("REAL_STORE") where release == param.ReleaseBuild where realStore == param.RealStore let relVer0 = symbolList.Contains("RELEASEVER_0") let relVer1 = symbolList.Contains("RELEASEVER_1") let relVer2 = symbolList.Contains("RELEASEVER_2") let relVer3 = symbolList.Contains("RELEASEVER_3") where (param.ReleaseVer == 3 && (relVer0 && relVer1 && relVer2 && relVer3)) || (param.ReleaseVer == 2 && (relVer0 && relVer1 && relVer2) && (!relVer3)) || (param.ReleaseVer == 1 && (relVer0 && relVer1) && (!relVer2 && !relVer3)) || (param.ReleaseVer == 0 && (relVer0) && (!relVer1 && !relVer2 && !relVer3)) select x; Debug.WriteLine("StartBuild 3: " + targets.Count()); var buildApi = new UnityCloudBuildApi.IO.Swagger.Api.BuildsApi(config); foreach (var target in targets) { var opt4 = new Options4 { Clean = param.CleanBuild, Delay = 0, }; Debug.WriteLine("Build: " + target.Buildtargetid); await buildApi.StartBuildsAsync(OrgId, ProjectId, target.Buildtargetid, opt4); } Debug.WriteLine("StartBuild 4: "); return(targets.Select(x => x.Name).ToArray()); }
static async Task <List <InlineResponse2003> > TestBuildTargetApi(Configuration config, string orgId, string projectId) { #region BuildTarget Api // Add Build Target var buildTargetApi = new UnityCloudBuildApi.IO.Swagger.Api.BuildtargetsApi(config); var option2 = new Options2 { Platform = "android", Name = "Test", Enabled = false, Settings = new OrgsorgidprojectsprojectidbuildtargetsSettings { Platform = new OrgsorgidprojectsprojectidbuildtargetsSettingsPlatform { BundleId = "com.hoge.fuga" }, AutoBuild = true, Scm = new OrgsorgidprojectsprojectidbuildtargetsSettingsScm { Branch = "master", Type = "git" }, UnityVersion = "latest", }, }; var newBuildTarget = await buildTargetApi.AddBuildTargetAsync(orgId, projectId, option2); var hoge = newBuildTarget.ToJson(); // Get BuildTargets for list BuildTargetId var buildTargets = await buildTargetApi.GetBuildTargetsAsync(orgId, projectId); var fuga = buildTargets.Select(x => x.ToJson()).ToArray(); // Get BuildTarget Info var buildTarget = await buildTargetApi.GetBuildTargetAsync(orgId, projectId, buildTargets.FirstOrDefault().Buildtargetid); var piyo = buildTarget.ToJson(); #endregion return(buildTargets); }
static async Task RemoveBuildTarget() { var buildTargetsApi = new UnityCloudBuildApi.IO.Swagger.Api.BuildtargetsApi(config); // Get BuildTargets for list BuildTargetId var buildTargets = await ConsideringRateLimitWith(async() => await buildTargetsApi.GetBuildTargetsAsync(OrgId, ProjectId)); for (int i = 0; i < buildTargets.Count;) { var buildTarget = buildTargets[i]; if (buildTarget.Name.IndexOf(BuildDefinition.NamePrefix) >= 0) { Debug.WriteLine("Delete build target: " + buildTarget.Name); await ConsideringRateLimitWith( async() => await buildTargetsApi.DeleteBuildTargetAsync(OrgId, ProjectId, buildTarget.Buildtargetid) ); } i++; } }