@@ -203,20 +203,23 @@ function getComponentLabelsOnItem(item, componentLabels) {
203203}
204204
205205/**
206- * Returns { requested, respondents } for a PR.
206+ * Returns { requested, respondents, draft } for a PR.
207207 * requested = users who were requested as reviewers (pending or already reviewed).
208208 * respondents = users who left a review or comment.
209+ * draft = whether the PR is a draft.
209210 * Only PRs where a code owner was requested count toward their stats.
210211 */
211212async function getReviewAndRequestedLogins ( octokit , owner , repo , prNumber ) {
212213 const respondents = new Set ( ) ;
213214 const requested = new Set ( ) ;
215+ let draft = false ;
214216 try {
215217 const [ { data : prData } , { data : reviews } , { data : comments } ] = await Promise . all ( [
216218 octokit . pulls . get ( { owner, repo, pull_number : prNumber } ) ,
217219 octokit . pulls . listReviews ( { owner, repo, pull_number : prNumber } ) ,
218220 octokit . issues . listComments ( { owner, repo, issue_number : prNumber } ) ,
219221 ] ) ;
222+ draft = prData . draft === true ;
220223 for ( const r of prData . requested_reviewers || [ ] ) {
221224 if ( r . login ) requested . add ( r . login ) ;
222225 }
@@ -232,7 +235,7 @@ async function getReviewAndRequestedLogins(octokit, owner, repo, prNumber) {
232235 } catch ( e ) {
233236 debug ( { msg : 'getReviewAndRequestedLogins error' , owner, repo, prNumber, error : e . message } ) ;
234237 }
235- return { requested, respondents } ;
238+ return { requested, respondents, draft } ;
236239}
237240
238241async function getIssueCommentLogins ( octokit , owner , repo , issueNumber ) {
@@ -292,8 +295,9 @@ async function computePrStats(octokit, prs, labelToOwners, componentLabels, thir
292295 if ( ownerToLabels . size === 0 ) continue ;
293296
294297 if ( processed === 0 || processed % PROGRESS_INTERVAL === 0 ) progress ( `PRs: fetching #${ pr . number } (${ processed + 1 } )...` ) ;
295- const { requested : requestedReviewers , respondents } = await getReviewAndRequestedLogins ( octokit , REPO_OWNER , REPO_NAME , pr . number ) ;
298+ const { requested : requestedReviewers , respondents, draft } = await getReviewAndRequestedLogins ( octokit , REPO_OWNER , REPO_NAME , pr . number ) ;
296299 processed ++ ;
300+ if ( draft ) continue ;
297301
298302 for ( const label of labelsOnPr ) {
299303 const requestedOwnersForLabel = [ ] ;
0 commit comments