Integration of Github Pull Request in Perf system


We need to integrate the GIthub Pull Requests(PR) in Perf System.

So basic implementation plan is to have a webhook for PR.

Whenever a PR is created it is assigned to a person and after certian iterations either a PR is merged or closed.

So, a task can be created with pull request and next tag and can be added in the reviewer’s upcoming tasks.
Once the PR gets merged/closed, reviewer task can be marked as complete. And depending upon the number of lines changed or iterations of PR, scores will be affected for reviewer and the person who created the PR.

Is it a good way to do it?

  1. I think creating an Asana task makes sense. As asana would be our central database based on which we calculate scores. Would be interesting to know @mrjn views about this.

  2. You’d want to create a task both for the committer for the reviewer , because the review might take some iterations. We can refine the formula later, for starters we can count the number of changed lines in the code except those in the vendor folder and assign a score based on that.
    If you are creating the task when a pull request is created , you’d have to see how do you update the same tasks when the PR is merged/closed. Remember you want to avoid storing state in the MySQL DB.

  3. The web hook can be part of perf and would listen to events on pull requests and take action based on that.

If we are going to create a asana task, we can update the same PR task using asanawarrior as perf is already using it for fetching tasks from Taskwarrior.

Yeah. Looks like creating two Asana tasks using the same coloring scheme as we use already would make sense. And integrate well with the rest of the system. We could use a section ‘review’ for it under development.

Note that if we use Asana tasks then you won’t need to do anything with lines of code changed, etc. It would all be color tagged by the assigned person.


This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.