Skip to content

Pull Requests

Pull requests let collection collaborators propose, review, and merge changes between forked collections. Reachable via client.PullRequests(). See Reviewing pull requests for background.

Quick Example

import (
    "context"

    postman "github.com/grokify/postman-go"
    "github.com/grokify/postman-go/pullrequests"
)

client, _ := postman.NewClient(postman.WithAPIKey(key))
ctx := context.Background()

// Get a pull request's current state.
pr, err := client.PullRequests().Get(ctx, "6")

// Approve it.
_, err = client.PullRequests().Review(ctx, "6", &pullrequests.ReviewInput{
    Action: pullrequests.ReviewActionApprove,
})

Methods

Method Description
Get(ctx, pullRequestID) Get information about a pull request: source and destination, reviewers, and merge status.
Update(ctx, pullRequestID, *UpdateInput) Update an open pull request's title, description, or reviewers.
Review(ctx, pullRequestID, *ReviewInput) Approve, decline, merge, or unapprove a pull request.

Get

pr, err := client.PullRequests().Get(ctx, "6")
fmt.Println(pr.Title, pr.Status, pr.Merge.Status)
for _, rv := range pr.Reviewers {
    fmt.Println(rv.ID, rv.Status)
}

Update

result, err := client.PullRequests().Update(ctx, "6", &pullrequests.UpdateInput{
    Title:       "Add new auth endpoints",
    Description: "Adds the OAuth 2.0 token endpoints.",
    Reviewers:   []string{"1234", "5678"},
})

Review

result, err := client.PullRequests().Review(ctx, "6", &pullrequests.ReviewInput{
    Action:  pullrequests.ReviewActionMerge,
    Comment: "LGTM, merging.",
})
// Action also accepts ReviewActionApprove, ReviewActionDecline, ReviewActionUnapprove.

Reference

Source: pullrequests/ ยท GoDoc