private static void Main(string[] args) { Console.WriteLine("Hello World!"); var vstsUrl = ConfigurationManager.AppSettings["VSTS_URL"]; var vstsUserName = ConfigurationManager.AppSettings["VSTS_USERNAME"]; var vstsPassword = ConfigurationManager.AppSettings["VSTS_PASSWORD"]; var client = new VsClient(new Uri(vstsUrl), new VssBasicCredential(vstsUserName, vstsPassword)); var workItems = new WorkItems(client); var result = workItems.RunQuery(@"SELECT[Id], [Title], [State] FROM workitems WHERE[Work Item Type] = 'Bug'"); if (result != null) { foreach (var item in result.WorkItems) { Console.WriteLine(item.Id); } } }
public void CL_WorkItemTracking_RecycleBin_GetDeletedItem_Success() { // arrange RecycleBin recycleBin = new RecycleBin(_configuration); WorkItems workItems = new WorkItems(_configuration); // act ////create workitem, delete them, get from bin by id var item = workItems.CreateWorkItem(_configuration.Project); workItems.DeleteWorkItem(Convert.ToInt32(item.Id)); var result = recycleBin.GetDeletedItem(Convert.ToInt32(item.Id)); //assert Assert.IsNotNull(result); Assert.AreEqual(result.Id, item.Id); }
public override void DeleteItem() { List <WorkItem> workItems = WorkItems.ToList(); foreach (WorkItem workItem in workItems) { if (workItem.IsResolvedAnyResolution) { workItem.CloseItem(); } else if (workItem.IsActive) { workItem.DeleteItem(); } } base.DeleteItem(); }
public void WorkItemTracking_WorkItems_AddHyperLink_Success() { // arrange WorkItems workItems = new WorkItems(_configuration); // act var result = workItems.AddHyperLink(_configuration.WorkItemId); // assert if (result.ToLower().Contains("relation already exists")) { Assert.Inconclusive("Link already exists on bug"); } else { Assert.AreEqual("success", result); } }
public int UpdateWorkItem(IWorkflowItem entity) { return(LockExecute <int>(() => { if (entity.ItemId >= 10000) { WorkItemsRead.Remove(entity); WorkItemsRead.Add(entity); return Dao.Get().Update <WorkflowItemRead>(entity); } else { WorkItems.Remove(entity); WorkItems.Add(entity); return Dao.Get().Update <WorkflowItem>(entity); } })); }
private async Task ExecuteCore() { DirectoryInfo directory = Directory.CreateDirectory(Path.Combine(OutputDirectory, JobId)); using (FileStream stream = File.Open(Path.Combine(directory.FullName, MetadataFile), FileMode.Create, FileAccess.Write)) using (var writer = new StreamWriter(stream)) { foreach (ITaskItem metadata in MetadataToWrite) { await writer.WriteLineAsync(metadata.GetMetadata("Identity")); } } ResultsContainer = ResultsContainer.EndsWith("/") ? ResultsContainer : ResultsContainer + "/"; await Task.WhenAll(WorkItems.Select(wi => DownloadFilesForWorkItem(wi, directory.FullName, _cancellationSource.Token))); return; }
public void CL_WorkItemTracking_WorkItems_GetWorkItemsWithLinksAndAttachments_Success() { // arrange WorkItems workItems = new WorkItems(_configuration); var split = _configuration.WorkItemIds.Split(','); var ids = new List <int>(); foreach (string item in split) { ids.Add(Convert.ToInt32(item)); } // act var result = workItems.GetWorkItemsWithLinksAndAttachments(ids); //assert Assert.IsNotNull(result); }
private async Task <IEnumerable <CodeHubWorkItem> > SearchWorkItems(string searchText) { if (CodeHubMode) { return(GetCodeHubWorkItems()); } searchText ??= "".ToLower(); return(await Task.FromResult(WorkItems.Where(item => item.Id.ToString().Contains(searchText, StringComparison.InvariantCultureIgnoreCase) || item.Title != null && item.Title.ToLower().Contains(searchText, StringComparison.InvariantCultureIgnoreCase) || item.AssignedTo != null && item.AssignedTo.ToLower().Contains(searchText, StringComparison.InvariantCultureIgnoreCase) || item.WorkItemType != null && item.WorkItemType.ToLower().Contains(searchText, StringComparison.InvariantCultureIgnoreCase) || item.Project != null && item.Project.ToLower().Contains(searchText, StringComparison.InvariantCultureIgnoreCase) || item.State != null && item.State.ToLower().Contains(searchText, StringComparison.InvariantCultureIgnoreCase) || (item.ProviderType == StaticWorkProviderTypes.DevOps && item.Parent != null && item.Parent.Title.Contains(searchText, StringComparison.InvariantCultureIgnoreCase)) || (item.ProviderType == StaticWorkProviderTypes.DevOps && item.Parent?.Parent != null && item.Parent.Parent.Title.Contains(searchText, StringComparison.InvariantCultureIgnoreCase)) ).OrderByDescending(s => s.ChangedDate).ToList())); }
public void WorkItemTracking_RecycleBin_GetDeletedItem_Success() { // arrange WorkItems workItemsRequest = new WorkItems(_configuration); RecycleBin recyclebinRequest = new RecycleBin(_configuration); // act WorkItemPatchResponse.WorkItem createResponse = workItemsRequest.CreateWorkItem(_configuration.Project); WorkItemPatchResponse.WorkItem deleteResponse = workItemsRequest.DeleteWorkItem(createResponse.id.ToString()); GetItemFromRecycleBinResponse.WorkItem getDeletedItemResponse = recyclebinRequest.GetDeletedItem(_configuration.Project, createResponse.id.ToString()); //assert Assert.AreEqual(HttpStatusCode.OK, createResponse.HttpStatusCode); Assert.AreEqual(HttpStatusCode.OK, deleteResponse.HttpStatusCode); Assert.AreEqual(HttpStatusCode.OK, getDeletedItemResponse.HttpStatusCode); workItemsRequest = null; recyclebinRequest = null; }
public void CL_WorkItemTracking_WorkItems_UpdateWorkItemUpdateLink_Success() { // arrange WorkItems workItems = new WorkItems(_configuration); // act var createOneResult = workItems.CreateWorkItem(_configuration.Project); var createTwoResult = workItems.CreateWorkItem(_configuration.Project); var id = createOneResult.Id ?? default(int); var linkToId = createTwoResult.Id ?? default(int); var updateLinkResult = workItems.UpdateWorkItemAddLink(id, linkToId); var updateResult = workItems.UpdateWorkItemUpdateLink(id); //assert Assert.IsNotNull(createOneResult); Assert.IsNotNull(createTwoResult); Assert.IsNotNull(updateResult); }
public void CL_WorkItemTracking_RecycleBin_RestoreItem_Success() { // arrange RecycleBin recycleBin = new RecycleBin(_configuration); WorkItems workItems = new WorkItems(_configuration); // act ////create workitem, delete it, restore it, get it var item = workItems.CreateWorkItem(_configuration.Project); workItems.DeleteWorkItem(Convert.ToInt32(item.Id)); var restoreResult = recycleBin.RestoreItem(Convert.ToInt32(item.Id)); var getResult = workItems.GetWorkItem(Convert.ToInt32(item.Id)); //assert Assert.IsNotNull(getResult); Assert.AreEqual(getResult.Id, item.Id); }
public void CL_WorkItemTracking_WorkItems_GetWorkItemsAsOfDate_Success() { // arrange WorkItems workItems = new WorkItems(_configuration); var asOfDate = new DateTime().AddDays(-30); var split = _configuration.WorkItemIds.Split(','); var ids = new List <int>(); foreach (string item in split) { ids.Add(Convert.ToInt32(item)); } // act var result = workItems.GetWorkItemsAsOfDate(ids, asOfDate); //assert Assert.IsNotNull(result); }
internal static async Task <Tuple <WorkItems, string> > GetWorkItemData(string queryId, List <Tuple <string, string, string> > filters) { string query = await GetQueryWiql(queryId); if (filters != null) { foreach (var item in filters) { if (item != null && !string.IsNullOrEmpty(item.Item1) && !string.IsNullOrEmpty(item.Item1)) { query = query.Replace("where", string.Format(@"where [{0}] {1} ""{2}"" and", item.Item1, item.Item2, item.Item3)); } } } var wiqlClass = new QueryWiql { query = query }; string queryClass = JsonConvert.SerializeObject(wiqlClass, Formatting.None); string workItemsString = await HttpProvider.PostHttpRequest("Enterprise/_apis/wit/wiql?api-version=2.2", queryClass); var workItems = (JObject)JsonConvert.DeserializeObject(workItemsString); string queryType = workItems["queryType"].Value <string>(); WorkItems workItemsData = default(WorkItems); switch (queryType) { case "flat": workItemsData = JsonConvert.DeserializeObject <Flat>(workItemsString); break; case "OneHop": workItemsData = JsonConvert.DeserializeObject <OneHop>(workItemsString); break; case default(string): break; } return(new Tuple <WorkItems, string>(workItemsData, query)); }
public void WorkItemTracking_WorkItems_AddCommitLink_Success() { // arrange WorkItems request = new WorkItems(_configuration); // act WorkItemPatchResponse.WorkItem response = request.UpdateWorkItemAddCommitLink("3045"); // assert if (response.Message.ToLower().Contains("relation already exists")) { Assert.Inconclusive("Commit link already exists on bug"); } else { Assert.AreEqual(HttpStatusCode.OK, response.HttpStatusCode); } request = null; }
public void CL_WorkItemTracking_WorkItems_UpdateWorkItemRemoveLink_Success() { // arrange WorkItems workItems = new WorkItems(_configuration); // act var createOneResult = workItems.CreateWorkItem(_configuration.Project); //create wi 1 var createTwoResult = workItems.CreateWorkItem(_configuration.Project); //creaet wi 2 var id = createOneResult.Id ?? default(int); var linkToId = createTwoResult.Id ?? default(int); var updateResult = workItems.UpdateWorkItemAddLink(id, linkToId); //link on wi #1 to wi #2 var removeResult = workItems.UpdateWorkItemRemoveLink(id); //remove link from wi #1 //assert Assert.IsNotNull(createOneResult); Assert.IsNotNull(createTwoResult); Assert.IsNotNull(updateResult); Assert.IsNotNull(removeResult); }
internal string GetStatus() { if (WorkItems.All(wi => wi.State == StateEnum.Completed)) { return("Completed"); } if (WorkItems.Any(wi => wi.State == StateEnum.Active)) { return("Active"); } if (WorkItems.All(wi => wi.State == StateEnum.Waiting)) { return("Waiting"); } if (WorkItems.All(wi => wi.State == StateEnum.Cancelled)) { return("Cancelled"); } return("Unknown"); }
private void BuildBacklogItemsList(IConfiguration configuration) { List <String> backlogItemTypes = configuration.BacklogItems; if (!String.IsNullOrEmpty(configuration.SortFieldName)) { if (configuration.SortDirection == SortDirection.Ascending) { BackLogItems = WorkItems.Cast <WorkItem>().Where(item => backlogItemTypes.Contains(item.Type.Name) && item.Fields.Contains(configuration.SortFieldName)).OrderBy(b => b.Fields[configuration.SortFieldName].Value).ToList(); } else { BackLogItems = WorkItems.Cast <WorkItem>().Where(item => backlogItemTypes.Contains(item.Type.Name) && item.Fields.Contains(configuration.SortFieldName)).OrderByDescending(b => b.Fields[configuration.SortFieldName].Value).ToList(); } } else { BackLogItems = WorkItems.Cast <WorkItem>().Where(item => backlogItemTypes.Contains(item.Type.Name)).ToList(); } }
public void WorkItemTracking_WorkItems_GetWorkItemFullyExpanded_Success() { // arrange WorkItems request = new WorkItems(_configuration); // act var response = request.GetWorkItemFullyExpanded(_configuration.WorkItemId); // assert if (response.HttpStatusCode == HttpStatusCode.NotFound) { Assert.Inconclusive("work item '" + _configuration.WorkItemId + "' not found"); } else { Assert.AreEqual(HttpStatusCode.OK, response.HttpStatusCode); } request = null; }
public void WorkItemTracking_WorkItems_GetWorkItemsWithLinksAndAttachments_Success() { // arrange WorkItems request = new WorkItems(_configuration); // act GetWorkItemsWithLinksAndAttachmentsResponse.WorkItems response = request.GetWorkItemsWithLinksAndAttachments(_configuration.WorkItemIds); // assert if (response.HttpStatusCode == HttpStatusCode.NotFound) { Assert.Inconclusive("work items '" + _configuration.WorkItemIds + "' not found"); } else { Assert.AreEqual(HttpStatusCode.OK, response.HttpStatusCode); } request = null; }
public void WorkItemTracking_WorkItems_GetDefaultValues_Success() { // arrange WorkItems request = new WorkItems(_configuration); // act var response = request.GetDefaultValues("Task", _configuration.Project); // assert if (response.HttpStatusCode == HttpStatusCode.NotFound) { Assert.Inconclusive("work item type not found"); } else { Assert.AreEqual(HttpStatusCode.OK, response.HttpStatusCode); } request = null; }
public void WorkItemTracking_WorkItems_MoveWorkItem_Success() { // arrange WorkItems request = new WorkItems(_configuration); string areaPath = _configuration.MoveToProject; // user project name for root area path string iterationPath = _configuration.MoveToProject; // use project name for root iteration path // act WorkItemPatchResponse.WorkItem response = request.MoveWorkItem(_configuration.WorkItemId, _configuration.MoveToProject, areaPath, iterationPath); // assert Assert.AreEqual(HttpStatusCode.OK, response.HttpStatusCode); Assert.AreEqual(response.fields.SystemAreaPath, areaPath); Assert.AreEqual(response.fields.SystemIterationPath, iterationPath); // move back WorkItemPatchResponse.WorkItem movebackResponse = request.MoveWorkItem(_configuration.WorkItemId, _configuration.Project, _configuration.Project, _configuration.Project); Assert.AreEqual(HttpStatusCode.OK, movebackResponse.HttpStatusCode); request = null; }
private void button1_Click(object sender, EventArgs e) { var item = new WorkItems() { Title = textBox1.Text, Description = textBox2.Text, //AssigneeId = (int)comboBox1.SelectedValue }; var result = workItemservice.CreateWorkItem(item); if (result.Item1) { Refreshworkitems(); ResetForm(); //comboBox1.SelectedIndex = 0; } else { MessageBox.Show(result.Item2); } }
public void ResetWorkItemTimesForMonthView() { WorkItems.Clear(); TempDragItems.ForEach(wi => { WorkScheduleItem temp = new WorkScheduleItem { Id = wi.Id, Color = wi.Color, Department = wi.Department, From = wi.From, To = wi.From + (wi.OriginalEndDate - wi.OriginalStartDate), ItemName = wi.ItemName, FromTime = wi.FromTime, ToTime = wi.ToTime, Description = wi.Description, IsAllDay = wi.IsAllDay, EstimatedBoardFeet = wi.EstimatedBoardFeet }; WorkItems.Add(temp); }); }
private async void Refresh(object sender, RoutedEventArgs e) { foreach (var item in WorkItems) { item.PropertyChanged -= new PropertyChangedEventHandler(OnWorkItemCostingPropertyChanged); } WorkItems.Clear(); CompletedWorkItems.Clear(); var result = _lastResult = await Logic.GetWorkItemsByQuery(); if (result != null) { // Combine both source lists into a single WorkItems list foreach (var item in result.WorkItems) { WorkItems.Add(item); item.PropertyChanged += new PropertyChangedEventHandler(OnWorkItemCostingPropertyChanged); } foreach (var item in result.CompletedWorkItems) { WorkItems.Add(item); item.PropertyChanged += new PropertyChangedEventHandler(OnWorkItemCostingPropertyChanged); } AuditIssues.Clear(); foreach (var issue in result.AuditIssues) { AuditIssues.Add(issue); } } UpdateCosts(); Regroup(); UpdateDirty(); }
private void ObterWorkItems() { // Recupera os últimos work items de um projeto específico no azure devops e grava no banco de dados. var ultimoId = _repository.ObterUltimoIdWorkItem(); var workItems = _azureDevOpsService.ObterWorkItems(ultimoId); foreach(var item in workItems) { var workItem = new WorkItems { Id = item.Id, Tipo = item.Tipo, Titulo = item.Titulo, Data = item.Data }; _repository.IncluirWorkItem(workItem); } var works = _repository.ListarWorkitems(); }
private void button1_Click(object sender, EventArgs e) { var item = new WorkItems() { Title = textBox1.Text, Description = textBox2.Text, }; var result = workItemService.CreateWorkItem(item); if (result.Item1) { //success message RefreshWorkITems(); ResetForm(); //comboBox1.SelectedIndex = 0; } else { MessageBox.Show(result.Item2); } }
public void CL_WorkItemTracking_WorkItems_UpdateWorkItemAddAttachment_Success() { string filePath = @"D:\Temp\Test.txt"; if (!File.Exists(filePath)) { Assert.Inconclusive("File path '" + filePath + "' not found"); } // arrange WorkItems workItems = new WorkItems(_configuration); // act var createOneResult = workItems.CreateWorkItem(_configuration.Project); var id = createOneResult.Id ?? default(int); var updateResult = workItems.UpdateWorkItemAddAttachment(id, @"D:\Temp\Test.txt"); //assert Assert.IsNotNull(createOneResult); Assert.IsNotNull(updateResult); }
public int UpdateWorkItem(IList <IWorkflowItem> entities) { return(LockExecute <int>(() => { int effectCount = 0; foreach (var entity in entities) { if (entity.ItemId >= 10000) { WorkItemsRead.Remove(entity); WorkItemsRead.Add(entity); effectCount += Dao.Get().Update <WorkflowItemRead>(entity); } else { WorkItems.Remove(entity); WorkItems.Add(entity); effectCount += Dao.Get().Update <WorkflowItem>(entity); } } return effectCount; })); }
public List <string> GetLevelCode(string levelCodePrefix, int count) { return(LockExecute <List <string> >(() => { List <string> returnValue = new List <string>(); var allItem = WorkItems.OrderByDescending(o => o.ItemId); //这里获取的结果是对TASKID从大到小排 int result = 0; foreach (var item in allItem) { if (item.LevelCode.StartsWith(levelCodePrefix)) { result = int.Parse(item.LevelCode.Substring(levelCodePrefix.Length)); break; } } for (int i = 1; i <= count; i++) { returnValue.Add(levelCodePrefix + (result + i).ToString().PadLeft(2, '0')); } return returnValue; })); }
public void WorkItemTracking_WorkItems_UpdateWorkItemRemoveAttachment_Success() { // arrange WorkItems request = new WorkItems(_configuration); Attachments attachmentsRequest = new Attachments(_configuration); // act //upload attachment var attachmentReference = attachmentsRequest.UploadAttachmentBinaryFile(_configuration.FilePath); //create work item then add attachment to that work item WorkItemPatchResponse.WorkItem createResponse = request.CreateWorkItem(_configuration.Project); WorkItemPatchResponse.WorkItem addAttachmentResponse = request.UpdateWorkItemAddAttachment(createResponse.id.ToString(), attachmentReference.url); WorkItemPatchResponse.WorkItem removeAttachmentResponse = request.UpdateWorkItemRemoveAttachment(createResponse.id.ToString()); // assert Assert.AreEqual(HttpStatusCode.OK, createResponse.HttpStatusCode); Assert.AreEqual(HttpStatusCode.OK, addAttachmentResponse.HttpStatusCode); Assert.AreEqual(HttpStatusCode.OK, removeAttachmentResponse.HttpStatusCode); request = null; attachmentsRequest = null; }