UNPKG

cli-stash

Version:

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

63 lines (62 loc) 2.93 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 Get 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 result = await connector.projects.repos(this.flags.project).commits(this.flags.slug).get(this.flags.commit, this.flags.path); response.result = result; response.status = 0; response.message = this.getRecordRetrievedText('Commit'); this.ux.log(response.message); this.ux.table([result], tables_1.CommitColumns, { csv: this.flags.csv, extended: this.flags.extended || this.flags.csv }); } catch (error) { this.processError(response, error); } return response; } } exports.default = Get; Get.description = 'Retrieve a single commit identified by its ID. In general, that ID is a SHA1. ' + ux_1.UX.processDocumentation('<doc:Commit>'); Get.examples = [ `$ stash projects:repos:get -a MyStashAlias --project "ProjectKey" --slug "MyRepoSlug" --commit "a62ajdu128" --csv`, `$ stash projects:repos:get -a MyStashAlias --project "ProjectKey" --slug "MyRepoSlug" --commit "a62ajdu128" --json`, `$ stash projects:repos:get -a MyStashAlias --project "ProjectKey" --slug "MyRepoSlug" --commit "a62ajdu128"`, ]; Get.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 retrieve the commit', required: true, name: 'Project' }), slug: core_1.Flags.string({ description: 'The Repository slug to retrieve the commit', required: true, name: 'Slug' }), commit: core_1.Flags.string({ description: 'The commit id to retrieve', required: true, name: 'Commit' }), path: core_1.Flags.string({ description: 'An optional path to filter the commit by. If supplied the details returned may not be for the specified commit. Instead, starting from the specified commit, they will be the details for the first commit affecting the specified path.', required: false, name: 'Path' }), };