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();
                }
            }
        }
Beispiel #2
0
        /// <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);
        }
Beispiel #3
0
        /// <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);
        }