@valy/lol
v0.0.1
Published
CLI tool that automatically creates releases in Jira and release git-tags in your repo
Downloads
5
Readme
Jirabas
Jirabas makes it easy to release your apps using git-tags and Jira tickets.
Usage
yarn add -D @runcapsule/jirabas
Add config file jirabas.config.ts
to the root of the project. Config example:
import { TJirabasUserConfig } from 'jirabas'
const jirabasConfig: TJirabasUserConfig = {
jira: {
api: {
host: 'kek.atlassian.net',
email: '[email protected]',
token: 'QWERTY',
}
},
apps: {
provider: {
releaseTagGlob: 'v*',
projectKey: 'FE',
componentName: 'My cool app 2.0',
releaseIssueTypeName: 'Release',
linkTypeName: 'Release',
patchReleaseTicket: (releaseTicket: any, releaseTag: string) => {
releaseTicket.fields.customfield_11265 = releaseTag;
releaseTicket.fields.customfield_10015 = 'PM-57';
releaseTicket.fields.description = `Custom description config ${releaseTag}`;
return releaseTicket;
},
},
}
};
export default jirabasConfig
If some of app specific fields are unknown Jirabas will give you an ability to choose from multiple pulled options.
npx jirabas release provider
Configuration
To see all available flags and commands:
npx jirabas --help
npx jirabas <commandName> --help
Typing for configuration file including all possible fields:
type TJirabasConfig = {
apps: {
[key: string]: {
releaseTagGlob: string
projectKey?: string
componentName?: string
linkTypeName?: string
releaseIssueTypeName?: string
patchReleaseTicket(releaseTicket: any, releaseTag: string, tickets: any)?: any
}
}
jira: {
api: {
host: string
email: string
token: string
}
baseUrl?: string
ticketIDPattern?: RegExp
approvalStatus?: string[]
excludeIssueTypes?: string[]
includeIssueTypes?: string[]
}
template?: string
sourceControl?: {
devBranch?: string
getReleaseBranchName?(releaseTag: string): string
},
}