bitbucket-server-utils-cli
Version:
[](https://www.npmjs.com/package/bitbucket-server-utils-cli)
106 lines • 5.52 kB
JavaScript
;
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
var desc = Object.getOwnPropertyDescriptor(m, k);
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
desc = { enumerable: true, get: function() { return m[k]; } };
}
Object.defineProperty(o, k2, desc);
}) : (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
o[k2] = m[k];
}));
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
Object.defineProperty(o, "default", { enumerable: true, value: v });
}) : function(o, v) {
o["default"] = v;
});
var __importStar = (this && this.__importStar) || function (mod) {
if (mod && mod.__esModule) return mod;
var result = {};
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
__setModuleDefault(result, mod);
return result;
};
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
var commander_1 = require("commander");
var bitbucket_service_1 = __importDefault(require("./bitbucketserver/bitbucket-service"));
var format_string_1 = __importDefault(require("./format-string/format-string"));
var gather_1 = __importDefault(require("./state/gather"));
var storage_1 = require("./state/storage");
var log_1 = __importStar(require("./utils/log"));
var post_pr_comment_1 = __importDefault(require("./post-pr-comment/post-pr-comment"));
var delete_pr_comment_1 = __importDefault(require("./delete-pr-comment/delete-pr-comment"));
var post_pull_request_comment_if_open_pull_requests_1 = __importDefault(require("./post-pull-request-comment-if-open-pull-requests/post-pull-request-comment-if-open-pull-requests"));
var pkgJson = require('../package.json');
function commaSeparatedList(value) {
return value.split(',');
}
var program = new commander_1.Command()
.version(pkgJson.version)
.command(pkgJson.name)
.option('-at, --access-token <token>', 'Bitbucket Server access token')
.option('-u, --username <username>', 'Bitbucket Server username')
.option('-p, --password <password>', 'Bitbucket Server password')
.option('-u, --url <url>', 'Bitbucket Server to use for REST integration (https://bitbucket-server/rest/api/latest)')
.option('-p, --projects <projects>', 'Bitbucket Server projects. Example: PROJ_1,PROJ_2,PROJ_3', commaSeparatedList)
.option('-rs, --repository-slug <rs>')
.option('-prid, --pull-request <prid>')
.option('-prtf, --pull-request-title-filter <regexp>', 'Only include pull requests with title matching this regexp.', '.*')
.option('-prcid, --pull-request-comment-id <id>')
.option('-prcv, --pull-request-comment-version <version>')
.option('-sf, --state-file <filename>', 'File to read, and write, state to.')
.option('-t, --template <string>', 'String containing Handlebars template.')
.option('-sev, --severity <rs>', 'BLOCKER or NORMAL', 'NORMAL')
.option('-ck, --comment-key <rs>', 'Some string that identifies the comment. Will ensure same comment is not re-posted if unchanged and replaced if changed.')
.option('--log-level <level>', 'Log level DEBUG, INFO or ERROR', 'INFO')
.option('-s, --sleep-time <milliseconds>', 'Milliseconds to sleep between HTTP requests.', '300')
.option('-dr, --dry-run', 'Dry run, no POST/PUT/DELETE requests.', false)
.option('-ias, --ignore-authors-slug <authors>', 'Ignore authors by slug. Example: abc,def,fgh', commaSeparatedList, [])
/**
* Main actions
*/
.option('-gs, --gather-state', 'Gather state from Bitbucket Server and store it in a file.')
.option('-fc, --format-string', 'Format a string by rendering a Handlebars-template with the state as context.')
.option('-pprc, --post-pull-request-comment <comment>', 'Post a pull-request comment')
.option('-pprciopr, --post-pull-request-comment-if-open-pull-requests', 'Post pull-request comment if author has open pull-requests to review')
.option('-dprc, --delete-pull-request-comment', 'Delete pull-request comment with given ID');
program.parse(process.argv);
var options = program.opts();
(0, log_1.setLogLevel)(options.logLevel);
(0, log_1.default)('DEBUG', options);
var bitbucketService = new bitbucket_service_1.default({
personalAccessToken: options.accessToken,
username: options.username,
password: options.password,
url: options.url,
sleepTime: options.sleepTime,
dryRun: options.dryRun,
});
if (options.gatherState) {
(0, gather_1.default)(bitbucketService, options).then(function (state) {
(0, storage_1.saveState)(state, options.stateFile);
});
}
else if (options.formatString) {
(0, format_string_1.default)(options);
}
else if (options.postPullRequestComment) {
(0, post_pr_comment_1.default)(bitbucketService, options);
}
else if (options.deletePullRequestComment) {
(0, delete_pr_comment_1.default)(bitbucketService, options);
}
else if (options.postPullRequestCommentIfOpenPullRequests) {
(0, post_pull_request_comment_if_open_pull_requests_1.default)(bitbucketService, options);
}
else {
console.error(JSON.stringify(options));
console.error(program.help());
process.exit(1);
}
//# sourceMappingURL=cli.js.map