refactor: adjust to refactored GitLab API

This commit is contained in:
Karl-Philipp Wulfert
2019-02-05 15:52:28 +01:00
parent 201ec093b7
commit cd48929ca1
4 changed files with 37 additions and 57 deletions

View File

@@ -13,14 +13,12 @@
* this program. If not, see <https://www.gnu.org/licenses/>.
*/
import {Api} from '@openstapps/gitlab-api';
import {MergeRequest} from '@openstapps/gitlab-api/lib/types';
import {Logger} from '@openstapps/logger';
import {WebClient} from '@slack/client';
import {asyncPool} from 'async-pool-native/dist/async-pool';
import * as commander from 'commander';
import {existsSync, readFileSync} from 'fs';
import {join} from 'path';
import {GITLAB_API_URL, GROUPS} from './configuration';
import {GITLAB_API_URL} from './configuration';
import {remind} from './tasks/remind';
import {report} from './tasks/report';
import {tidy} from './tasks/tidy';
import {unlabel} from './tasks/unlabel';
@@ -69,38 +67,8 @@ commander
commander
.command('remind')
.action(async () => {
const mergeRequests: MergeRequest[] =
await gitlabApi.makeGitLabAPIRequest(`groups/${GROUPS[0]}/merge_requests?state=opened`);
const client = new WebClient(process.env.SLACK_API_TOKEN);
await asyncPool(2, mergeRequests, async (mergeRequest) => {
if (mergeRequest.title.indexOf('WIP') !== 0) {
const config = await gitlabApi.makeGitLabAPIRequest(
`/projects/${mergeRequest.project_id}/merge_requests/${mergeRequest.iid}/approvals`,
);
if (config.merge_status === 'can_be_merged') {
if (config.approvals_left > 0) {
logger.warn(`Merge request '${mergeRequest.title}' needs more approvals!`);
await client.chat.postMessage({
channel: 'C762UG76Z',
text: `Merge request '${mergeRequest.title}' needs more approvals! See ${mergeRequest.web_url}!`,
});
} else {
logger.log(`Merge request '${mergeRequest.title}' is ready to be merged!`);
await client.chat.postMessage({
channel: 'C762UG76Z',
text: `Merge request '${mergeRequest.title}' is ready to be merged! See ${mergeRequest.web_url}!`,
});
}
}
} else {
logger.info(`Merge request '${mergeRequest.title}' is WIP.`);
}
});
await remind(gitlabApi);
logger.ok('Done!');
});
commander