@@ -13,7 +13,7 @@ import GitHub.Data.Options (IssueState)
1313import GitHub.Data.PullRequests
1414import GitHub.Data.URL (URL )
1515import GitHub.Internal.Prelude
16- import Prelude ()
16+ import Prelude ()
1717
1818data Issue = Issue
1919 { issueClosedAt :: ! (Maybe UTCTime )
@@ -43,7 +43,7 @@ instance Binary Issue
4343data NewIssue = NewIssue
4444 { newIssueTitle :: ! Text
4545 , newIssueBody :: ! (Maybe Text )
46- , newIssueAssignee :: ! (Maybe Text )
46+ , newIssueAssignees :: ! (Vector ( Name User ) )
4747 , newIssueMilestone :: ! (Maybe (Id Milestone ))
4848 , newIssueLabels :: ! (Maybe (Vector (Name IssueLabel )))
4949 }
@@ -55,7 +55,7 @@ instance Binary NewIssue
5555data EditIssue = EditIssue
5656 { editIssueTitle :: ! (Maybe Text )
5757 , editIssueBody :: ! (Maybe Text )
58- , editIssueAssignee :: ! (Maybe (Name User ))
58+ , editIssueAssignees :: ! (Maybe (Vector ( Name User ) ))
5959 , editIssueState :: ! (Maybe IssueState )
6060 , editIssueMilestone :: ! (Maybe (Id Milestone ))
6161 , editIssueLabels :: ! (Maybe (Vector (Name IssueLabel )))
@@ -203,19 +203,22 @@ instance FromJSON Issue where
203203 <*> o .:? " milestone"
204204
205205instance ToJSON NewIssue where
206- toJSON (NewIssue t b a m ls) = object
206+ toJSON (NewIssue t b a m ls) = object $ filter notNull
207207 [ " title" .= t
208208 , " body" .= b
209- , " assignee " .= a
209+ , " assignees " .= a
210210 , " milestone" .= m
211211 , " labels" .= ls
212212 ]
213+ where
214+ notNull (_, Null ) = False
215+ notNull (_, _) = True
213216
214217instance ToJSON EditIssue where
215- toJSON (EditIssue t b a s m ls) = object $ filter notNull $
218+ toJSON (EditIssue t b a s m ls) = object $ filter notNull
216219 [ " title" .= t
217220 , " body" .= b
218- , " assignee " .= a
221+ , " assignees " .= a
219222 , " state" .= s
220223 , " milestone" .= m
221224 , " labels" .= ls
0 commit comments