@@ -81,22 +81,47 @@ public class PullRequest
81
81
/// <returns></returns>
82
82
public List < PullRequestCommit > GetCommits ( )
83
83
{
84
- var request = new RestRequest ( "/ repos/{user}/{repo}/pulls/{pull}/commits" ) ;
84
+ var request = new RestRequest ( "repos/{user}/{repo}/pulls/{pull}/commits" ) ;
85
85
request . AddUrlSegment ( "user" , Repository . Owner . Login ) ;
86
86
request . AddUrlSegment ( "repo" , Repository . Name ) ;
87
87
request . AddUrlSegment ( "pull" , Number . ToString ( ) ) ;
88
88
89
89
return _client . Get < List < PullRequestCommit > > ( request ) . Data ;
90
90
}
91
91
92
+ public Issue ToIssue ( )
93
+ {
94
+ return new Issue { _client = _client , Repository = Repository , Number = Number } ;
95
+ }
96
+
92
97
public List < IssueComment > GetIssueComments ( )
93
98
{
94
- var request = new RestRequest ( "/repos/{user}/{repo}/issues/{pull}/comments" ) ;
99
+ return ToIssue ( ) . GetComments ( ) ;
100
+ }
101
+
102
+ public bool Open ( )
103
+ {
104
+ return UpdateState ( "open" ) ;
105
+ }
106
+
107
+ public bool Close ( )
108
+ {
109
+ return UpdateState ( "closed" ) ;
110
+ }
111
+
112
+ private bool UpdateState ( string state )
113
+ {
114
+ var request = new RestRequest ( "repos/{user}/{repo}/pulls/{pull}" ) ;
95
115
request . AddUrlSegment ( "user" , Repository . Owner . Login ) ;
96
116
request . AddUrlSegment ( "repo" , Repository . Name ) ;
97
117
request . AddUrlSegment ( "pull" , Number . ToString ( ) ) ;
98
118
99
- return _client . Get < List < IssueComment > > ( request ) . Data ;
119
+ request . RequestFormat = DataFormat . Json ;
120
+ request . AddBody ( new
121
+ {
122
+ state = state
123
+ } ) ;
124
+ return _client . Patch ( request ) . StatusCode == System . Net . HttpStatusCode . OK ;
100
125
}
101
126
}
102
127
}
0 commit comments