feat: remove awaiting review label when PR is converted to draft.
diff --git a/index.js b/index.js
index 457729a..8f487c2 100644
--- a/index.js
+++ b/index.js
@@ -115,7 +115,11 @@
? text.PR_OPENED_BY_COMMITTER
: text.PR_OPENED;
- const labelList = ['PR: awaiting review'];
+ const labelList = [];
+ const isDraft = context.payload.pull_request.draft;
+ if (!isDraft) {
+ labelList.push('PR: awaiting review');
+ }
if (isCore) {
labelList.push('PR: author is committer');
}
@@ -145,18 +149,44 @@
return Promise.all([comment, addLabel]);
});
+ app.on(['pull_request.ready_for_review'], async context => {
+ return context.octokit.issues.addLabels(
+ context.issue({
+ labels: ['PR: awaiting review']
+ })
+ );
+ });
+
+ app.on(['pull_request.converted_to_draft'], async context => {
+ return getRemoveLabel(context, 'PR: awaiting review');
+ });
+
app.on(['pull_request.edited'], async context => {
+ const addLabels = [];
+ const removeLabels = [];
+
+ const isDraft = context.payload.pull_request.draft;
+ if (isDraft) {
+ removeLabels.push(getRemoveLabel(context, 'PR: awaiting review'));
+ } else {
+ addLabels.push('PR: awaiting review');
+ }
+
const content = context.payload.pull_request.body;
if (content && content.indexOf('[x] The API has been changed.') > -1) {
- return context.octokit.issues.addLabels(
- context.issue({
- labels: ['PR: awaiting doc']
- })
- );
+ addLabels.push('PR: awaiting doc');
}
else {
- return getRemoveLabel(context, 'PR: awaiting doc');
+ removeLabels.push(getRemoveLabel(context, 'PR: awaiting doc'));
}
+
+ const addLabel = context.octokit.issues.addLabels(
+ context.issue({
+ labels: addLabels
+ })
+ );
+
+ return Promise.all(removeLabels.concat([addLabel]));
});
app.on(['pull_request.synchronize'], async context => {
diff --git a/package-lock.json b/package-lock.json
index 3543163..18842ee 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -9,7 +9,7 @@
"version": "1.0.0",
"license": "Apache-2.0",
"dependencies": {
- "@vitalets/google-translate-api": "^5.0.0",
+ "@vitalets/google-translate-api": "^5.1.0",
"franc-min": "^5.0.0",
"probot": "^11.1.0"
},
@@ -1383,9 +1383,9 @@
"dev": true
},
"node_modules/@vitalets/google-translate-api": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/@vitalets/google-translate-api/-/google-translate-api-5.0.0.tgz",
- "integrity": "sha512-fRJzDT/rhF5S6cc/amgKb+AeIaRcoVzsuBAvkNB4kRv8NUBq/PBIy1pKREfPacEfsXno5i3EWPn2DPm2zim86w==",
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/@vitalets/google-translate-api/-/google-translate-api-5.1.0.tgz",
+ "integrity": "sha512-iAfyAqLeBIhqJvS1PFAx6ve2bWTSS3/8L6ss+UKM0/Y7CHartgiMI7OWxSSRTdQDL1z/+SZNO3mJgdVTPcGAnA==",
"dependencies": {
"configstore": "^5.0.1",
"got": "^9.6.0"
@@ -12012,9 +12012,9 @@
"dev": true
},
"@vitalets/google-translate-api": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/@vitalets/google-translate-api/-/google-translate-api-5.0.0.tgz",
- "integrity": "sha512-fRJzDT/rhF5S6cc/amgKb+AeIaRcoVzsuBAvkNB4kRv8NUBq/PBIy1pKREfPacEfsXno5i3EWPn2DPm2zim86w==",
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/@vitalets/google-translate-api/-/google-translate-api-5.1.0.tgz",
+ "integrity": "sha512-iAfyAqLeBIhqJvS1PFAx6ve2bWTSS3/8L6ss+UKM0/Y7CHartgiMI7OWxSSRTdQDL1z/+SZNO3mJgdVTPcGAnA==",
"requires": {
"configstore": "^5.0.1",
"got": "^9.6.0"
diff --git a/package.json b/package.json
index 0bad57f..ce437ee 100644
--- a/package.json
+++ b/package.json
@@ -21,7 +21,7 @@
"test:watch": "jest --watch --notify --notifyMode=change --coverage"
},
"dependencies": {
- "@vitalets/google-translate-api": "^5.0.0",
+ "@vitalets/google-translate-api": "^5.1.0",
"franc-min": "^5.0.0",
"probot": "^11.1.0"
},