Openframeworks: Create issue template for GitHub

Created on 22 May 2017  路  6Comments  路  Source: openframeworks/openFrameworks

I think it would save some time if there was an issue template that asks

  • Which OS (Linux distribution and version, OSX version or Windows version)
  • Which version of OF: nightly, from Git or X.X.X?
  • If it involves graphics, graphics card type and GL version (how to find the version?)

Otherwise the same question is always repeated: master or 0.9.8? :)

Here how it's done: https://github.com/blog/2111-issue-and-pull-request-templates

documentation git

Most helpful comment

diagram

// Use http://graphviz.org to render, like this:
// $ dot -Tpng diagram.dot >diagram.png

digraph finite_state_machine {
  // horizontal layout
  //rankdir=LR; 

  node [fontname="OpenSans-Light" fontsize=10 margin=0.1 shape=rect style=filled];
  edge [fontname="OpenSans-Light" fontsize=10];

  // these are doublecircle (start, end nodes)
  node [label="Do you need help\nwith OpenFrameworks?" fillcolor=greenyellow] HELP;
  node [label="Ask in the\nForum"] GO_FORUM;
  node [label="Search for\nopen & close\nissues in GitHub"] GO_SEARCH_ISSUE;
  node [label="Search for\npull requests\nin GitHub"] GO_SEARCH_PR;
  node [label="Open an issue\nin GitHub"] GO_OPEN_ISSUE;
  node [label="Create a\nPull Request\nin GitHub"] GO_CREATE_PR;

  // these are simple circle (middle nodes)
  node [label="Are you a\nbeginner?" fillcolor=lemonchiffon1] BEGINNER;
  node [label="Where is\nthe problem?"] WHERE_PROBLEM;
  node [label="Did you search\nthe forum for\nsimilar problems?"] DID_SEARCH_FORUM;
  node [label="Did you search\nfor open & close\nissues in GitHub?"] DID_SEARCH_ISSUE;
  node [label="Did you search\nfor pull requests\nin GitHub?"] DID_SEARCH_PR;
  node [label="Do you know\nhow to fix\nthe issue?"] HAVE_SOLUTION;

  // How to read these:
  //   A -> B [label X] 
  // means: 
  //   IF (A == X) THEN GOTO B
  HELP             -> BEGINNER [label="yes"];
  BEGINNER         -> GO_FORUM [label="yes"];
  BEGINNER         -> WHERE_PROBLEM [label="no"];
  WHERE_PROBLEM    -> GO_FORUM [label="in my\nproject"];
  WHERE_PROBLEM    -> DID_SEARCH_FORUM [label="in OpenFrameworks"];
  DID_SEARCH_FORUM -> GO_FORUM [label="no"];
  DID_SEARCH_FORUM -> DID_SEARCH_ISSUE [label="yes"];
  DID_SEARCH_ISSUE -> GO_SEARCH_ISSUE [label="no"];
  DID_SEARCH_ISSUE -> DID_SEARCH_PR [label="yes"];
  DID_SEARCH_PR    -> GO_SEARCH_PR [label="no"];
  DID_SEARCH_PR    -> HAVE_SOLUTION [label="yes"];
  HAVE_SOLUTION    -> GO_OPEN_ISSUE [label="no"];
  HAVE_SOLUTION    -> GO_CREATE_PR [label="yes"];
}

All 6 comments

  • Do you have a minimal program that shows the issue?
  • What is the expected result and what do you get instead?

@hamoid this is a great idea and I'm surprised we haven't done this before. Would you be interested in drafting a default template as PR and we can give feedback on it?

I'll give it a try :+1:

Very nice idea.

This is not related to Issue Template but it might be nice to have "Decision Tree" as well?
I'm always struggling like "Should I ask to forum or create issue? or even PR? or Slack?"

And maybe we can include this inside of template as a warring before posting.
Sample algorithm below,

if(you are beginner and need help) 
  lookForum();
else
  if(your problem is related to your own project) 
    lookForum();
  else
    if(searched similar problem on forum == NO) 
      lookForum();
    else
      if(searched similar problem on open/closed issue == NO) 
        lookIssue();
      else
        if(searched PR on related branch == NO) 
          lookPR();
        else
          if(you already has solution about your problem == NO) 
           makeIssue();
          else
            makePR();

diagram

// Use http://graphviz.org to render, like this:
// $ dot -Tpng diagram.dot >diagram.png

digraph finite_state_machine {
  // horizontal layout
  //rankdir=LR; 

  node [fontname="OpenSans-Light" fontsize=10 margin=0.1 shape=rect style=filled];
  edge [fontname="OpenSans-Light" fontsize=10];

  // these are doublecircle (start, end nodes)
  node [label="Do you need help\nwith OpenFrameworks?" fillcolor=greenyellow] HELP;
  node [label="Ask in the\nForum"] GO_FORUM;
  node [label="Search for\nopen & close\nissues in GitHub"] GO_SEARCH_ISSUE;
  node [label="Search for\npull requests\nin GitHub"] GO_SEARCH_PR;
  node [label="Open an issue\nin GitHub"] GO_OPEN_ISSUE;
  node [label="Create a\nPull Request\nin GitHub"] GO_CREATE_PR;

  // these are simple circle (middle nodes)
  node [label="Are you a\nbeginner?" fillcolor=lemonchiffon1] BEGINNER;
  node [label="Where is\nthe problem?"] WHERE_PROBLEM;
  node [label="Did you search\nthe forum for\nsimilar problems?"] DID_SEARCH_FORUM;
  node [label="Did you search\nfor open & close\nissues in GitHub?"] DID_SEARCH_ISSUE;
  node [label="Did you search\nfor pull requests\nin GitHub?"] DID_SEARCH_PR;
  node [label="Do you know\nhow to fix\nthe issue?"] HAVE_SOLUTION;

  // How to read these:
  //   A -> B [label X] 
  // means: 
  //   IF (A == X) THEN GOTO B
  HELP             -> BEGINNER [label="yes"];
  BEGINNER         -> GO_FORUM [label="yes"];
  BEGINNER         -> WHERE_PROBLEM [label="no"];
  WHERE_PROBLEM    -> GO_FORUM [label="in my\nproject"];
  WHERE_PROBLEM    -> DID_SEARCH_FORUM [label="in OpenFrameworks"];
  DID_SEARCH_FORUM -> GO_FORUM [label="no"];
  DID_SEARCH_FORUM -> DID_SEARCH_ISSUE [label="yes"];
  DID_SEARCH_ISSUE -> GO_SEARCH_ISSUE [label="no"];
  DID_SEARCH_ISSUE -> DID_SEARCH_PR [label="yes"];
  DID_SEARCH_PR    -> GO_SEARCH_PR [label="no"];
  DID_SEARCH_PR    -> HAVE_SOLUTION [label="yes"];
  HAVE_SOLUTION    -> GO_OPEN_ISSUE [label="no"];
  HAVE_SOLUTION    -> GO_CREATE_PR [label="yes"];
}
Was this page helpful?
0 / 5 - 0 ratings

Related issues

dimitre picture dimitre  路  7Comments

SJ-magic picture SJ-magic  路  7Comments

hellokitty-glitch picture hellokitty-glitch  路  7Comments

ofTheo picture ofTheo  路  8Comments

sieren picture sieren  路  11Comments