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 🙏

© 2026 – Pkg Stats / Ryan Hefner

mechajira

v0.2.0

Published

JIRA bot built with Node.js.

Readme

Mechajira

Mechagodzilla

Mechajira is a Node-based automation tool for creating bulk Jira issues with more control than Jira's bulk task template plugin. It will eventually become a Node-based bot that responds to commands in JIRA comments.

Mechjira-bomb.js is like a cluster bomb, creating a batch of tasks on an initial bombing run, then creating sub-tasks under any number of initial tasks and then creating issue links between tasks (from the initial batch).

Mechjira-loop.js is more like a Gatling gun, iterating over an array of values to create clones of a task modeled in a yaml file.

Configuration

Mechajira uses the jira-connector module (https://www.npmjs.com/package/jira-connector) to make calls to Jira's REST API, and relies on a jira.json file (in a /config directory) to store the host username, and password for authentication. We advise creating a new user with full permissions specifically for Mechjira so all of Mechajira's actions can be easily monitored.

Usage

MECHAJIRA-BOMB.JS Mechajira-bomb.js uses the async module to manage the asynchronous processing of multiple createIssue() calls and the subsequent creation of sub-tasks and issue links.

The bombsAway() function creates an initial batch of tasks using async.parallel control flow with a callback including two separate create_____Subtasks() functions and a linkIssues() function.

The create_____Subtasks() functions take two arguments: (1) a Jira Project key, and (2) an Issue key from the first batch under which to create the Subtasks. The linkIssues() function takes the entire issueKeys object created by bombsAway() and then references individual Issue keys inside each issueLink.createIssueLink() call.

MECHAJIRA-LOOP.JS Mechajira-loop.js uses a yaml config file to set all of the properties of a model Issue and then iterates over an array to create clones of the model Issue, inserting the array items into the Issue summaries.

The config.yml file should look something like this:

project: MEC          // Jira Project key
epic: MEC-90          // Jira Epic key
issuetype: Task       // Jira issue type
summary: Fix
description: More text here...
sites:
 - site 1
 - site 2
 - site 3

Using the example config.yml file above, mechajira-loop.js will iterate over the values under 'sites' to create three Tasks with the above properties, each one having a Summary of "Fix [site]"