This was forked from https://github.com/steves/node-jira . Big thanks to steves for starting the code base.
A node.js module, which provides a great interface for the JIRA REST API.
JIRA REST API documentation can be found here
Install with the node package manager npm:
$ npm install js-jira
or
Install via git clone:
$ git clone git://github.com/clearly/js-jira.git
$ cd js-jira
$ npm install
JiraApi = require('jira').JiraApi;
var jira = new JiraApi({
scheme : 'https', // Default 'https'
host : 'jira.yourdomain.com' // REQUIRED
port : 443 // Default 443
user : 'MyJiraId', // REQUIRED
password : 'NotASecret' // REQUIRED
version : '2' // Default '2'
base : 'jira' // Default '' - The prefix in your install before /rest/api
});
jira.findIssue(issueNumber, function(error, issue) {
console.log('Status: ' + issue.fields.status.name);
});
Currently there is no explicit login call necessary as each API call uses Basic Authentication to authenticate.
Returns an array of remote links data.
jira.getRemoteLinks(issueKey, function(err, links) {
if (!err) {
console.log(issueKey + ' has ' + links.length + ' web links');
}
});
Returns an array of remote links data.
// create a web link to a GitHub issue
var linkData = {
"object": {
"url" : "https://github.com/steves/node-jira/issues/1",
"title": "Add getVersions and createVersion functions",
"icon" : {
"url16x16": "https://github.com/favicon.ico"
}
}
};
jira.createRemoteLink(issueKey, linkData, function (err, link) {
});
More information can be found by checking JIRA Developer documentation.
JiraApi options:
protocol<string>
: Typically 'http:' or 'https:'host<string>
: The hostname for your jira serverport<int>
: The port your jira server is listening on (probably80
or443
)user<string>
: The username to log in withpassword<string>
: Keep it secret, keep it safeJira API Version<string>
: Known to work with2
and2.0.alpha1
verbose<bool>
: Log some info to the console, usually for debuggingstrictSSL<bool>
: Set to false if you have self-signed certs or something non-trustworthyoauth
: A dictionary ofconsumer_key
,consumer_secret
,access_token
andaccess_token_secret
to be used for OAuth authentication.base<string>
: A base slug if your JIRA instance is not at the root ofhost
- Authentication
- HTTP
- OAuth
- Projects
- Pulling a project
- List all projects viewable to the user
- List Components
- List Fields
- List Priorities
- Versions
- Pulling versions
- Adding a new version
- Pulling unresolved issues count for a specific version
- Rapid Views
- Find based on project name
- Get the latest Green Hopper sprint
- Gets attached issues
- Issues
- Add a new issue
- Update an issue
- Add watcher to an issue
- Transition an issue
- Pulling an issue
- Issue linking
- Add an issue to a sprint
- Get a users issues (open or all)
- List issue types
- Search using jql * Set Max Results * Set Start-At parameter for results
- Add a worklog
- Delete a worklog
- Add new estimate for worklog
- Add a comment
- Remote links (aka Web Links) * Create a remote link on an issue * Get all remote links of an issue
- Transitions
- List
- Users
- Search
- Refactor currently implemented APIs to be more Object Oriented
- Refactor to make use of built-in node.js events and classes
- 0.9.2 Smaller fixes and features added
- proper doRequest usage (thanks to ndamnjanovic)
- Support for @ in usernames (thanks to ryanplasma)
- Handling empty responses in getIssue
- 0.9.0 Add OAuth Support and New Estimates on addWorklog (thanks to nagyv)
- 0.8.2 Fix URL Format Issues (thanks to eduardolundgren)
- 0.8.1 Expanding the transitions options (thanks to eduardolundgren)
- 0.8.0 Ability to search users (thanks to eduardolundgren)
- 0.7.2 Allows HTTP Code 204 on issue update edit (thanks to eduardolundgren)
- 0.7.1 Check if body variable is undef (thanks to AlexCline)
- 0.7.0 Adds list priorities, list fields, and project components (thanks to eduardolundgren)
- 0.6.0 Comment API implemented (thanks to StevenMcD)
- 0.5.0 Last param is now for strict SSL checking, defaults to true
- 0.4.1 Now handing errors in the request callback (thanks mrbrookman)
- 0.4.0 Now auto-redirecting between http and https (for both GET and POST)
- 0.3.1 Request is broken, setting max request package at 2.15.0
- 0.3.0 Now Gets Issues for a Rapidview/Sprint (thanks donbonifacio)
- 0.2.0 Now allowing startAt and MaxResults to be passed to searchJira, switching to semantic versioning.
- 0.1.0 Using Basic Auth instead of cookies, all calls unit tested, URI creation refactored
- 0.0.6 Now linting, preparing to refactor
- 0.0.5 JQL search now takes a list of fields
- 0.0.4 Added jql search
- 0.0.3 Added APIs and Docco documentation
- 0.0.2 Initial version