Introducing the New Pull Request Experience for Azure Repos
Pull Requests are a vital feature for many Azure Repos customers. We are excited to announce that our new pull request web experience is now available in preview! Not only is the new experience mobile-friendly and faster, we have also added several new features to help you review pull requests quicker and improve your overall pull request experience. Customers will see the preview option rollout in the upcoming weeks.
Please try out the new experience then let us know your feedback! You can try the new experience by turning on ‘New Repos pull request experience’ in preview through user settings or via a banner that will show up once the feature rolls out. After trying it, we would love to hear your feedback: New Repos Pull Request Experience Survey
Completion readiness summary in rollup view
A pull request with a large amount of policies can really clutter the view and make it difficult to determine the status of a pull request. To help get a quick picture of what the status of a pull request is, we have summed up policies in the overview tab. The rollup view will summarize the policies that are passing/failing and only surface failed checks. If available, the summary will show a snippet of the failure message from the check’s log. Re-queueing a failed policy is a one-step process. You can view all checks in a panel where you can also re-queue all checks and releases with one click, unless multiple actions can be taken on the check.
 Â
Add required reviewers per pull request
Often times, you want to be able to not just have required reviewers for branches set by policy, but also specific people from different teams to review your pull request and be able to wait on them. With the new experience, you can add reviewers to be required and wait on them to auto-complete. You can do this while creating a pull request or within a pull request in the reviewers section. You can also make existing optional reviewers required or can demote required reviewers to optional, unless they are required by policy.
 Â
Multiple Iteration select
Viewing only subsequent updates when there are several updates doesn’t always give you the full picture of changes made to files. When reviewing files in a pull request, you can now view multiple updates at a time by pressing shift and selecting which updates you’d like to see. So if you’ve already reviewed updates 1-3 but still need to review updates 4-7, you don’t have to view all updates or sift through one update at a time.
Add suggested changes and commit within a pull request
It is often tedious when a reviewer comments on your pull request with a minor change like a syntax fix that then requires you to leave the pull request experience, make the change, commit and push it, and update the reviewer. With suggested changes you can reduce the hassle by using the new “suggest an idea” option! You can include the change you are suggesting within your comment and the pull request author can accept the change without ever leaving the pull request experience. When you’re commenting, you will be able to see a preview of the diff. When you are reviewing you can choose to accept the change and make a commit for each change or batch the suggestions you are accepting to make a single commit for all the changes.
Auto-complete: wait on optional policies
Currently, when a pull request is set to auto-complete, it only waits on required policies that are set by admins. In the new auto-complete panel, you can choose to wait on optional policies as well. Once you have set auto-complete you can see all the policies auto-complete is waiting on when you “view all checks”.
Create pull request page – separate tab for the changes preview
When you create a pull request you can now preview the changes in a separate tab for files and commits the same as a pull request. This will help you ensure you have everything in order before you create the pull request.
Create pull request – wrong target branch warning
When creating a pull request, a user can sometimes select the wrong target branch by mistake and have unintended issues. The create pull request experience will now warn you when the selected changes are very large in an attempt to prevent this mistake.
Direct policy links given for reviewers added by policy
It can be difficult to understand why a reviewer is required by policy on your pull request and where the policy is being set. With the new drop down option you can click “View Policy” to directly go to where the policy was set.
View a team’s membership that is a required reviewer
Teams can be added as a required reviewer by policy and it can be hard to determine which user may be able to approve on that team’s behalf. Finding out who belongs to the group is now easier because you can click on the team’s icon and view all the members in that team without having to leave the pull request.
Improved mobile experience
The new experience makes quickly reviewing pull requests on your mobile device easier!
Improved performance
Early results show 3x the initial load improvement! The below metrics show the changes in apdex score and load time at 50th and 85th percentiles.
Old Apdex | New Apdex |
---|---|
0.719 | 0.924 |
Â
Old 50% | New 50% | Old 85% | New 85% | Delta 85% |
---|---|---|---|---|
0.875s | 0.158s | 3.072s | 0.937s | 3.28x faster |
Â
As this experience rolls out in the upcoming weeks, you will see a banner that will prompt you to turn it on. If you’ve dismissed the banner, you can also turn it on by going to user settings, then preview features and turning on the toggle for ‘New Repos pull request experience’. Once you’ve tried out the new experience, please provide us feedback through this survey to help us give you the best experience we can!
81 comments
Looks good! Can you share a timeline of when this preview feature will roll out?
Hi Shawn McGough, the feature is now available in preview. Please try it out and let us know your feedback!
I’m excited to try out some of these features but when I go to the “Preview features” menu I don’t see an option to turn this on.
Same here, bring it on please!
Hi, the feature is now available in preview. Have you tried it out yet? When you do, please let us know your feedback!
Nice!!! Can’t wait to try these features out. I’m sure this will improve the experience for our teams.
BIG IMPROVEMENTS! hope it includes the ability to link to line diffs and comments missing that so much from the github
Does this fix the crazy scroll when trying to add a comment on chrome android?
Sadly it does not. Click to add a comment and watch the text entry field scroll right off the screen.
Also the status checks used to be in a neat little box on the right side that didnt take up GitHub’s typical level of whitespace. A compact view would be nice.
Great improvements! I’m not a real fan of the new completion readiness summary in the rollup view. I believe it’s better suited at the smaller view on the right just above the reviewers. I find it to be too wide for what it shows, and it hides the conversation about the PR a tad too much.
Hi, we would appreciate your feedback through this survey! https://www.surveymonkey.com/r/FP8HX37
I agree with Johan Benschop, those improvements are really great and help to speed up our process a lot.
However, two things really need to be fixed:
1. Show the status in a smaller space and without having to click on anything to see the details. Otherwise we now waste a lot of time checking for the build state.
Please let us see the build status without having to click on “View check”, this is one of the most important information for me!
Hi, we would appreciate your feedback through this survey! https://www.surveymonkey.com/r/FP8HX37
Is there anything in this update (or planned in an upcoming update) that will allow me to configure a “pull request policy” that says:
“If this PR is not completed within [ X ] amount of time (e.g. days), send reminder email to the reviewers who haven’t responded yet.”
One of our biggest struggles with PRs is getting them reviewed and closed out in a timely fashion. Delayed PRs are a big cause of missed sprint goals.
Thanks!
What about setting some policies such as the required reviewers on persistent branches of several team-based repositories? That would be awesome 😀
Do you mean policies that applies to multiple repos based on branch name or something like that? If so that’s already available for some times, it’s in your project Settings under Cross-repo policies.
Thanks!
Can we get pull requests across multiple Repos next? At least within the same project? 🙂
I second this, it would be very helpful for my current team where we work on microservices (sort of). But we have repos split across two projects for legacy reasons.