public static DevOpsBuild PollBuild([ActivityTrigger] string buildUrl, ILogger log) { log.LogInformation($"Polling the build URL: {buildUrl}..."); DevOpsBuild build = DevOpsHelper.GetBuildStatus(buildUrl, log).Result; return(build); }
public static DevOpsBuild QueueBuild([ActivityTrigger] DevOpsBuildContext buildContext, ILogger log) { log.LogInformation($"Kicking off a build for {buildContext.BuildTaskName}..."); string authToken = EnvironmentHelper.GetAuthToken(); DevOpsBuild build = DevOpsHelper.QueueDevOpsBuild(buildContext, authToken, log).Result; return(build); }
public async Task <string> SetItemToClosed(int workItemId) { string json = "[" + DevOpsHelper.WorkItemData("add", "/fields/System.State", "Closed") + "]"; var content = new StringContent(json, Encoding.UTF8, "application/json-patch+json"); var response = await _client.PatchAsync($"{_options.Uri}/{_projectId}/_apis/wit/workitems/{workItemId}?api-version=5.1", content); response.EnsureSuccessStatusCode(); return($"{_options.Uri}/{_projectId}/_workitems/edit/{workItemId}"); }
public static DevOpsArtifact GetBuildArtifact([ActivityTrigger] DevOpsArtifactContext artifactContext, ILogger log) { log.LogInformation($"Getting the build artifact info for {artifactContext.Agent}..."); try { DevOpsArtifact artifact = DevOpsHelper.GetBuildArtifact(artifactContext, log).Result; return(artifact); } catch (Exception) { // TODO: create a failed test series artifact and return it return(null); } }
public static void SetDirectoryPermission(string downloadDirectory) { var os = DevOpsHelper.GetOsPlatform(); if (os == OSPlatform.Windows) { var directoryInfo = new DirectoryInfo(downloadDirectory); var security = directoryInfo.GetAccessControl(); var domain = Environment.UserDomainName; var username = Environment.UserName; security.AddAccessRule(new FileSystemAccessRule($@"{domain}\{username}", FileSystemRights.FullControl, AccessControlType.Allow)); directoryInfo.SetAccessControl(security); } else if (new[] { OSPlatform.OSX, OSPlatform.Linux }.Contains(os)) { ShellHelper.Bash($"sudo chown {Environment.UserName} {downloadDirectory}"); } }
public WorkItemController(IOptions <AzureSettings> azureSettings, ConcurrentDictionary <string, ReleaseManagementTask> taskDetails) { this.graphHelper = new(azureSettings); this.devOpsHelper = new(azureSettings); this.taskDetails = taskDetails; }