Skip to content

connorads/lockbot

master
Switch branches/tags
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
src
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Lockbot

Node.js CI Coverage Status Join Slack workspace MIT License

Demo: lockbot.app

Coordinate use of your team's shared resources, in Slack 🀝

Lockbot only lets each shared resource be locked by one person at a time - like a Mutex πŸ”’

Example use case: One person wants to deploy and test on a shared staging environment without someone else deploying and overwriting their deployed code, so they use /lock staging-env to lock the staging environment and notify the channel.

⚠ Lockbot cannot physically prevent naughty or unaware users from using a resource whilst it's locked by someone else. Your team must agree to use Lockbot whenever they start or stop using a shared resource.

Add Lockbot to Slack

How to use Lockbot

Lockbot has three main commands:

  • /locks Get locked resources list πŸ“œ
  • /lock [resource-name] Lock a resource πŸ”’
  • /unlock [resource-name] [options] Unlock a resource πŸ”“
    • Set [options] to force if you need to unlock when someone is away on holiday β›±

Each Slack channel has its own list of resources.

When someone successfully locks or unlocks a resource, the channel is notified.

Lockbot API

It is possible to view, create and delete locks via the Lockbot HTTP API.

To explore the API take a look at the OpenAPI spec.

The API is secured using basic access authentication.

  • /lbtoken Learn about Lockbot API access tokens πŸ’‘
  • /lbtoken new Generate a new Lockbot API access token 🎫

Each access token is scoped to the Slack team and channel they were created in and to the user who created them.

Contributing

Don't be a stranger, contributions are welcome ✨

See the Contributing Guide for development setup instructions.

Security

If you discover a security vulnerability, please send an e-mail to security@lockbot.app