Giter Site home page Giter Site logo

fossabot / standup-raven Goto Github PK

View Code? Open in Web Editor NEW

This project forked from standup-raven/standup-raven

0.0 1.0 0.0 2.05 MB

A Mattermost plugin for communicating daily standups across team

License: Apache License 2.0

Makefile 3.28% Go 68.58% JavaScript 28.01% CSS 0.13%

standup-raven's Introduction

CircleCI Fossa FOSSA Status

A Mattermost plugin for communicating daily standups across team

✨ Features

  • Configurable standup window per channel for standup reminders

  • Automatic window open reminders

  • Automatic window close reminders

  • Per-channel customizable

  • Automatic standup reports

  • Multiple standup report formats -

    • User Aggregated - tasks aggregated by individual users

    • Type Aggregated - tasks aggregated by type

  • Ability to preview standup report without publishing it in channel

  • Ability to manually generate standup reports for any arbitrary date

🧰 Functionality

  • Customize standup sections on per-channel basis, so team members can make it suite their style.
  • Multiple report formats to choose from.
  • Receive a window open notification at the configured window open time to remind filling your standup.
  • Receive a reminder at completion of 80% of configured window duration to remind filling your standup. This message tags members who haven't yet filled their standup.
  • Receive auto-generated standup report at the end of configured window close time. The generated standup contains names of members who have yet not filled their standup.

TODO

  • Permissions
  • Vacation
  • Periodic reports

🚦 Getting Started

These instructions will get you a copy of the project up and running on your local machine for development and testing purposes.

See deployment notes on how to deploy the project on a live system.

πŸ”‘ Prerequisites

Set up your development environment for building, running, and testing the Standup Raven.

πŸ‘¨β€πŸ’» Obtaining Source

# TODO - test this, and update to use new repo path
$ go get -u github.com/standup-raven/mattermost-standup-plugin/..

Go

Requires go version 1.12

https://golang.org/doc/install

NodeJS

Recommended NodeJS version 10.11

https://nodejs.org/download/release/v10.11.0/

Make

On Ubuntu -

$ sudo apt-get install build-essential

On MacOS, install XCode command line tools.

HTTPie

You need this only if you want to use $ make deploy for deployments to Mattermost instance.

On MacOS

$ brew install httpie

On Ubuntu

$ apt-get install httpie

For other platform refer the official installation guide.

πŸ‘¨β€πŸ’» Building

Once you have cloned the repo in the correct path - $GOPATH/JoshLabs, simply run $ make dist from the cloned repo.

This will produce three artifacts in /dist directory -

Flavor Distribution
Linux mattermost-plugin-standup-raven-vx.y.z-linux-amd64.tar.gz
MacOS mattermost-plugin-standup-raven-vx.y.z-darwin-amd64.tar.gz
Windows mattermost-plugin-standup-raven-vx.y.z-windows-amd64.tar.gz

This will also install, Glide - the Go package manager.

⬇ Installing

Upload the plugin binary for your platform in Mattermost System Console > Plugins (BETA) > Management.

πŸ’― Running Tests

Following command will run all server and webapp tests -

$ make test

πŸ‘ž Running Style Check

This will run server and webapp style checks -

$ make check-style

You can also run style check for server and webapp individually

$ make check-style-server # server style check
$ make check-style-webapp # webapp style check

πŸŒοΈβ€β™€οΈDeployment

The plugin can be deployed to Mattermost directly via the deploy make command. You need to expose the following environment variable for it to work -

$ export MM_SERVICESETTINGS_SITEURL="<mattermost-site0url>"; \
export MM_ADMIN_USERNAME="<username-to-upload-via>"; \
read -s MM_ADMIN_PASSWORD; export MM_ADMIN_PASSWORD; \
export PLATFORM="<target-mattermost-platform>";

πŸ–Š Usage Instructions

  1. Create a channel for your team standup or use an existing one.

  2. Add configurations for your standup -

     /standupconfig
    

    this opens a modal where you can enter your channel's configurations.

  3. Add members to standup -

     /standupaddmembers <usernames...>
    

    Usernames can be specified as @ mentions.

  4. You may verify saved config if you want by executing -

     /standupviewconfig
    
  5. Fill your standup by clicking on the Standup Raven icon in the channel header bar. The icon may be hidden in ellipsis icon.

  6. Execute help command anytime to access plugin commands help -

     /standuphelp 
    

βš™ Plugin Configurations

  • Bot Username: User account to be used for sending all automated posts from. It's recommended to use a separate, bot account for the purpose.
  • Time Zone: The time zone your team is working in. This is to make sure all datetimes you enter are interpreted in your timezone and not in server's.
  • Work Week Start: Day on which your work week starts.
  • Work Week End: Day on which your work week ends.

⁉ Troubleshooting

  • I submitted my standup but it's not showing up in the report.

    Make sure you submitted the standup in the same channel as the report gets generated in.

  • I filled my standup report but had to make some changes to it. However, I'm seeing a blank standup form on opening it.

    Make sure you are in the same channel as you originally filled your standup it.

  • I'm seeing "Standup not configured for this channel" message on opening the standup modal.

    Make sure you are filling the standup in the right channel or that standup has been configured in the channel.

  • I'm seeing "You are not a part of this channel's standup" message on opening the standup modal.

    You are not the part of current channel's standup. Make sure you are filling standup in the right channel or that you were correctly added to the channel's standup.

  • I'm seeing "No members configured for this channel's standup" message on opening standup modal.

    Make sure you've added some members to the channel's standup.

  • I'm seeing "Standup is disabled for this channel" message on opening standup modal.

    The channel standup is disabled. Run /standupconfig and enable standup from the modal that opens.

  • I think the plugin is awesome and super cool.

    Hey, that's not a problem! It was designed that way 😎.

🌟 Attribution

Project logo (the Raven) is made by Freepik from www.flaticon.com is licensed by CC 3.0 BY

License

FOSSA Status

standup-raven's People

Contributors

ayadav avatar fossabot avatar harshilsharma63 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    πŸ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. πŸ“ŠπŸ“ˆπŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❀️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.