rally-for-node

rally api wrapper for node

Usage no npm install needed!

<script type="module">
  import rallyForNode from 'https://cdn.skypack.dev/rally-for-node';
</script>

README

rally-for-node

rally-for-node makes use of the rally library and as such boasts a comprehensive REST request capability for interacting with RALLY through common methods. It provides a wide range of capabilities for querying, along with methods for creating, reading, updating, and deleting individual items. That's all there is to it.!

Installation

npm install rally-for-node

Example

var rallyUtl = require('rally-for-node');

var rallyConnectInfo = {
  RALLY_USERNAME:       'yourID@yourcompany.com',       //required if no api key, defaults to process.env.RALLY_USERNAME
  RALLY_PASSWORD:       'rally123';                     //required if no api key, defaults to process.env.RALLY_PASSWORD
  RALLY_API_KEY:        '_SNCqjjdkdklsslkdbkULZncaW64kdkkd',  //user's apikey based on the RALLY userID
  REQUEST_OPTIONS: {    //REQUEST_OPTIONS required if you want to pass header info. Else can be ignored
    headers: {
      'X-RallyIntegrationName': 'My automation project',  //while optional, it is good practice
      'X-RallyIntegrationVendor': 'My company name',      //provide this header information
      'X-RallyIntegrationVersion': '1.0'
    }
    //any additional request options (proxy options, timeouts, etc.) pass it as part of header info
  },
};

var RALLY_WORKSPACE_ID    = 78677268833;
var RALLY_PROJECT_ID      = 999123719333;
var RALLY_WORK_PRODUCT_ID = 333254055888;
Creates test cases at the story level
    @param {rallyConnectInfo} , RALLY connction info thet is required to authenticate user
    @param {projectID} the project id upon which new testcase will be created
    @param {workProductID}  the workProductID (i.e. Rally Story ID) on which new  testcase will be created
    @param {testcaseName} the name of the testcase you want to provide

rallyUtl.createTestcaseInStory(rallyConnectInfo, RALLY_PROJECT_ID, RALLY_WORK_PRODUCT_ID, 'new teast case for story');


Creates defect at the story level
    @param {rallyConnectInfo} , RALLY connction info thet is required to authenticate user
    @param {projectID} the project id upon which new testcase will be created
    @param {workProductID}  the workProductID (i.e. Rally Story ID) on which new  testcase will be created
    @param {defectName} the name of the defect you want to provide

rallyUtl.createDefectInStory(rallyConnectInfo, RALLY_PROJECT_ID, RALLY_WORK_PRODUCT_ID, 'creating a defect in a story');


Creates a new test result for a testcase
    @param {rallyConnectInfo} , RALLY connction info thet is required to authenticate user
    @param {testcaseID} the testcaseID upon which new test result will be added
    @param {build}  the build number that needs to be added
    @param {verdict} the status of the test case i.e. Pass / Fail / Blocked / Error / Inconclusive
    @param {notes}  the notes which needs to be added

rallyUtl.createTestCaseResult(rallyConnectInfo, 'TC123456', 'build 1.0.4', 'Pass', 'tested by QA_User112');


Updates last test run result of a testcase`
    @param {rallyConnectInfo} , RALLY connction info thet is required to authenticate user
    @param {testcaseID} the testcaseID upon which last test run result will be updated
    @param {build}  the build number that needs to be updated
    @param {verdict} the status of the test case i.e. Pass / Fail / Blocked / Error / Inconclusive
    @param {notes}  the notes which needs to be updated

rallyUtl.updateTestCaseLastResult(rallyConnectInfo, 'TC839883', 'testresult_build', 'Pass', 'testresult_notes');


Updates the existing defect
    @param {rallyConnectInfo} , RALLY connction info thet is required to authenticate user
    @param {defectID} the defectID upon which update will be made
    @param {name} the name of the defect upon which update will be made
    @param {verdict} the status of the defect i.e. Closed / Blocked etc.
    @param {notes}  the notes which needs to be updated

rallyUtl.updateDefectResult(rallyConnectInfo, 'DE993077', 'my new defect123', 'Closed', 'updating the existing defect');


Adds a new defect to the existing test case
    @param {rallyConnectInfo} , RALLY connction info thet is required to authenticate user
    @param {testcaseID} the testcaseID upon which new defect will be associated
    @param {defectName} the name of the defect

rallyUtl.addDefectToTestcase(rallyConnectInfo, 'TC889343', 'creating a new defect on a testcase - feb -12');


Delete testcase or a defect (either from a test case or from a story)
    @param {rallyConnectInfo} , RALLY connction info thet is required to authenticate user
    @param {objectType} the type of the object; either from a test case or from a story
    @param {RALLY_WORKSPACE_ID} the workspaceID  optional, only required if deleting in non-default workspace, else ignore it.

rallyUtl.delectObject(rallyConnectInfo, 'TestCase', 'TC900088', RALLY_WORKSPACE_ID);
rallyUtl.delectObject(rallyConnectInfo, 'Defect', 'DE108368');

Contribution

Create a fork of the project into your own repository. Make all your necessary changes and create a pull request with a description on what was added or removed and details explaining the changes in lines of code. If approved, project owners will merge it.

Licensing

MIT