UNPKG

cli-stash

Version:

CLI application to manage and work with Atlassian Stash. Work with your Stash project and repositories from Command lines.

64 lines (63 loc) 3.09 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const core_1 = require("@oclif/core"); const stash_connector_1 = require("stash-connector"); const baseCommand_1 = require("../../../../../libs/core/baseCommand"); const stashResponse_1 = require("../../../../../libs/core/stashResponse"); const tables_1 = require("../../../../../libs/core/tables"); const ux_1 = require("../../../../../libs/core/ux"); class Execute extends baseCommand_1.BaseCommand { async run() { const response = new stashResponse_1.StashCLIResponse(); const connector = new stash_connector_1.StashConnector(this.localConfig.getConnectorOptions(this.flags.alias)); try { const pullRequest = await connector.projects.repos(this.flags.project).pullRequests(this.flags.slug).merge(this.flags.pull).execute(this.flags.version); response.result = pullRequest; response.status = 0; response.message = 'Pull Request Merged successfully'; this.ux.log(response.message); this.ux.table([pullRequest], tables_1.PullRequestColumns, { csv: this.flags.csv, extended: this.flags.extended || this.flags.csv }); } catch (error) { this.processError(response, error); } return response; } } exports.default = Execute; Execute.description = 'Merge the specified pull request. ' + ux_1.UX.processDocumentation('<doc:PullRequest>'); Execute.examples = [ `$ stash projects:repos:pulls:merge:test -a MyStashAlias --project "ProjectKey" --slug "MyRepoSlug" --pull 1234 --csv`, `$ stash projects:repos:pulls:merge:test -a MyStashAlias --project "ProjectKey" --slug "MyRepoSlug" --pull 1234 --json`, `$ stash projects:repos:pulls:merge:test -a MyStashAlias --project "ProjectKey" --slug "MyRepoSlug" --pull 1234`, ]; Execute.flags = { ...baseCommand_1.BaseCommand.flags, csv: baseCommand_1.BuildFlags.csv, extended: baseCommand_1.BuildFlags.extended, alias: baseCommand_1.BuildFlags.alias, project: core_1.Flags.string({ description: 'The Project Key (or user slug like ~userSlug) to merge the pull request', required: true, name: 'Project' }), slug: core_1.Flags.string({ description: 'The Repository slug to merge the pull request', required: true, name: 'Slug', }), pull: core_1.Flags.integer({ description: 'The Pull Request Id to merge', required: true, name: 'Pull Request Id', }), version: core_1.Flags.integer({ description: 'The current version of the pull request. If the server\'s version isn\'t the same as the specified version the operation will fail. To determine the current version of the pull request it should be fetched from the server prior to this operation. Look for the "version" attribute in the returned JSON structure.', required: false, name: 'Version', default: -1, }), };