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
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
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
- See the corresponding section in project fschopp/project-planning-js. The description there applies for this project as well.
References
- Cohn (2006): “Agile Estimating and Planning,” Prentice Hall, ISBN 9780131479418.