コード例 #1
0
 public IssueFields()
 {
     Comment         = new CommentSearchResult();
     FixVersions     = new List <ProjectVersion>();
     AffectsVersions = new List <ProjectVersion>();
     Components      = new List <Component>();
     Resolution      = new Resolution();
     Parent          = new ParentIssue();
     Subtasks        = new List <Subtask>();
     TimeTracking    = new TimeTracking();
     Worklog         = new WorklogSearchResult();
     IssueLinks      = new List <IssueLink>();
     Labels          = new List <String>();
     CustomFields    = new Dictionary <String, CustomField>();
 }
コード例 #2
0
ファイル: Issue.cs プロジェクト: provisiondata/Jira.SDK
        public IssueFields(JObject fieldsObj)
        {
            Dictionary <String, Object> fields = fieldsObj.ToObject <Dictionary <String, Object> >();

            Created        = fields["created"] != null ? (DateTime)fields["created"] : DateTime.MinValue;
            Updated        = fields["updated"] != null ? (DateTime)fields["updated"] : DateTime.MinValue;
            ResolutionDate = fields["resolutiondate"] != null ? (DateTime)fields["resolutiondate"] : DateTime.MinValue;

            IssueType = null;
            if (fields.ContainsKey("issuetype") && fields["issuetype"] != null)
            {
                IssueType = ((JObject)fields["issuetype"]).ToObject <IssueType>();
            }

            Reporter = null;
            if (fields.ContainsKey("reporter") && fields["reporter"] != null)
            {
                Reporter = ((JObject)fields["reporter"]).ToObject <User>();
            }

            Assignee = null;
            if (fields.ContainsKey("assignee") && fields["assignee"] != null)
            {
                Assignee = ((JObject)fields["assignee"]).ToObject <User>();
            }

            Summary = "";
            if (fields.ContainsKey("summary") && fields["summary"] != null)
            {
                Summary = (String)fields["summary"];
            }

            Comment = new CommentSearchResult();
            if (fields.ContainsKey("comment") && fields["comment"] != null)
            {
                Comment = ((JObject)fields["comment"]).ToObject <CommentSearchResult>();
            }

            Description = "";
            if (fields.ContainsKey("description") && fields["description"] != null)
            {
                Description = (String)fields["description"];
            }

            FixVersions = new List <ProjectVersion>();
            if (fields.ContainsKey("fixVersions") && fields["fixVersions"] != null)
            {
                JArray versionArray = (JArray)fields["fixVersions"];
                if (versionArray.Count > 0)
                {
                    FixVersions = ((JArray)fields["fixVersions"]).ToObject <List <ProjectVersion> >();
                }
            }

            AffectsVersions = new List <ProjectVersion>();
            if (fields.ContainsKey("versions") && fields["versions"] != null)
            {
                JArray versionArray = (JArray)fields["versions"];
                if (versionArray.Count > 0)
                {
                    AffectsVersions = ((JArray)fields["versions"]).ToObject <List <ProjectVersion> >();
                }
            }

            Components = new List <Component>();
            if (fields.ContainsKey("components") && fields["components"] != null)
            {
                JArray versionArray = (JArray)fields["components"];
                if (versionArray.Count > 0)
                {
                    Components = ((JArray)fields["components"]).ToObject <List <Component> >();
                }
            }

            Project = null;
            if (fields.ContainsKey("project") && fields["project"] != null)
            {
                Project = ((JObject)fields["project"]).ToObject <Project>();
            }

            Status = null;
            if (fields.ContainsKey("status") && fields["status"] != null)
            {
                Status = ((JObject)fields["status"]).ToObject <Status>();
            }

            Priority = null;
            if (fields.ContainsKey("priority") && fields["priority"] != null)
            {
                Priority = ((JObject)fields["priority"]).ToObject <Priority>();
            }

            Resolution = null;
            if (fields.ContainsKey("resolution") && fields["resolution"] != null)
            {
                Resolution = ((JObject)fields["resolution"]).ToObject <Resolution>();
            }

            Parent = null;
            if (fields.ContainsKey("parent") && fields["parent"] != null)
            {
                //Parent = new Issue();
            }

            Subtasks = null;
            if (fields.ContainsKey("subtasks"))
            {
                JArray subtasks = (JArray)fields["subtasks"];

                //Subtasks = null;
            }

            Worklog = new WorklogSearchResult();
            if (fields.ContainsKey("worklog"))
            {
                Worklog = ((JObject)fields["worklog"]).ToObject <WorklogSearchResult>();
            }

            IssueLinks = new List <IssueLink>();
            if (fields.ContainsKey("issuelinks"))
            {
                JArray linkArray = (JArray)fields["issuelinks"];
                if (linkArray.Count > 0)
                {
                    IssueLinks = linkArray.Select(link => ((JObject)link).ToObject <IssueLink>()).ToList();
                }
            }

            Labels = new List <String>();
            if (fields.ContainsKey("labels"))
            {
                JArray labelArray = (JArray)fields["labels"];
                if (labelArray.Count > 0)
                {
                    Labels = labelArray.Select(label => (String)label).ToList();
                }
            }

            TimeTracking = null;
            if (fields.ContainsKey("timetracking") && fields["timetracking"] != null)
            {
                TimeTracking = ((JObject)fields["timetracking"]).ToObject <TimeTracking>();
            }

            CustomFields = new Dictionary <String, CustomField>();
            foreach (String customFieldName in fields.Keys.Where(key => key.StartsWith("customfield_")))
            {
                switch (fieldsObj[customFieldName].Type)
                {
                case JTokenType.Object:
                    CustomFields.Add(customFieldName, ((JObject)fieldsObj[customFieldName]).ToObject <CustomField>());
                    break;

                case JTokenType.Null:
                    CustomFields.Add(customFieldName, null);
                    break;

                case JTokenType.Array:
                    // TODO Handle Array Type
                    CustomFields.Add(customFieldName, new CustomField(((JArray)fieldsObj[customFieldName]).ToString(Newtonsoft.Json.Formatting.None)));
                    break;

                case JTokenType.Float:
                    CustomFields.Add(customFieldName, new CustomField(((float)fieldsObj[customFieldName]).ToString()));
                    break;

                default:
                    CustomFields.Add(customFieldName, new CustomField((String)fieldsObj[customFieldName]));
                    break;
                }
            }
        }
コード例 #3
0
ファイル: Issue.cs プロジェクト: maleet/Jira.SDK
        public IssueFields(JObject fieldsObj)
        {
            Dictionary<String, Object> fields = fieldsObj.ToObject<Dictionary<String, Object>>();

            Created = fields["created"] != null ? (DateTime)fields["created"] : DateTime.MinValue;
            Updated = fields["updated"] != null ? (DateTime)fields["updated"] : DateTime.MinValue;
            ResolutionDate = fields["resolutiondate"] != null ? (DateTime)fields["resolutiondate"] : DateTime.MinValue;

            IssueType = null;
            if (fields.ContainsKey("issuetype") && fields["issuetype"] != null)
            {
                IssueType = ((JObject)fields["issuetype"]).ToObject<IssueType>();
            }

            Reporter = null;
            if (fields.ContainsKey("reporter") && fields["reporter"] != null)
            {
                Reporter = ((JObject)fields["reporter"]).ToObject<User>();
            }

            Assignee = null;
            if (fields.ContainsKey("assignee") && fields["assignee"] != null)
            {
                Assignee = ((JObject)fields["assignee"]).ToObject<User>();
            }

            Summary = "";
            if (fields.ContainsKey("summary") && fields["summary"] != null)
            {
                Summary = (String)fields["summary"];
            }

            Comment = new CommentSearchResult();
            if (fields.ContainsKey("comment") && fields["comment"] != null)
            {
                Comment = ((JObject)fields["comment"]).ToObject<CommentSearchResult>();
            }

            Description = "";
            if (fields.ContainsKey("description") && fields["description"] != null)
            {
                Description = (String)fields["description"];
            }

            FixVersions = new List<ProjectVersion>();
            if (fields.ContainsKey("fixversions") && fields["fixversions"] != null)
            {
                JArray versionArray = (JArray)fields["fixversions"];
                if (versionArray.Count > 0)
                {
                    FixVersions = ((JObject)fields["fixversions"]).ToObject<List<ProjectVersion>>();
                }
            }

            Project = null;
            if (fields.ContainsKey("project") && fields["project"] != null)
            {
                Project = ((JObject)fields["project"]).ToObject<Project>();
            }

            Status = null;
            if (fields.ContainsKey("status") && fields["status"] != null)
            {
                Status = ((JObject)fields["status"]).ToObject<Status>();
            }

            Priority = null;
            if (fields.ContainsKey("priority") && fields["priority"] != null)
            {
                Priority = ((JObject)fields["priority"]).ToObject<Priority>();
            }

            Resolution = null;
            if (fields.ContainsKey("resolution") && fields["resolution"] != null)
            {
                Resolution = ((JObject)fields["resolution"]).ToObject<Resolution>();
            }

            Parent = null;
            if (fields.ContainsKey("parent") && fields["parent"] != null)
            {
                //Parent = new Issue();
            }

            Subtasks = null;
            if (fields.ContainsKey("subtasks"))
            {
                JArray subtasks = (JArray)fields["subtasks"];

                //Subtasks = null;
            }

            Worklog = new WorklogSearchResult();
            if (fields.ContainsKey("worklog"))
            {
                Worklog = ((JObject)fields["worklog"]).ToObject<WorklogSearchResult>();
            }

            IssueLinks = new List<IssueLink>();
            if (fields.ContainsKey("issuelinks"))
            {
                JArray linkArray = (JArray)fields["issuelinks"];
                if (linkArray.Count > 0)
                {
                    IssueLinks = linkArray.Select(link => ((JObject)link).ToObject<IssueLink>()).ToList();
                }
            }

            Labels = new List<String>();
            if (fields.ContainsKey("labels"))
            {
                JArray labelArray = (JArray)fields["labels"];
                if (labelArray.Count > 0)
                {
                    Labels = labelArray.Select(label => (String)label).ToList();
                }
            }

            TimeTracking = null;
            if (fields.ContainsKey("timetracking") && fields["timetracking"] != null)
            {
                TimeTracking = ((JObject)fields["timetracking"]).ToObject<TimeTracking>();
            }

            CustomFields = new Dictionary<String, CustomField>();
            foreach (String customFieldName in fields.Keys.Where(key => key.StartsWith("customfield_")))
            {
                switch (fieldsObj[customFieldName].Type)
                {
                    case JTokenType.Object:
                        CustomFields.Add(customFieldName, ((JObject)fieldsObj[customFieldName]).ToObject<CustomField>());
                        break;
                    case JTokenType.Null:
                        CustomFields.Add(customFieldName, null);
                        break;
                    case JTokenType.Array:
                        // TODO Handle Array Type
                        CustomFields.Add(customFieldName, null);
                        break;
                    default:
                        CustomFields.Add(customFieldName, new CustomField((String)fieldsObj[customFieldName]));
                        break;
                }

            }
        }