Skip to content

Latest commit

 

History

History
67 lines (42 loc) · 2.98 KB

README.md

File metadata and controls

67 lines (42 loc) · 2.98 KB

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