diff --git a/lib/Issue.js b/lib/Issue.js index c0151b5f..bce20790 100644 --- a/lib/Issue.js +++ b/lib/Issue.js @@ -246,6 +246,30 @@ class Issue extends Requestable { deleteLabel(label, cb) { return this._request('DELETE', `/repos/${this.__repository}/labels/${label}`, null, cb); } + + /** + * Add a label to an issue + * @see https://developer.github.com/v3/issues/labels/#add-labels-to-an-issue + * @param {number} issue - the id of the issue to comment on + * @param {array} label - the names of the label to add to the issue + * @param {Requestable.callback} [cb] - will receive the status + * @return {Promise} - the promise for the http request + */ + addLabel(issue, label, cb) { + return this._request('POST', `/repos/${this.__repository}/issues/${issue}/labels`, label, cb); + } + + /** + * Remove a label from an issue + * @see https://developer.github.com/v3/issues/labels/#remove-a-label-from-an-issue + * @param {number} issue - the id of the issue to comment on + * @param {string} label - the name of the label to remove to the issue + * @param {Requestable.callback} [cb] - will receive the status + * @return {Promise} - the promise for the http request + */ + removeLabel(issue, label, cb) { + return this._request('DELETE', `/repos/${this.__repository}/issues/${issue}/labels/${label}`, null, cb); + } } module.exports = Issue;