Skip to content
View jonico's full-sized avatar
🪐
@ home
🪐
@ home

Sponsors

@bitoiu

Highlights

  • Pro
Block or Report

Block or report jonico

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Please don't include any personal information such as legal names or email addresses. Maximum 100 characters, markdown supported. This note will be visible to only you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
jonico/README.md

👋 I am an Open Source Enthusiast, originally working for GitHub, now working for Postman, who is interested in all things in all things IssueOps, integrations, CI/CD and API design. When I started at Postman, I noticed that it is actually quite similar to GitHub - just for APIs and not for code. However, some similar concepts had different names, so we created this table to make adoption easier and use my two favorite platforms together.

Postman vs GitHub Terms / Concepts

Postman Concept GitHub Equivalent Concept Remarks
Team Enterprise Account Probably the biggest difference between terms: A Postman team consists of literally all users and workspaces of your entire company - or at least all the users that are part of your plan. A team can have unlimited workspaces. If you are looking for a concept to group a subset of users together that form a “people team”, have a look at Postman user groups
Workspace Organization
Public workspace Organization with public repositories
Team workspace Organization with an enterprise account with internal repositories or standalone organization with default access/base permissions set to at least “Read”
Private workspace Organization where repository access is gated by team level access rights, base permissions set to “None” This should probably be the default setting for most companies who operate on a need to know basis - they would assign user groups reflecting their “people teams” to their private workspaces as team level visibility would mean granting access to anybody in their company
Personal workspace Personal repositories in personal namespace where you did not grant access to anybody else You can have multiple personal workspaces in Postman, but only one in GitHub. The personal namespaces in Postman belong to the team you are in, in other words, you will lose access once you leave the team.
Partner Workspace Organization where external collaborators got invited that are not governed by SSO org requirements In GitHub, you can add collaborators to any repository, in Postman, you could share API links or invite to partner workspaces (after a community manager approves)
User Group Team A user group in Postman is defined at the Team Level (across workspaces), whereas in GitHub teams are defined on the organization level
Team member Member of the enterprise account / or org member of a freestanding GitHub org
Workspace Admin Org owner
Super Admin Enterprise Owner
Collection, API, Mock Server, Monitors, Environments, Flows Repository This is not really an equivalent but a conceptual mapping where repos sit in the access right hierarchy vs where elements sit within a Postman workspace
Element-based roles Repo team permissions
Workspace roles Default access rights within an org In Postman, you can grant different user groups or team members different roles that would apply to all elements of the workspace. In GitHub, you can do this only on an individual repository level or for all team members.
User Account User Account In Postman, users can only belong to up to 5 teams and can only see / search / access non-public elements of workspaces that are part of the team they are currently logged in.
User profile User profile Postman user profiles are private by default
Team profile N/A There is no thing like an enterprise profile in GitHub
Workspace description Org profile/org repo
Environments Environment Secrets Postman Envs are more flexible with current and initial values, current values will never get synched to the cloud
Globals GitHub Org Secrets Postman Envs are more flexible with current and initial values
Private API Network Pinned Repositories in orgs with private repos, Onboarding repos, Topics Postman API Network is more flexible with nested network folders and has an optional approval workflow for publishing, GitHub topics can only be searched in one organization of your enterprise
Public API Network Any public repo, GitHub explore Any resource (collection, API, Mock Server, Monitor) within a public workspace is automatically part of the Postman public API network
Private API Network Folders Repository Topics / GitHub Collections (Enterprise Server) Topics are multi-dimensional, whereas Network folders only support a nested one-dimensional hierarchy and span multiple team workspaces that can be searched together
Public API network categoriesTop 25 Workspaces GitHub Collections (GitHub.com) In both cases, you would need to talk to a community manager to get listed
Published Documentation GitHub Pages Both support custom domains
Run in Postman Button GitHub Codespaces In both cases, you are not stuck with pure documentation but can execute the assets of the workspace including visualization and test cases
Fork Fork In Postman, you can not only fork collections, but also environments. It is possible to fork to the same workspace and you can have as many forks in the same workspace as you like, making the fork based collaboration model easier. Furthermore, forks in Postman do not have to have the same visibility as the parent and will continue to exist if the parent got deleted.
Pull Changes Sync Pull RequestSync branchSyncing a fork Keeping up with changes of your parent environment/collection does not need any special branch protection rules in Postman
Pull Request Pull Request Native Pull Requests in Postman require the reviewer to have at least view permissions in the fork, which limits forks where you like to contribute back to public workspaces if the parent collection or environment is in a different team. Pull requests also work for changes to environments. For API development, it is also possible to use native GitHub Pull Requests within Postman.
Tagging members in comments @ -mention/user
N/A @-mention/team @mentioning user groups does not exist in Postman yet
Emoji Copy/Paste Emojis in Markdown Postman does not support emoji Markdown syntax yet, but you can copy/paste Unicode emojis into the various editors
Published API version Release
API links/Public links Secret gists API links in Postman can be set to expire and will not work any more if the user leaves the team
Dynamic usage limits (monitor calls, API calls, mock calls) Dynamic usage limits (Action minutes, Codespaces storage Git LFS) Postman usage limits are per team vs.most GitHub dynamic spending limits are per org
Audit Log Audit log (enterprise level)Audit log (org level)
Change log File history For APIs and collections managed with Git, the GitHub changelog is displayed
Token scanning Secret scanning

Postman Certifications

Take%20part%20in%20the%2030%20days%20of%20Postman%20coding%20challenge!

Take the challenge yourself! There is also a 15 Days challenge specialized for testers 💪

Pinned

  1. awesome-runners awesome-runners Public

    A curated list of awesome self-hosted GitHub Action runners in a large comparison matrix

    SCSS 670 38

  2. speedup-builds speedup-builds Public

    Some ideas on how to speed up builds / tests with Jenkins partitioning example

    Shell 43 17

  3. postman-solutions-eng/backstage-postman-plugin postman-solutions-eng/backstage-postman-plugin Public

    A backstage plugin that displays API and collection objects, along with their respective versions, featuring monitoring options and "Run in Postman" buttons. This plugin can be seamlessly integrate…

    TypeScript 4

  4. postman-solutions-eng/aippealing-companies-template postman-solutions-eng/aippealing-companies-template Public template

    API to create appealing images of company products made of chocolate, gold or lego

    HTML 3 1

  5. Example for a full blown Jenkins pip... Example for a full blown Jenkins pipeline script with CodeQL analysis steps, multiple stages, Kubernetes templates, shared volumes, input steps, injected credentials, heroku deploy, sonarqube and artifactory integration, Docker containers, multiple Git commit statuses, PR merge vs branch build detection, REST API calls to GitHub deployment API, stage timeouts, stage concurrency constraints, ...
    1
    #!groovy
    2
    import groovy.json.JsonOutput
    3
    import groovy.json.JsonSlurper
    4
    
                  
    5
    def label = "mypod-${UUID.randomUUID().toString()}"
  6. Jenkinsfile showing advanced Postman... Jenkinsfile showing advanced Postman CLI, portman (contract test generation) and newman integration including custom reporters and reporting status back to Postman
    1
    def checkout () {
    2
        context="continuous-integration/jenkins/"
    3
        context += isPRMergeBuild()?"pr-merge/checkout":"branch/checkout"
    4
        def scmVars = checkout scm
    5
        setBuildStatus ("${context}", 'Checking out completed', 'SUCCESS')