https://github.com/linkedin/oncall
  
  
    Oncall is a calendar tool designed for scheduling and managing on-call shifts. It can be used as source of dynamic ownership info for paging systems like http://iris.claims. 
    https://github.com/linkedin/oncall
  
calendar oncall scheduling
        Last synced: 6 months ago 
        JSON representation
    
Oncall is a calendar tool designed for scheduling and managing on-call shifts. It can be used as source of dynamic ownership info for paging systems like http://iris.claims.
- Host: GitHub
- URL: https://github.com/linkedin/oncall
- Owner: linkedin
- License: bsd-2-clause
- Created: 2017-05-02T23:29:23.000Z (over 8 years ago)
- Default Branch: master
- Last Pushed: 2024-12-10T17:45:15.000Z (11 months ago)
- Last Synced: 2025-04-12T14:53:27.203Z (7 months ago)
- Topics: calendar, oncall, scheduling
- Language: Python
- Homepage: http://oncall.tools
- Size: 5.5 MB
- Stars: 1,179
- Watchers: 40
- Forks: 232
- Open Issues: 76
- 
            Metadata Files:
            - Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Authors: AUTHORS.md
 
Awesome Lists containing this project
- awesome-python-applications - Repo - call management and scheduling, developed by and used at LinkedIn. `(server, corp)` (<a id="tag-dev" href="#tag-dev">Dev</a> / <a id="tag-dev.ops" href="#tag-dev.ops">Ops</a>)
- awesome-repositories - linkedin/oncall - Oncall is a calendar tool designed for scheduling and managing on-call shifts. It can be used as source of dynamic ownership info for paging systems like http://iris.claims. (Python)
- awesome-python-applications - Repo - call management and scheduling, developed by and used at LinkedIn. `(server, corp)` (<a id="tag-dev" href="#tag-dev">Dev</a> / <a id="tag-dev.ops" href="#tag-dev.ops">Ops</a>)
README
          Oncall [](https://gitter.im/irisoncall/Lobby) [](https://circleci.com/gh/linkedin/oncall)
======

See [admin docs](http://oncall.tools/docs/admin_guide.html) for information on
how to run and manage Oncall.
Development setup
-----------------
### Local machine
 
  See instructions for setting up Oncall on your local machine
### Prerequisites
  * Debian/Ubuntu - `sudo apt-get install libsasl2-dev python3-dev libldap2-dev libssl-dev python-pip python-setuptools mysql-server mysql-client`
### Install
```bash
python setup.py develop
pip install -e '.[dev]'
```
Setup mysql schema:
```bash
mysql -u root -p < ./db/schema.v0.sql
```
Setup app config by editing configs/config.yaml.
Optionally, you can import dummy data for testing:
```bash
mysql -u root -p -o oncall < ./db/dummy_data.sql
```
### Run
One of the following commands:
* `goreman start`
* `procman start`
* `make serve`
* `oncall-dev ./configs/config.yaml`
### Test
```bash
make test
```
### Docker compose
 
  See instructions for using docker compose
### Running
```bash
make compose
```
or running `docker compose` directly:
```bash
docker compose up --build
```
### Limitations
* Doesn't currently provide a mechanism for running tests
* Requires rebuilding to apply code changes
* Doesn't tail Python logs to stdout
## Contributing
Check out https://github.com/linkedin/oncall/issues for a list of outstanding
issues, and tackle any one that catches your interest. Contributions are
expected to be tested thoroughly and submitted with unit/end-to-end tests; look
in the e2e directory for our suite of end-to-end tests.