Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Table of Contents

  • Problem

  • Goal
    • Part I - Email Bot
    • Part II - Label Bot
    • Part III - Determine labels automatically
  • Approach
    • Part I - Email Bot
    • Part II - Label Bot
    • Part III - Determine labels automatically
  • Technical Challenges
  • References

...

  • Part I - Email Bot
    Create weekly email todev@mxnet.incubator.apache.org:
    (Instead of sending emails directly to dev@, another option is to create another email alia and ask people who are interested in weekly reports to join. )
    • Count of newly opened issues and closed issues in last 7 days
    • Average and worst response time for all new issues
    • List of non-responded new issues with links
    • List of non-responded issues outside SLA
  • Part II - Label Bot
    Create a bot to add labels for incubator-mxnet issues
    • Create weekly email to internal team members:
      • Count of newly opened issues and closed issues in last 7 days
      • List of non-labelled issues
      • List of non-responded issues
      • Pie chart with top 10 labels for all issues
      • Pie chart with top 10 labels for newly opened issues in last 7 days. (Add "unlabelled" as a segment)
      • A line/bar graph with week over week statistics of the number of issues closed and the number of issues opened
    • Generate a spreadsheet with detailed information of non-labelled issues. Every team member should have access to view and fill in labels to it.
    • Read filled-in labels and add labels to corresponding issue.
  • Part III - Determine labels automatically from GitHub issues:
    • Identify the corresponding programming language to it (ex: Python, C/C++, Scala)
    • Multi-label classification

3. Approach

  • Part I - Email Bot

    Image Added

  • An amazon cloudwatch event will trigger lambda function in a certain frequency(ex: 9am every Monday). Once the lambda function is executed, the issue report will be generated and sent to the mailing list. Figure1 shows the bot design and Figure2 shows demo email content.

    Image Removed


Figure1 Email Bot Design




Figure 2 Demo Email Content


  • Part II - Label Bot


    Amazon cloudwatch event (a) will trigger lambda function(a) 9am every Monday. At that time, lambda function(a) will generate an email and write non-labelled issues' data into a Google sheet. Every team member has access to view and fill in labels to it. 12 hours later, another lambda function (lambda function b) will be executed and add labels to corresponding issues. This bot should have restricted permissions to avoid unexpected operations. Figure3 shows the bot design, Figure 4 shows the demo email content and Figure 5 shows the demo Google sheet content.

    Image Modified

Figure 3 Label Bot Design

Sample Report

Image Modified


Figure 4 Demo Email Content (updating)



Figure 5 Demo Google Sheet Content

...