Skip to content

Latest commit

 

History

History
73 lines (55 loc) · 4.37 KB

README.md

File metadata and controls

73 lines (55 loc) · 4.37 KB

Library for project planning from YouTrack data. Retrieve past project schedule from activity log, and compute future schedule from unresolved issues and the available contributors.

Status

Build Status Coverage Status Language grade: JavaScript npm

Overview

  • Comprehensive API documentation. Generated by TypeDoc.
  • See the interactive demo for experimenting with the API.
  • Reconstructs a project plan (that is, an overview when each issue was being worked on) from the YouTrack activity log.
  • Uses the list-scheduling algorithm implemented in fschopp/project-planning-js to compute a (future) project plan for the unresolved YouTrack issues.
  • Written in TypeScript, but easily usable from JavaScript.
  • Tests have full code coverage.

License

Apache License 2.0

Releases and Usage

Published releases include TypeScript type declarations and are available as either UMD or ECMAScript 2015 (aka ES6) modules.

Node.js

Install with npm install @fschopp/project-planning-for-you-track or yarn add @fschopp/project-planning-for-you-track. Use the package as follows (example is in TypeScript, but ES6 JavaScript essentially reads the same, minus the types):

import {
  ProgressCallback,
  ProjectPlan,
  retrieveProjectPlan,
  YouTrackConfig,
} from '@fschopp/project-planning-for-you-track';
const baseUrl: string = 'https://<name>.myjetbrains.com/';
const progressUpdate: ProgressCallback = (percentDone) => {
  /* ... */
};
const youTrackConfig: YouTrackConfig = {
  stateFieldId: '<state-field-id>',
  /* ... */
};
const promise: Promise<ProjectPlan> =
    retrieveProjectPlan(baseUrl, youTrackConfig, progressUpdate);

Browser

Include the minified sources from the jsDelivr CDN:

<script src="https://cdn.jsdelivr.net/npm/@fschopp/project-planning-for-you-track@.../dist/index.min.js"
  integrity="..." crossorigin="anonymous"></script>

Of course, the two occurrences of ... need to be replaced by the current version and its corresponding subresource integrity (SRI) hash. Then, in a subsequent script:

/* baseUrl, youTrackConfig, and progressUpdate defined as above */
const promise = ProjectPlanningForYouTrack.retrieveProjectPlan(
    baseUrl, youTrackConfig, progressUpdate);

If you intend to use method scheduleUnresolved(), note that it depends on fschopp/project-planning-js. You therefore need to add a <script> element for that package, too; before the one for this package. Due to cross-origin restrictions for web workers, package fschopp/project-planning-js needs to be served from the same domain as your website (see also the explanation there).

Build

References