Skip to content

ralf-br/ng-harvest-jira-sync

Repository files navigation

NgHarvestJiraSync

!!! DEPRECATED !!!

This repo is not actively maintained anymore - known vulnerabilities from outdated dependencies not addressed. Feel free to use or clone this repo at your own risk.

Preparation for local build

This project was initially generated with Angular CLI version 8.3.2.

  • Angular-cli must be installed locally to build the project. See also above link.
    • Install node/npm
    • Install angular-cli globally with npm install -g @angular/cli
    • Install node dependencies npm install
    • Build this project with ng build - see also below

Build locally and load as Chrome Plugin

Run ng build to build the project. The build artifacts will be stored in the dist/ directory.

  • You can import the content of the dist/ directory to chrome
    • goto chrome://extensions/
    • change to Developer mode
    • Load unpacked extension...
    • select the /dist folder (after calling ng build)
    • for reloading the plugin after code changes just call ng build - chrome automatically detects changes

Build release package

Building the actual release zip file is automated with GithubActions - see .github/workflows/build.yml for details It's all about setting the versions and tagging. Everything happens on the develop branch. No master branch used so far.

Example release of version 0.6.0:

  • set release version in manifest.json
    • first digit - x: major release
    • second digit - y: feature release
    • third digit - z: bug fix release
    • firth digit: NOT used. Only set while development to "999" meaning "-SNAPSHOPT"
  • make relevant updates of description and screenshots for the chrome webstore in src/assets_notInDist
    • screenshot needs to be 1280x800px .png
    • scale smaller screenshot via gimp to 1280px width
  • commit changes: git commit -am "release 0.6.0"
  • tag release: git tag 0.6.0
  • push remote: git push --tags
  • wait for GitHub Actions pipeline and download the artifact
  • goto https://github.com/mineralf/ng-harvest-jira-sync/tags and manually create a Release including release notes and artifact
  • upload zip file via https://chrome.google.com/webstore/developer/dashboard
    • update description and screenshot if relevant
  • change manifest.json in release/0.6.0 to next feature release version plus .999 (SNAPSHOT) -> 0.7.0.999
  • commit changes: git commit -am "snapshot 0.7.0.999"
  • push: git push

Code scaffolding

Run ng generate component component-name to generate a new component. You can also use ng generate directive/pipe/service/class/module.

Further help

To get more help on the Angular CLI use ng help or go check out the Angular CLI README.

The Following Local Server & Tests are not used

Development server

Run ng serve for a dev server. Navigate to http://localhost:4200/. The app will automatically reload if you change any of the source files.

  • This will not allow the app to communicate to JIRA and Harvest for CSRF reasons.
  • (!) Instead the app needs to be build using ng build and imported as chrome plugin

Running unit tests

Run ng test to execute the unit tests via Karma.

  • (!) no unit tests implemented so far

Running end-to-end tests

Run ng e2e to execute the end-to-end tests via Protractor.

  • (!) no e2e tests implemented so far