private void _create_Click(object sender, EventArgs e) { if (_summ.Text.Length == 0) { status("missing subject."); return; } int id = AssemblaTicket.Create(_space.Text, _user.Text, _pass.Text, _summ.Text, _desc.Text, AssemblaStatus.New, AssemblaPriority.Normal); if (id != 0) { if (attach) { if (!AssemblaDocument.Create(_space.Text, _user.Text, _pass.Text, path + SSFILE, id)) { status("screenshot failed."); } } if (_attachdataasfile) { if (!AssemblaDocument.Create(_space.Text, _user.Text, _pass.Text, path + DATAFILE, id)) { status("data attach failed."); } } System.Diagnostics.Process.Start(AssemblaTicket.GetTicketsUrl(_space.Text)); if (TicketSucceed != null) { TicketSucceed(); } } else { status("login failed."); if (TicketFailed != null) { TicketFailed(); } } }
/// <summary> /// get list of tickets on space (limited to first 1000) /// </summary> /// <param name="space"></param> /// <param name="user"></param> /// <param name="pw"></param> /// <returns></returns> public static List <AssemblaTicket> GetTickets(string space, string user, string pw, DebugDelegate deb) { List <AssemblaTicket> docs = new List <AssemblaTicket>(); try { string url = AssemblaTicket.GetTicketsUrl(space); string result; if (!qc.goget(url, user, pw, string.Empty, SendDebug, out result)) { return(docs); } XmlDocument xd = new XmlDocument(); xd.LoadXml(result); XmlNodeList xnl = xd.GetElementsByTagName("ticket"); foreach (XmlNode xn in xnl) { AssemblaTicket doc = new AssemblaTicket(); doc.Space = space; foreach (XmlNode dc in xn.ChildNodes) { try { string m = dc.InnerText; if (dc.Name == "summary") { doc.Summary = m; } else if (dc.Name == "status") { doc.Status = (TradeLink.API.TicketStatus)Convert.ToInt32(m); } else if (dc.Name == "description") { doc.Description = m; } else if (dc.Name == "priority") { doc.Priority = (TradeLink.API.Priority)Convert.ToInt32(m); } else if (dc.Name == "number") { doc.Number = Convert.ToInt32(m); } else if (dc.Name == "assign-to-id") { doc.Owner = Convert.ToInt32(m); } else if (dc.Name == "milestone-id") { doc.Milestone = Convert.ToInt32(m); } else if (dc.Name == "updated-at") { doc.UpdatedAt = m; } else if (dc.Name == "id") { doc.TicketDocumentId = Convert.ToInt32(m); } else if (dc.Name == "reporter-id") { doc.Reporter = m; } else if (dc.Name == "created-on") { doc.CreatedAt = m; } } catch (Exception ex) { } } if (doc.isValid) { docs.Add(doc); } } } catch (Exception ex) { if (deb != null) { deb("error getting tickets for space: " + space + " error: " + ex.Message + ex.StackTrace); } } return(docs); }
/// <summary> /// get list of tickets on space (limited to first 1000) /// </summary> /// <param name="space"></param> /// <param name="user"></param> /// <param name="pw"></param> /// <returns></returns> public static List <AssemblaTicket> GetTickets(string space, string user, string pw, DebugDelegate deb) { List <AssemblaTicket> docs = new List <AssemblaTicket>(); try { string url = AssemblaTicket.GetTicketsUrl(space); HttpWebRequest hr = WebRequest.Create(url) as HttpWebRequest; hr.Credentials = new System.Net.NetworkCredential(user, pw); hr.PreAuthenticate = true; hr.Method = "GET"; hr.ContentType = "application/xml"; HttpWebResponse wr = (HttpWebResponse)hr.GetResponse(); StreamReader sr = new StreamReader(wr.GetResponseStream()); string result = sr.ReadToEnd(); XmlDocument xd = new XmlDocument(); xd.LoadXml(result); XmlNodeList xnl = xd.GetElementsByTagName("ticket"); foreach (XmlNode xn in xnl) { AssemblaTicket doc = new AssemblaTicket(); doc.Space = space; foreach (XmlNode dc in xn.ChildNodes) { try { string m = dc.InnerText; if (dc.Name == "summary") { doc.Summary = m; } else if (dc.Name == "status") { doc.Status = (TradeLink.API.TicketStatus)Convert.ToInt32(m); } else if (dc.Name == "description") { doc.Description = m; } else if (dc.Name == "priority") { doc.Priority = (TradeLink.API.Priority)Convert.ToInt32(m); } else if (dc.Name == "number") { doc.Number = Convert.ToInt32(m); } else if (dc.Name == "assign-to-id") { doc.Owner = Convert.ToInt32(m); } else if (dc.Name == "milestone-id") { doc.Milestone = Convert.ToInt32(m); } else if (dc.Name == "updated-at") { doc.UpdatedAt = m; } else if (dc.Name == "id") { doc.TicketDocumentId = Convert.ToInt32(m); } else if (dc.Name == "reporter-id") { doc.Reporter = m; } else if (dc.Name == "created-on") { doc.CreatedAt = m; } } catch (Exception ex) { } } if (doc.isValid) { docs.Add(doc); } } } catch (Exception ex) { if (deb != null) { deb("error getting tickets for space: " + space + " error: " + ex.Message + ex.StackTrace); } } return(docs); }