mirror of
https://gitlab.com/openstapps/openstapps.git
synced 2026-01-19 08:02:55 +00:00
refactor: adjust to refactored GitLab API
This commit is contained in:
40
src/cli.ts
40
src/cli.ts
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user