npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

@temptek/semantic-release-jira

v0.3.2

Published

[**semantic-release**](https://github.com/semantic-release/semantic-release) plugin to publish a jira release.

Downloads

6,941

Readme

semantic-release-jira

semantic-release plugin to publish a jira release.

Github

npm latest version

| Step | Description | |--------------------|----------------------------------------------------------------------------| | verifyConditions | Validate the config options and check for a credentials in the environment | | sucess | Find all tickets from commits and add them to a new release on JIRA |

Install

$ npm install --save-dev @temptek/semantic-release-jira
$ yarn add --dev @temptek/semantic-release-jira

Environment variables

| Variable | Description | | ----------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | JIRA_AUTH | Base64 encoded string of username:password. | | JIRA_USERNAME | Username in Jira. Used for basic auth. | | JIRA_PASSWORD | Password in Jira. Used for basic auth. | | JIRA_EMAIL | Email address in Jira. Used for basic auth. | | JIRA_API_TOKEN | Api token in Jira. Used for basic auth. How to create an api token? |

Use either JIRA_AUTH, JIRA_USERNAME and JIRA_PASSWORD or JIRA_EMAIL and JIRA_API_TOKEN.

Configuration

The plugin should be added to your config

{
  "plugins": [
    "@semantic-release/commit-analyzer",
    "@semantic-release/release-notes-generator",
    "@semantic-release/git",
    [
      "@temptek/semantic-release-jira",
      {
        "projectId": "UH",
        "releaseNameTemplate": "Test v${version}",
        "jiraHost": "uphabit.atlassian.net",
        "ticketPrefixes": [
          "TEST",
          "UH"
        ],
        "ticketRegex": "[a-zA-Z]{3,5}-\\d{3,5}"
      }
    ]
  ]
}

Please note that ticketRegex cannot be used together with ticketPrefixes.

interface Config {
    /**
     * A domain of a jira instance ie: `uphabit.atlasian.net`
     */
    jiraHost: string;

    /**
     * A list of prefixes to match when looking for tickets in commits. Cannot be used together with ticketRegex.
     *
     * ie. ['TEST'] would match `TEST-123` and `TEST-456`
     */
    ticketPrefixes?: string[];

    /**
     * A unescaped regex to match tickets in commits (without slashes). Cannot be used together with ticketPrefixes.
     *
     * ie. [a-zA-Z]{4}-\d{3,5} would match any ticket with 3 letters a dash and 3 to 5 numbers, such as `TEST-456`, `TEST-5643` and `TEST-56432`
     */
    ticketRegex?: string;

    /**
     * The id or key for the project releases will be created in
     */
    projectId: string;

    /**
     * A lodash template with a single `version` variable
     * defaults to `v${version}` which results in a version that is named like `v1.0.0`
     * ex: `Semantic Release v${version}` results in `Semantic Release v1.0.0`
     *
     * @default `v${version}`
     */
    releaseNameTemplate?: string;

    /**
     * A lodash template for the release.description field
     *
     * template variables:
     *    version: the sem-ver version ex.: 1.2.3
     *      notes: The full release notes: This may be very large
     *             Only use it if you have very small releases
     *
     * @default `Automated release with semantic-release-jira-releases https://git.io/JvAbj`
     */
    releaseDescriptionTemplate?: string;

    /**
     * The number of maximum parallel network calls
     *
     * @default: 10
     */
    networkConcurrency?: number;

    /**
     * Indicates if a new release created in jira should be set as released
     */
    released?: boolean;

    /**
     * Include the release date when creating a release in jira
     *
     * @default: false
     */
    setReleaseDate?: boolean;

    /**
     * Specify board name to be used to find an active sprint.
     * Use the start date of the active sprint as start date for the release
     *
     * @default: undefined
     */
    useBoardForActiveSprint?: string;
}