Sync Ends - End Development Overheads
Project description
Sync-Ends
Table of Contents
- Overview
- Features
- Architecture Diagram
- How to Setup
- Config file Setup
- Prerequisites
- Code Documentation
- License
Overview
Sync-Ends is a productivity service, an automated bridge to sync service owners and service consumers that focuses on saving developer time by automatically notifying API consumers when a change is made in the API.
With more and more teams working autonomously and focusing on a microservice and API-driven culture, it is a hassle, for the API developers to keep notifying their consumers of API changes, and for the API consumers to keep track of these API changes and make required changes in their codebase.
Sync-Ends service addresses this problem by taking the hassle away from the API developers and consumers. The Sync-Ends service continuously monitors the API collection in Postman (being worked on by API developers) and every time an API changes in this collection, it notifies a slack channel (followed by the API consumers) with a diff of the change. This way, API developers don't need to manually post messages every time something changes in the service and API consumers are sure that they are utilising the latest API changes.
Take a look at this short video to understand the project idea better.
Features
Feature | Description |
---|---|
1-step service execution | Simple 1-step CLI execution for Sync Ends service |
API Change Notification | Get notifications about changes made to the API in Postman along with detailed diff of changes |
Track Postman collection | Ability to track a Postman collection and get notifications |
Slack Bot Subscription | Set frequency of notifications as well as customize Slack channel for updates |
Architecture Diagram
How to Setup
- Perform the steps described in the Prerequisites section.
- Install python 3.
- To install packages, run:
pip install -r requirements.txt
- Create a config json file to be used by the Sync Ends service. Refer to the config file setup section for details.
- Run the service using:
python src/main.py --config <config-file-path>
Config file Setup
The sync-ends service uses a configuration file to configure postman token, slack channels and other parameters required to run the service. The file format must be .json
. Here's how the config file looks like:
{
"postman_api_key": "<a>",
"slack_token": "<b>",
"trigger_interval": <c>,
"collections": [
{
"collection_name": "<d>",
"slack_channel": "<e>"
}
]
}
where,
a
: postman api key generated using steps shown in Postman Setup section.b
: slack token generated using steps shown in Slack Setup section.c
: [optional: default=10] time (in seconds), after which application will periodically check for api changesd
: collection name from postman collectionse
: [optional: default="general"] slack channel in which notifications will be sent (must be a public channel)
Prerequisites
Step 1: Setup Postman
- Sign in to Postman.
- If you do not have any pre-exiting collections on Postman, import this sample collection.
- To integrate with the Sync Ends service, a Postman API key is required. Generate API key by visiting this page.
- Copy the generated API key. This is required during the time of execution of the service. Make sure you store it safely as you won't be able to view this any other time.
Step 2: Create a Slack workspace and integrate Slack bot
2a. Creating Slack workspace
- Open https://slack.com/.
- Provide your email ID. Select
Create New workspace
. - Check your email and enter the code to verify your email.
- Provide your name and set a password.
- Add some details to your workspace in the next page.
- Provide a company name.
- Workspace URL should be unique. Also remember this URL, this is what is used to login to your Slack instance.
- Agree with the terms.
- Skip the invite step.
- You are up and running with your own instance of Slack.
2b. Creating Slack bot
- Open your
<workspace-URL>/apps
(the one you created above). For example, https://test-visual.slack.com/apps. - Search for bot in the search bar and select
Bots
. - In the Bots landing page, click on
Add configuration
. - Provide a Bot name. For example,
wolfpack-bot
and click onAdd Bot integration
. - In the
Setup instruction
page:Copy and store the API Token
. For example, the token may look something like this:xoxb-22672546-n1X9APk3D0tfksr81NJj6VAM
. - Save the Bot integration.
Code Documentation
The documentation for the code classes and methods is generated using pdoc3
. To view this documentation, clone the repo and navigate to docs/src/
and open index.html
in a browser.
License
This project is licensed under the MIT License.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file sync-ends-api-service-2.1.4.tar.gz
.
File metadata
- Download URL: sync-ends-api-service-2.1.4.tar.gz
- Upload date:
- Size: 17.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.1 CPython/3.10.5
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0a5854a30ce4baeecffeb6b7a2757420fde7d362323a99a3e4f676bb5107bb84 |
|
MD5 | 028c250f648476896eecb92ccc8ce0b5 |
|
BLAKE2b-256 | 424c82a2cc14ea17a72a76d2a90f5da562ed4beeb685f0c8f14fecaf725784e8 |
File details
Details for the file sync_ends_api_service-2.1.4-py3-none-any.whl
.
File metadata
- Download URL: sync_ends_api_service-2.1.4-py3-none-any.whl
- Upload date:
- Size: 19.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.1 CPython/3.10.5
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 67fbcb8392f32b5418308d9ea6c7e46a39f12e98dc5812b3d8bcb4548341f81e |
|
MD5 | fa78a3a88db05053184bb3c8acb5eddd |
|
BLAKE2b-256 | c5afd44c6b637bdfc98283ac4db236db55288b3328efebaa71b640d73c93abf9 |