# Integrate GitHub Actions with Postman
**[GitHub Actions self-hosted runners are available with Postman Enterprise plans with the API Builder add-on.](https://www.postman.com/pricing/)**
[GitHub Actions](https://docs.github.com/en/actions) is a continuous integration and continuous delivery (CI/CD) service that's integrated with GitHub. Software development teams can use GitHub Actions to automatically build, test, and deploy code in GitHub.
To set up a GitHub Actions integration for your API in the Postman API Builder, first create a pipeline in GitHub and then configure your API in Postman. After you set up the integration, you can view the status of builds from within Postman.
## Create a pipeline in GitHub
If you haven't already, create a pipeline in the GitHub repository you use for your API. To create a pipeline, create a directory in your repository named `.github/workflows`, and then add a YAML file to the directory. You define your pipeline in this YAML file. To learn more, see [the GitHub Actions documentation](https://docs.github.com/en/actions/using-workflows/about-workflows).
## Configure a GitHub Actions integration
1. Open your API by selecting **APIs** in the sidebar. *Each API can be linked to one CI project*.
If you've already authenticated with GitHub to connect a Git repo for source control, you can use the same authentication. To automatically create the integration, under **Test and Automation**, select **Connect to GitHub**.
2. Click **Test and Automation**.
3. Under **Automate**, select **GitHub Actions**.
4. You'll be prompted to allow Postman to access your GitHub account. After you grant access, you can close the browser tab and return to Postman.
**There's a limit of ten auth tokens per user per application imposed by GitHub.** If you create more than ten connections with the same user, the extra tokens will be revoked in the order that they were created. Teams can use other Postman accounts to create more than ten integrations.
5. Enter a **Nickname** to help you recognize the integration later. Postman pre-fills a nickname in the format `GitHub-{API_NAME}`, and you can edit it if you want.
6. Select the GitHub **Organization** with your API repository.
7. Select the **Repository** used for your API.
8. Click **Connect**.
## View build status
After you set up a GitHub Actions integration, information for build jobs is available in Postman. For each build you can view the branch, start time, and status (`Success` or `Failure`). You can also view the results of collection runs that are [configured in your pipeline using the Postman CLI](#view-collection-run-details).
To view build jobs, open an API and click **Test and Automation**. The most recent jobs are listed under the repository name.
You can't start GitHub Actions builds directly in Postman. To [start a new build](https://docs.github.com/en/actions/managing-workflow-runs/manually-running-a-workflow), go to GitHub.
Click **View All Builds** to view the full list of build jobs. From here you can take the following actions:
* Use the dropdown lists to filter jobs by branch or build status.
* To open a build in GitHub, select the build name.
* To get the latest build status information, click
**Refresh**.
* To edit or delete the integration, click the more actions icon
.
## View collection run details
Using the Postman CLI, you can run Postman collections with your API tests as part of a GitHub Actions pipeline.
To view details for collections that were run as part of a build, first [configure the Postman CLI for GitHub](#configure-the-postman-cli-for-github-actions) and then [start a new build in GitHub](https://docs.github.com/en/actions/managing-workflow-runs/manually-running-a-workflow). After the build is complete, use the arrows to expand a build and expand a collection to view details about a collection run.
Click **View Report** to view a collection run report in the Postman **History**. Learn more about using the [Collection Runner](/docs/collections/running-collections/intro-to-collection-runs/).
## View API Governance and API Security rule violations
Using the Postman CLI, you can enforce [Postman API Governance and API Security rules each time the pipeline runs](/docs/api-governance/api-definition/api-definition-warnings/#track-governance-and-security-rule-violations-in-cicd) using the [api lint](/docs/postman-cli/postman-cli-options/#governance-and-security) command ([Enterprise teams only](https://www.postman.com/pricing/)).
To view the results of API Governance and API Security checks that ran as part of the build, first [configure the Postman CLI for GitHub Actions](#configure-the-postman-cli-for-github-actions) and then [start a new build in GitHub](https://docs.github.com/en/actions/managing-workflow-runs/manually-running-a-workflow). After the build is complete, use the arrows to expand a build and expand an API specification stored in the Postman API Builder to view any rule violations.
## Configure the Postman CLI for GitHub Actions
With the help of the Postman CLI and the Postman API, you can run Postman collections with your API tests as part of your GitHub pipeline. First generate the Postman CLI configuration code in Postman. Then add the configuration code to a YAML file in the `.github/workflows` directory in your GitHub repository.
Each time the pipeline runs, the Postman CLI runs the collections that contain your tests. You can view the results of your tests in Postman. You can also enforce [API Governance and API Security rules](/docs/api-governance/api-definition/api-definition-warnings/#track-governance-and-security-rule-violations-in-cicd) each time the pipeline runs ([Enterprise teams only](https://www.postman.com/pricing/)).
Before you begin, make sure you've already [set up an integration](#configure-a-github-actions-integration) between your API and GitHub Actions.
To generate configuration code for the Postman CLI, do the following:
1. Open your API and click **Test and Automation**.
2. Under the repository name, select **View All Builds**.
3. Click **Configure Postman CLI**.
4. Select a **Collection** to run during pipeline builds. To be available in the list, you must first [add the collection as a test suite](/docs/design-apis/api-builder/testing-an-api/#adding-api-tests) to your API in the Postman API Builder. You can also select an **Environment** to use.
5. (Optional) Select the checkbox to enforce API Governance and API Security rules each time the CI/CD pipeline runs ([Enterprise teams only](https://www.postman.com/pricing/)).
6. Select the **Operating system** for your CI/CD pipeline.
7. Click **Copy Postman CLI Command** to copy the Postman CLI configuration.
To add the Postman CLI configuration to your GitHub pipeline, do the following:
1. Create a new YAML file in the `.github/workflows` directory in your GitHub repository, and then edit the file.
2. Add the Postman CLI configuration you copied from Postman to the YAML file. Then, replace all instances of `$POSTMAN_API_KEY` with a valid [Postman API Key](/docs/developer/postman-api/authentication/#generate-a-postman-api-key).
Postman recommends that you store your Postman API key as a secret in GitHub to keep it secure. To learn more about secrets, see the [GitHub documentation](https://docs.github.com/en/actions/security-guides/encrypted-secrets).
3. Commit and push the changes to your remote repository. This will automatically start a build in GitHub.
4. To view the test results in Postman, open your API and click **Test and Automation**. Learn more about [Viewing collection run details](#view-collection-run-details).