@@ -16,32 +16,27 @@ github.authenticate({
1616} )
1717
1818module . exports = {
19-
20- github,
21-
2219 /**
2320 * issue 是否包含某 label
2421 *
2522 * @param {Object } payload data
2623 * @param {string } body 评论内容
24+ * @return {boolean }
2725 */
2826 async issueHasLabel ( payload , label ) {
2927 const owner = payload . repository . owner . login
3028 const repo = payload . repository . name
3129 const number = payload . issue . number
3230
3331 try {
34- const res = github . issues . getIssueLabels ( {
32+ const res = await github . issues . getIssueLabels ( {
3533 owner,
3634 repo,
3735 number
3836 } )
39-
40- if ( res . data . map ( v => v . name ) . indexOf ( label ) === - 1 ) {
41- Promise . reject ( new Error ( 'issue no label' ) )
42- }
37+ return res . data . map ( v => v . name ) . indexOf ( label ) > - 1
4338 } catch ( e ) {
44- Promise . reject ( e )
39+ return false
4540 }
4641 } ,
4742
@@ -50,6 +45,7 @@ module.exports = {
5045 *
5146 * @param {Object } payload data
5247 * @param {string } body 评论内容
48+ * @return {boolean }
5349 */
5450 async pullRequestHasLabel ( payload , label ) {
5551 const owner = payload . repository . owner . login
@@ -62,11 +58,9 @@ module.exports = {
6258 repo,
6359 number
6460 } )
65- if ( res . data . map ( v => v . name ) . indexOf ( label ) === - 1 ) {
66- Promise . reject ( new Error ( 'pull request no label' ) )
67- }
61+ return res . data . map ( v => v . name ) . indexOf ( label ) > - 1
6862 } catch ( e ) {
69- Promise . reject ( e )
63+ return false
7064 }
7165 } ,
7266
@@ -75,22 +69,23 @@ module.exports = {
7569 *
7670 * @param {Object } payload data
7771 * @param {string } body 评论内容
72+ * @return {boolean } 是否成功
7873 */
7974 async commentIssue ( payload , body ) {
8075 const owner = payload . repository . owner . login
8176 const repo = payload . repository . name
8277 const number = payload . issue . number
8378
8479 try {
85- const res = await github . issues . createComment ( {
80+ await github . issues . createComment ( {
8681 owner,
8782 repo,
8883 number,
8984 body
9085 } )
91- return res
86+ return true
9287 } catch ( e ) {
93- Promise . reject ( e )
88+ return false
9489 }
9590 } ,
9691
@@ -99,45 +94,47 @@ module.exports = {
9994 *
10095 * @param {Object } payload data
10196 * @param {string } body 评论内容
97+ * @return {boolean } 是否成功
10298 */
10399 async commentPullRequest ( payload , body ) {
104100 const owner = payload . repository . owner . login
105101 const repo = payload . repository . name
106102 const number = payload . pull_request . number
107103
108104 try {
109- const res = await github . issues . createComment ( {
105+ await github . issues . createComment ( {
110106 owner,
111107 repo,
112108 number,
113109 body
114110 } )
115- return res
111+ return true
116112 } catch ( e ) {
117- Promise . reject ( e )
113+ return false
118114 }
119115 } ,
120116
121117 /**
122118 * 关闭 issue
123119 *
124120 * @param {Object } payload data
121+ * @return {boolean } 是否成功
125122 */
126123 async closeIssue ( payload ) {
127124 const owner = payload . repository . owner . login
128125 const repo = payload . repository . name
129126 const number = payload . issue . number
130127
131128 try {
132- const res = await github . issues . edit ( {
129+ await github . issues . edit ( {
133130 owner,
134131 repo,
135132 number,
136133 state : 'closed'
137134 } )
138- return res
135+ return true
139136 } catch ( e ) {
140- Promise . reject ( e )
137+ return false
141138 }
142139 } ,
143140
@@ -146,22 +143,23 @@ module.exports = {
146143 *
147144 * @param {Object } payload data
148145 * @param {string | Array } assign 用户id
146+ * @return {boolean } 是否成功
149147 */
150148 async addAssigneesToIssue ( payload , assign ) {
151149 const owner = payload . repository . owner . login
152150 const repo = payload . repository . name
153151 const number = payload . issue . number
154152
155153 try {
156- const res = await github . issues . edit ( {
154+ await github . issues . edit ( {
157155 owner,
158156 repo,
159157 number,
160- assignees : Array . isArray ( assign ) ? assign : [ assign ]
158+ assignees : toArray ( assign )
161159 } )
162- return res
160+ return true
163161 } catch ( e ) {
164- Promise . reject ( e )
162+ return false
165163 }
166164 } ,
167165
@@ -170,22 +168,23 @@ module.exports = {
170168 *
171169 * @param {Object } payload data
172170 * @param {string | Array } labels 标签
171+ * @return {boolean } 是否成功
173172 */
174173 async addLabelsToIssue ( payload , labels ) {
175174 const owner = payload . repository . owner . login
176175 const repo = payload . repository . name
177176 const number = payload . issue . number
178177
179178 try {
180- const res = await github . issues . addLabels ( {
179+ await github . issues . addLabels ( {
181180 owner,
182181 repo,
183182 number,
184- labels : Array . isArray ( labels ) ? labels : [ labels ]
183+ labels : toArray ( labels )
185184 } )
186- return res
185+ return true
187186 } catch ( e ) {
188- Promise . reject ( e )
187+ return false
189188 }
190189 } ,
191190
@@ -194,22 +193,23 @@ module.exports = {
194193 *
195194 * @param {Object } payload data
196195 * @param {string | Array } labels 标签
196+ * @return {boolean } 是否成功
197197 */
198198 async addLabelsToPullRequest ( payload , labels ) {
199199 const owner = payload . repository . owner . login
200200 const repo = payload . repository . name
201201 const number = payload . pull_request . number
202202
203203 try {
204- const res = await github . issues . addLabels ( {
204+ await github . issues . addLabels ( {
205205 owner,
206206 repo,
207207 number,
208- labels : Array . isArray ( labels ) ? labels : [ labels ]
208+ labels : toArray ( labels )
209209 } )
210- return res
210+ return true
211211 } catch ( e ) {
212- Promise . reject ( e )
212+ return false
213213 }
214214 } ,
215215
@@ -218,22 +218,23 @@ module.exports = {
218218 *
219219 * @param {Object } payload data
220220 * @param {string } name 标签名
221+ * @return {boolean } 是否成功
221222 */
222223 async removeLabelsToPullRequest ( payload , name ) {
223224 const owner = payload . repository . owner . login
224225 const repo = payload . repository . name
225226 const number = payload . pull_request . number
226227
227228 try {
228- const res = await github . issues . removeLabel ( {
229+ await github . issues . removeLabel ( {
229230 owner,
230231 repo,
231232 number,
232233 name
233234 } )
234- return res
235+ return true
235236 } catch ( e ) {
236- Promise . reject ( e )
237+ return false
237238 }
238239 } ,
239240
@@ -242,21 +243,22 @@ module.exports = {
242243 *
243244 * @param {Object } payload data
244245 * @param {string } name 标签名
246+ * @return {boolean } 是否成功
245247 */
246248 async removeLabelsToIssue ( payload , name ) {
247249 const owner = payload . repository . owner . login
248250 const repo = payload . repository . name
249251 const number = payload . issues . number
250252 try {
251- const res = await github . issues . removeLabel ( {
253+ await github . issues . removeLabel ( {
252254 owner,
253255 repo,
254256 number,
255257 name
256258 } )
257- return res
259+ return true
258260 } catch ( e ) {
259- Promise . reject ( e )
261+ return false
260262 }
261263 } ,
262264
@@ -270,12 +272,13 @@ module.exports = {
270272 * @param {string } options.body 内容
271273 * @param {boolean } options.draft 是否为草稿
272274 * @param {boolean } options.prerelease 是否预发布
275+ * @return {boolean } 是否成功
273276 */
274277 async createRelease ( payload , { tag_name, target_commitish, name, body, draft, prerelease } ) {
275278 const owner = payload . repository . owner . login
276279 const repo = payload . repository . name
277280 try {
278- const res = await github . repos . createRelease ( {
281+ await github . repos . createRelease ( {
279282 owner,
280283 repo,
281284 tag_name,
@@ -285,9 +288,9 @@ module.exports = {
285288 draft,
286289 prerelease
287290 } )
288- return res
291+ return true
289292 } catch ( e ) {
290- Promise . reject ( e )
293+ return false
291294 }
292295 } ,
293296
@@ -297,7 +300,7 @@ module.exports = {
297300 * @param {Object } payload data
298301 * @param {string } options.tag_name tag名
299302 *
300- * @return {Promise }
303+ * @return {Object | null }
301304 */
302305 async getReleaseByTag ( payload , { tag_name } ) {
303306 const owner = payload . repository . owner . login
@@ -308,9 +311,9 @@ module.exports = {
308311 repo,
309312 tag : tag_name
310313 } )
311- return res
314+ return res . data
312315 } catch ( e ) {
313- return false
316+ return null
314317 }
315318 } ,
316319
@@ -321,47 +324,54 @@ module.exports = {
321324 * @param {Array | string } options.reviewers reviewer
322325 * @param {Array | string } options.team_reviewers team_reviewers
323326 *
324- * @return {Promise }
327+ * @return {boolean } 是否成功
325328 */
326329 async createReviewRequest ( payload , { reviewers, team_reviewers } ) {
327330 const owner = payload . repository . owner . login
328331 const repo = payload . repository . name
329332 const number = payload . pull_request . number
330333 try {
331- const res = await github . pullRequests . createReviewRequest ( {
334+ await github . pullRequests . createReviewRequest ( {
332335 owner,
333336 repo,
334337 number,
335338 reviewers : toArray ( reviewers ) ,
336339 team_reviewers : toArray ( team_reviewers )
337340 } )
338- return res
341+ return true
339342 } catch ( e ) {
340- Promise . reject ( e )
343+ return false
341344 }
342345 } ,
343346
344347 /**
345348 * 获得 repo 所有的tag
346349 *
347350 * @param {any } payload data
348- * @returns
351+ * @return { Array }
349352 */
350353 async getTags ( payload ) {
351354 const owner = payload . repository . owner . login
352355 const repo = payload . repository . name
353-
354356 try {
355357 const res = await github . repos . getTags ( {
356358 owner,
357359 repo
358360 } )
359361 return res . data
360362 } catch ( e ) {
361- Promise . reject ( e )
363+ return [ ]
362364 }
363365 } ,
364366
367+ /**
368+ * 对比2个提交
369+ *
370+ * @param {Object } payload data
371+ * @param {string } options.base 基点
372+ * @param {string } options.head diff
373+ * @return {Array | null }
374+ */
365375 async compareCommits ( payload , { base, head } ) {
366376 const owner = payload . repository . owner . login
367377 const repo = payload . repository . name
@@ -374,7 +384,7 @@ module.exports = {
374384 } )
375385 return res . data
376386 } catch ( e ) {
377- Promise . reject ( e )
387+ return null
378388 }
379389 }
380390}
0 commit comments