Software Engineering Project for CSC 510
Sync Ends is an automated bridge to sync service owners and service consumers. Every team has a single postman collection that they use to test their APIs and share it across in their documentations. The backend team has to register their service on our application and we take care of the rest. Everytime there is a change in the way the api is called, we parse the changes and inform the consumers. This way all the team members are informed about the changes and know exactly what to edit in their product. The Slack framework lets you concentrate on the core
functionality you want to build without worrying about integration overheads.
Feature | Description |
---|---|
API Change Notification | Changes made to the API in postman |
API Changes | Automated detailed diff of the changes |
Slack Bot Subscription | Subscribe to a list of APIs based on your preference , Set frequency and method of update |
Configurable Ping | Choose the ping interval to detect changes in a collection |
Testing | Polling service to test API uptime |
API history and change logs | Tracking the list of changes all the way from V1 |
- 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
- Add the key to
.env
asPOSTMAN_TOKEN
.
Create a slack team and slackbot(You can skip this section if you already have a slack bot API token)
Follow the below steps to create a slack team and then a slack bot. You can skip this step if you already have a team and are the admin.
- 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 team in the next page
- Provide a company name
- Team 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.
Now that team is created, let us create a slack bot
- Open your {team-URL}/apps (the one you created above). Ex: 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. Ex: wolfpack-bot and click on Add Bot integration
- In the Setup instruction page:
Copy and store the API Token
. Ex: xoxb-22672546-n1X9APk3D0tfksr81NJj6VAM - Save the integration
In line #133 of src/sync_ends_service.py, replace <slackbot token>
with your bot token after bot creation: Creating Slack Bot
cd src
python3 sync_ends_service.py
- Rahul Yedida
- Shuzheng Wang
- Jialin Cui
- Adithya Raghu Ganesh
- Meghana Ravindra Vasist
- Shivaprakash Balasubramanian
- Surbhi Jha
- Varsha Anantha Ramu Sharma
This project is licensed under the MIT License.
While the PyPI package is called slackclient, you import the module using the name slack:
from slack import WebClient
You may find this not work on your first try, before you change moudle name or try to get the old version of slackclient, simply uninstall slackclient then install it again may give you a easy fix.
The current app 'bots' we are using does not have the right to create a channel, so I crate my own app and give it the right to create channel. The link is here https://api.slack.com/apps After go to this page just click Create New App, give it whatever name you want and a workplace you want to add it. Then I selected Permission to add the permission we need. Simply give this link https://slack.com/oauth/v2/authorize as the Redirect URLs. After this in the Bots Token Scope section choose add an OAuth scope. Based on the api we are using: conversations.list needs: channels:read groups:read im:read mpim:read conversations.create needs: channels:manage groups:write im:write mpim:write chat.postMessage needs: chat:write We can add more along the way when we need new scope. After add all these permissions, just choose install app, and you will get a token that can be used.