Application Development Blog Posts
Learn and share on deeper, cross technology development topics such as integration and connectivity, automation, cloud extensibility, developing at scale, and security.
cancel
Showing results for 
Search instead for 
Did you mean: 
Former Member

*** If you just want to skip to the good stuff here's the github project with a saplink nugget: lucastetreault/zPhabricator · GitHub



Phabricator is a collection of open source web applications that help software companies build better software. It is developed and maintained by Facebook and largely based on their own internal tools.

The major components of Phabricator are:

  • Differential - a code review tool
  • Diffusion - a repository browser
  • Maniphest - a bug tracker
  • Phriction - a wiki

My company has a very mature Java Development team and they have been using Phabricator's Differential for their code review process for quite some time. Our ABAP team has experimented with various processes for enabling and enforcing code reviews and I recently hacked together some integration so that we can use Phabricator for our ABAP code as well. Once I've cleaned up the code and made it easy to configure without having to change a bunch of code I'll set up a project on github with everything you need to get up and running!

Basically the goal is to get a nice side by side comparison so that we can quickly and easily see what was changed and to be able to control the release of transport tasks by checking the status of the review. You will not be able to release tasks until the review has been accepted.

***Since a couple days ago when I first put this blog up I have spent a couple late nights working on this and have managed to have the whole process inside of SAP. I'll leave the "old new" process at the bottom of this blog so you can see where I started...

Here is what our NEW process looks like:

You are done coding in a transport task and you are ready to have it reviewed and moved up to the test tier.

Go to transaction ZPHAB and enter the details required to create a code review:

Run the program and a revision will be created:

Browse to the link it gives you and you can view the revision:

If you make more changes to the transport task (ie: if your reviewer requested changes) you can use ZPHAB again and it will update the revision with the latest changes.

If you forgot to submit a task for review you will get the following error when you try to release it:


If you submitted the task for review but it hasn’t been approved you will get the following message including the URL of the revision in Phabricator so you can send it off to someone to follow up if needed.

**** This is the "old new" process before I did a bunch of work to have the whole process in SAP.

Here is what our (old)new process looks like:


You are done coding in a transport task and you are ready to have it reviewed and moved up to the test tier.

Open a command prompt and navigate to C:\Phabricator. When you get there, run the command sapdiff <task number>


You’ll get a popup of notepad++ and you’ll need to enter a few details:


<<Replace this line with your Revision Title>> -- This needs to be set to the task number that you are submitting for review

Reviewers – Enter the phabricator user name of the person (or people) you want to review this


Save the file, then close notepad++. The differences have now been pushed to Phabricator. You will receive an email confirming that a ‘revision’ has been opened and the reviewers will receive an email asking them to review your code.



If you forgot to submit a task for review you will get the following error when you try to release it:


If you submitted the task for review but it hasn’t been approved you will get the following message including the URL of the revision in Phabricator so you can send it off to someone to follow up if needed.


I'm pretty excited about this! It's a HUGE improvement over our old process. Hope you like it!


- Lucas


8 Comments