private SoapSession getSoapSession(JiraServer server)
        {
            SoapSession s;

            if (!sessionMap.TryGetValue(server.Url + server.UserName, out s))
            {
                s = new SoapSession(server.Url);
                s.login(server.UserName, server.Password);
                sessionMap.Add(server.Url + server.UserName, s);
            }
            return(s);
        }
示例#2
0
 public JiraServer(JiraServer other)
 {
     if (other != null)
     {
         guid     = other.guid;
         name     = other.name;
         url      = other.url;
         userName = other.userName;
         password = other.password;
     }
     else
     {
         guid = Guid.NewGuid();
     }
 }
示例#3
0
        public JiraIssue(JiraServer server, XPathNavigator nav)
        {
            Server = server;

            nav.MoveToFirstChild();
            do
            {
                switch (nav.Name)
                {
                case "key":
                    Key        = nav.Value;
                    Id         = getAttributeSafely(nav, "id", UNKNOWN);
                    ProjectKey = Key.Substring(0, Key.LastIndexOf('-'));
                    break;

                case "summary":
                    Summary = nav.Value;
                    break;

                case "status":
                    Status        = nav.Value;
                    StatusIconUrl = getAttributeSafely(nav, "iconUrl", null);
                    StatusId      = getAttributeSafely(nav, "id", UNKNOWN);
                    break;

                case "priority":
                    Priority        = nav.Value;
                    PriorityIconUrl = getAttributeSafely(nav, "iconUrl", null);
                    PriorityId      = getAttributeSafely(nav, "id", UNKNOWN);
                    break;

                case "description":
                    Description = nav.Value;
                    break;

                case "type":
                    IssueType        = nav.Value;
                    IssueTypeIconUrl = getAttributeSafely(nav, "iconUrl", null);
                    IssueTypeId      = getAttributeSafely(nav, "id", UNKNOWN);
                    break;

                case "assignee":
                    Assignee = nav.Value;
                    break;

                case "reporter":
                    Reporter = nav.Value;
                    break;

                case "created":
                    CreationDate = nav.Value;
                    break;

                case "updated":
                    UpdateDate = nav.Value;
                    break;

                case "resolution":
                    Resolution = nav.Value;
                    break;

                case "timeestimate":
                    RemainingEstimate          = nav.Value;
                    RemainingEstimateInSeconds = getAttributeSafely(nav, "seconds", UNKNOWN);
                    break;

                case "timeoriginalestimate":
                    OriginalEstimate          = nav.Value;
                    OriginalEstimateInSeconds = getAttributeSafely(nav, "seconds", UNKNOWN);
                    break;

                case "timespent":
                    TimeSpent          = nav.Value;
                    TimeSpentInSeconds = getAttributeSafely(nav, "seconds", UNKNOWN);
                    break;

                case "version":
                    versions.Add(nav.Value);
                    break;

                case "fixVersion":
                    fixVersions.Add(nav.Value);
                    break;

                case "component":
                    components.Add(nav.Value);
                    break;

                case "comments":
                    createComments(nav);
                    break;

                case "environment":
                    Environment = nav.Value;
                    break;

                default:
                    break;
                }
            } while (nav.MoveToNext());
            if (Key == null || Summary == null)
            {
                throw new InvalidDataException();
            }
        }
示例#4
0
 public RssClient(JiraServer server)
     : this(server.Url, server.UserName, server.Password)
 {
     this.server = server;
 }
 public List <JiraNamedEntity> getStatuses(JiraServer server)
 {
     return(getSoapSession(server).getStatuses());
 }
        public JiraIssue getIssue(JiraServer server, string key)
        {
            RssClient rss = new RssClient(server);

            return(rss.getIssue(key));
        }
        public List <JiraIssue> getCustomFilterIssues(JiraServer server, JiraCustomFilter filter, int start, int count)
        {
            RssClient rss = new RssClient(server);

            return(rss.getCustomFilterIssues(filter.getFilterQueryString(), "priority", "DESC", start, count));
        }
        public List <JiraIssue> getSavedFilterIssues(JiraServer server, JiraSavedFilter filter, int start, int count)
        {
            RssClient rss = new RssClient(server);

            return(rss.getSavedFilterIssues(filter.Id, "priority", "DESC", start, count));
        }
 public List <JiraSavedFilter> getSavedFilters(JiraServer server)
 {
     return(getSoapSession(server).getSavedFilters());
 }
示例#10
0
 public List <JiraNamedEntity> getIssueTypes(JiraServer server, JiraProject project)
 {
     return(getSoapSession(server).getIssueTypes(project));
 }
示例#11
0
 public List <JiraProject> getProjects(JiraServer server)
 {
     return(getSoapSession(server).getProjects());
 }
示例#12
0
 public void login(JiraServer server)
 {
     new SoapSession(server.Url).login(server.UserName, server.Password);
 }
示例#13
0
 public List <JiraNamedEntity> getComponents(JiraServer server, JiraProject project)
 {
     return(getSoapSession(server).getComponents(project));
 }