Leverage Cloud Technologies with the Codebase Integrations Public Workspace

Avatar

This is a guest post written by Codebase, a UC Berkeley student organization that builds software projects for high-growth tech companies.

Codebase is a UC Berkeley student organization that builds software projects for high-growth tech companies. During the Spring 2021 semester, we worked with Postman to develop a Postman public workspace containing several cloud integrations that use technologies such as Amazon Web Services (AWS), Microsoft Azure, and Google Cloud Platform (GCP). In this blog post, we’ll give a brief overview of the technical aspects of the four types of integrations now available in our Codebase Cloud Integrations public workspace.

1. Website Management Integration

We first worked on the Website Management Integration. This integration component consists of three sub-integrations that users can utilize to manage their websites. The first sub-integration allows users to upload an API schema from Postman to AWS/Azure API Management services. The next sub-integration handles blob storage and enables users to upload blobs to AWS S3/Azure Blob Storage services. Lastly, the AWS Cognito/Azure Active Directory B2C sub-integrations are used to create user flows, which can be used to facilitate user sign-in policies and management.

2. Version Control Integration

The second set of integrations we worked on was the Version Control Integration. This integration allows users to push a Postman Collection to a branch and directory of their choice in AWS CodeCommit/Azure Repos. Configured correctly with a monitor, this is essentially an autosave feature. Automatic updates to a repository make it easy to recover lost progress if something is accidentally deleted with a commit history of previous edits to the collection.

A flowchart of the workflow for the Version Control Integration
A flowchart of the Version Control Integration workflow

3. Log Collection Integration

The most challenging integration we worked on was the Log Collection Integration. Both AWS API Gateway and Azure API Management can be configured to store logs of requests made to deployed APIs. This makes it possible for one to view a series of requests made during a certain time period. The integration we built takes these logs and dynamically generates a Postman Collection, allowing one to conveniently save and rerun requests that they had made earlier to create a sort of snapshot of log history in time.

A flowchart of the Log Collection integration workflow
A flowchart of the Log Collection Integration workflow

4. GCP Asset Upload Integration

One of our stretch goals was to build a final integration to upload assets to Google Cloud Storage. Similar to AWS S3 and Microsoft Azure Blob Storage, this integration uploads assets to a specific Cloud Storage Bucket on the Google Cloud Platform, creating the bucket if it doesn’t already exist.

Additional resources

Mock servers

After developing the aforementioned integrations, we created mock servers for each one to help users understand the expected response of each request. Users can switch between their regular environment and mock environment to retrieve mock responses. All examples are sanitized and dynamic variables are added where applicable.

Documentation

To learn more about the technical details for each of these integrations, please refer to each collection’s documentation in the workspace, which also outlines the process for forking and experimenting with the collections.

Stay tuned for more

We worked hard to create integrations that highlight the power Postman provides to developers by leveraging proprietary cloud technologies—and we hope you’ll enjoy putting them to use. For more insights into our experience working on this project, stay tuned for our next guest post on the Postman blog.

What do you think about this topic? Tell us in a comment below.

Comment

Your email address will not be published. Required fields are marked *


This site uses Akismet to reduce spam. Learn how your comment data is processed.