Skip to content

How to Contribute

kosalanuwan edited this page May 21, 2017 · 6 revisions

Contributing to JIRA Journal

There are many ways to contribute to the jira-journal project: logging bugs, submitting pull requests, reporting issues, and creating suggestions.

Issues labeled beginner are good candidates to pick up if you are in the code for the first time.

Build and Run from Source

To understand how JIRA Journal works or to debug an issue, get the source, build it, and run the tool locally.

Installing Prerequisites

  1. Install .NET Core
  2. Install Git
  3. Install a recent version of NodeJS
  4. Checkout the code and install dependencies
git clone https://github.com/99xt/jira-journal
cd jira-journal
npm install
  1. Download ngrok and copy to bot folder
  2. Install Bot Framework Emulator

Packaging

JIRA Journal can be packaged to Skype Bot and other channels that is supported by Bot Framework.

Development Workflow

Validate your changes

TBD

Debugging

JIRA Journal has multi-process architecture and your code is executed in different processes.

The bot process runs the UI code in a node shell.

  1. Create a .env file inside bot folder with following schema
  2. Fill in the configurations accordingly
  3. Run the bot
cd bot
node .

The seranet backend API code runs in a .NET host process.

  1. Create a appsettings.json file inside seranet folder with following schema
  2. Fill in the configurations accordingly
  3. Run the service
cd seranet
dotnet run

We use the Bot Framework Emulator for Testing and Debugging locally.

Linting

TBD

Pull Requests

To quickly review and accept your pull requests, always create one pull request per issue and link the issue in the pull request.

Be sure to follow our Coding Guidelines.

Keep code changes small as possibile.

Where to contribute

Check out the full list of issues for all potential areas for contributions.

Etiquette

Limit discussion to English.

Keep the conversations clear, transparent, and direct.

Be courteous and professional at all times.