Managing Pull Requests

A pull request (PR) or request to merge is a workflow in software development that facilitates code changes to be merged from the local branch to the main project branch after review and approval.

Pull requests enables collaboration between contributors/developers and other stakeholders before a change is approved. Review comments can be shared, changes implemented and committed before merging the PR. In the Oracle Cloud Infrastructure (OCI) DevOps service, a pull request triggers a build run to deploy the code changes. Merge checks configured in the repository ensures the build succeeds without any conflicts. Every pull request is associated with resources such as providing comments, adding attachments, and viewing differences between source and destination commits. You can also receive notifications for the various pull request events.

The service limit set on the pull request resources are:

  • Pull requests per month: 2000
  • Comments per user per pull request: 100
  • Comments per pull request: 1000
  • Reviewers per pull request: 200

In DevOps, the pull request access varies based on the actions that a user is allowed to perform. You can create different user groups and assign each group permissions specific to roles such a repository owner, developer, and contributor. You can map the group permissions to a predefined policy resource type devops-repository-family or write custom policies to meet your unique requirements. Following examples show how predefined policies are mapped to different user groups:

Group Permission Sample Policy
Admin

Create pull request

Approve pull request

Delete pull request

Comment pull request

Create protected branch

Manage pull request

Manage pull request settings

Manage protected branch

Allow group Admin to manage devops-repository-family in compartment <compartment_name>

Allow group Admin to inspect users in tenancy

Developer

Create pull request

Approve pull request

Comment pull request

Manage pull request

Allow group Developer to use devops-repository-family in compartment <compartment_name>

Allow group Developer to inspect users in tenancy

Contributor

Read pull request

Approve pull request

Comment pull request

Allow group Contributor to read devops-repository-family in compartment <compartment_name>

Allow group Contributor to inspect users in tenancy

This section includes the following topics: