{"action":"created","comment":{"url":"https://api.github.com/repos/droolsjbpm/optaplanner/pulls/comments/71363337","id":71363337,"diff_hunk":"@@ -31,4 +31,14 @@\n     <!--<appender-ref ref=\"fileAppender\" />-->\n   </root>\n \n+  <appender name=\"reproducerAppender\" class=\"ch.qos.logback.core.FileAppender\">\n+    <file>DroolsReproducerTest.java</file>\n+    <append>false</append>\n+    <encoder>\n+      <pattern>%m%n</pattern>\n+    </encoder>\n+  </appender>\n+  <logger name=\"org.optaplanner.drools.reproducer\" level=\"${logback.level.org.optaplanner.reproducer:-debug}\" additivity=\"false\">\n+    <appender-ref ref=\"reproducerAppender\"/>\n+  </logger>","path":"optaplanner-examples/src/main/resources/logback.xml","position":13,"original_position":13,"commit_id":"0b713494fae14346efc4ebcb66cb021db5ccca81","original_commit_id":"0b713494fae14346efc4ebcb66cb021db5ccca81","user":{"login":"yurloc","id":673386,"avatar_url":"https://avatars.githubusercontent.com/u/673386?v=3","gravatar_id":"","url":"https://api.github.com/users/yurloc","html_url":"https://github.com/yurloc","followers_url":"https://api.github.com/users/yurloc/followers","following_url":"https://api.github.com/users/yurloc/following{/other_user}","gists_url":"https://api.github.com/users/yurloc/gists{/gist_id}","starred_url":"https://api.github.com/users/yurloc/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/yurloc/subscriptions","organizations_url":"https://api.github.com/users/yurloc/orgs","repos_url":"https://api.github.com/users/yurloc/repos","events_url":"https://api.github.com/users/yurloc/events{/privacy}","received_events_url":"https://api.github.com/users/yurloc/received_events","type":"User","site_admin":false},"body":"TODO remove this when test printing via logger is replaced by direct File writing.","created_at":"2016-07-19T15:35:02Z","updated_at":"2016-07-19T15:35:02Z","html_url":"https://github.com/droolsjbpm/optaplanner/pull/202#discussion_r71363337","pull_request_url":"https://api.github.com/repos/droolsjbpm/optaplanner/pulls/202","_links":{"self":{"href":"https://api.github.com/repos/droolsjbpm/optaplanner/pulls/comments/71363337"},"html":{"href":"https://github.com/droolsjbpm/optaplanner/pull/202#discussion_r71363337"},"pull_request":{"href":"https://api.github.com/repos/droolsjbpm/optaplanner/pulls/202"}}},"pull_request":{"url":"https://api.github.com/repos/droolsjbpm/optaplanner/pulls/202","id":75559022,"html_url":"https://github.com/droolsjbpm/optaplanner/pull/202","diff_url":"https://github.com/droolsjbpm/optaplanner/pull/202.diff","patch_url":"https://github.com/droolsjbpm/optaplanner/pull/202.patch","issue_url":"https://api.github.com/repos/droolsjbpm/optaplanner/issues/202","number":202,"state":"open","locked":false,"title":"PLANNER-582 Automatically generate Drools reproducer","user":{"login":"yurloc","id":673386,"avatar_url":"https://avatars.githubusercontent.com/u/673386?v=3","gravatar_id":"","url":"https://api.github.com/users/yurloc","html_url":"https://github.com/yurloc","followers_url":"https://api.github.com/users/yurloc/followers","following_url":"https://api.github.com/users/yurloc/following{/other_user}","gists_url":"https://api.github.com/users/yurloc/gists{/gist_id}","starred_url":"https://api.github.com/users/yurloc/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/yurloc/subscriptions","organizations_url":"https://api.github.com/users/yurloc/orgs","repos_url":"https://api.github.com/users/yurloc/repos","events_url":"https://api.github.com/users/yurloc/events{/privacy}","received_events_url":"https://api.github.com/users/yurloc/received_events","type":"User","site_admin":false},"body":"Ready for review, not yet for merge.\r\n\r\nNice to have: more comments, more tests.\r\n\r\nNeed to decide: how to activate the reproducer? Currently it's done by setting `org.optaplanner.drools.reproducer` logger level to `INFO` or lower, which is probably not a good idea because it will also become enabled if just `org.optaplanner` logging level is low enough. New environment mode? Or just a simple system property?\r\n\r\nAnother serious issue to be resolved: how to include the scoring rules in the test so that it doesn't need to be inserted manually? Currently nurse rostering example score DRL is hard-coded. If path(s) to scoring DRL(s) were accessible from `DroolsScoreDirector` it would be OK. Another option, which I like more, would be to include the DRL source in the test, so that another manual step of copy&pasting could be left out when preparing a PR with the reproducer.","created_at":"2016-06-28T22:09:15Z","updated_at":"2016-07-19T15:35:02Z","closed_at":null,"merged_at":null,"merge_commit_sha":"d7d90249333be853e8ff77a07b92ac15392b678a","assignee":null,"assignees":[],"milestone":null,"commits_url":"https://api.github.com/repos/droolsjbpm/optaplanner/pulls/202/commits","review_comments_url":"https://api.github.com/repos/droolsjbpm/optaplanner/pulls/202/comments","review_comment_url":"https://api.github.com/repos/droolsjbpm/optaplanner/pulls/comments{/number}","comments_url":"https://api.github.com/repos/droolsjbpm/optaplanner/issues/202/comments","statuses_url":"https://api.github.com/repos/droolsjbpm/optaplanner/statuses/0b713494fae14346efc4ebcb66cb021db5ccca81","head":{"label":"yurloc:planner-582","ref":"planner-582","sha":"0b713494fae14346efc4ebcb66cb021db5ccca81","user":{"login":"yurloc","id":673386,"avatar_url":"https://avatars.githubusercontent.com/u/673386?v=3","gravatar_id":"","url":"https://api.github.com/users/yurloc","html_url":"https://github.com/yurloc","followers_url":"https://api.github.com/users/yurloc/followers","following_url":"https://api.github.com/users/yurloc/following{/other_user}","gists_url":"https://api.github.com/users/yurloc/gists{/gist_id}","starred_url":"https://api.github.com/users/yurloc/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/yurloc/subscriptions","organizations_url":"https://api.github.com/users/yurloc/orgs","repos_url":"https://api.github.com/users/yurloc/repos","events_url":"https://api.github.com/users/yurloc/events{/privacy}","received_events_url":"https://api.github.com/users/yurloc/received_events","type":"User","site_admin":false},"repo":{"id":45479100,"name":"optaplanner","full_name":"yurloc/optaplanner","owner":{"login":"yurloc","id":673386,"avatar_url":"https://avatars.githubusercontent.com/u/673386?v=3","gravatar_id":"","url":"https://api.github.com/users/yurloc","html_url":"https://github.com/yurloc","followers_url":"https://api.github.com/users/yurloc/followers","following_url":"https://api.github.com/users/yurloc/following{/other_user}","gists_url":"https://api.github.com/users/yurloc/gists{/gist_id}","starred_url":"https://api.github.com/users/yurloc/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/yurloc/subscriptions","organizations_url":"https://api.github.com/users/yurloc/orgs","repos_url":"https://api.github.com/users/yurloc/repos","events_url":"https://api.github.com/users/yurloc/events{/privacy}","received_events_url":"https://api.github.com/users/yurloc/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/yurloc/optaplanner","description":"Java planning engine: OptaPlanner optimizes business resource scheduling and planning.","fork":true,"url":"https://api.github.com/repos/yurloc/optaplanner","forks_url":"https://api.github.com/repos/yurloc/optaplanner/forks","keys_url":"https://api.github.com/repos/yurloc/optaplanner/keys{/key_id}","collaborators_url":"https://api.github.com/repos/yurloc/optaplanner/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/yurloc/optaplanner/teams","hooks_url":"https://api.github.com/repos/yurloc/optaplanner/hooks","issue_events_url":"https://api.github.com/repos/yurloc/optaplanner/issues/events{/number}","events_url":"https://api.github.com/repos/yurloc/optaplanner/events","assignees_url":"https://api.github.com/repos/yurloc/optaplanner/assignees{/user}","branches_url":"https://api.github.com/repos/yurloc/optaplanner/branches{/branch}","tags_url":"https://api.github.com/repos/yurloc/optaplanner/tags","blobs_url":"https://api.github.com/repos/yurloc/optaplanner/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/yurloc/optaplanner/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/yurloc/optaplanner/git/refs{/sha}","trees_url":"https://api.github.com/repos/yurloc/optaplanner/git/trees{/sha}","statuses_url":"https://api.github.com/repos/yurloc/optaplanner/statuses/{sha}","languages_url":"https://api.github.com/repos/yurloc/optaplanner/languages","stargazers_url":"https://api.github.com/repos/yurloc/optaplanner/stargazers","contributors_url":"https://api.github.com/repos/yurloc/optaplanner/contributors","subscribers_url":"https://api.github.com/repos/yurloc/optaplanner/subscribers","subscription_url":"https://api.github.com/repos/yurloc/optaplanner/subscription","commits_url":"https://api.github.com/repos/yurloc/optaplanner/commits{/sha}","git_commits_url":"https://api.github.com/repos/yurloc/optaplanner/git/commits{/sha}","comments_url":"https://api.github.com/repos/yurloc/optaplanner/comments{/number}","issue_comment_url":"https://api.github.com/repos/yurloc/optaplanner/issues/comments{/number}","contents_url":"https://api.github.com/repos/yurloc/optaplanner/contents/{+path}","compare_url":"https://api.github.com/repos/yurloc/optaplanner/compare/{base}...{head}","merges_url":"https://api.github.com/repos/yurloc/optaplanner/merges","archive_url":"https://api.github.com/repos/yurloc/optaplanner/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/yurloc/optaplanner/downloads","issues_url":"https://api.github.com/repos/yurloc/optaplanner/issues{/number}","pulls_url":"https://api.github.com/repos/yurloc/optaplanner/pulls{/number}","milestones_url":"https://api.github.com/repos/yurloc/optaplanner/milestones{/number}","notifications_url":"https://api.github.com/repos/yurloc/optaplanner/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/yurloc/optaplanner/labels{/name}","releases_url":"https://api.github.com/repos/yurloc/optaplanner/releases{/id}","deployments_url":"https://api.github.com/repos/yurloc/optaplanner/deployments","created_at":"2015-11-03T16:21:51Z","updated_at":"2015-11-03T16:22:20Z","pushed_at":"2016-07-19T14:37:25Z","git_url":"git://github.com/yurloc/optaplanner.git","ssh_url":"git@github.com:yurloc/optaplanner.git","clone_url":"https://github.com/yurloc/optaplanner.git","svn_url":"https://github.com/yurloc/optaplanner","homepage":"http://www.optaplanner.org","size":154102,"stargazers_count":0,"watchers_count":0,"language":"Java","has_issues":false,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":0,"mirror_url":null,"open_issues_count":0,"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"droolsjbpm:master","ref":"master","sha":"79491281fd1ff795c86aa30f148e0fbb11a72aa1","user":{"login":"droolsjbpm","id":517980,"avatar_url":"https://avatars.githubusercontent.com/u/517980?v=3","gravatar_id":"","url":"https://api.github.com/users/droolsjbpm","html_url":"https://github.com/droolsjbpm","followers_url":"https://api.github.com/users/droolsjbpm/followers","following_url":"https://api.github.com/users/droolsjbpm/following{/other_user}","gists_url":"https://api.github.com/users/droolsjbpm/gists{/gist_id}","starred_url":"https://api.github.com/users/droolsjbpm/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/droolsjbpm/subscriptions","organizations_url":"https://api.github.com/users/droolsjbpm/orgs","repos_url":"https://api.github.com/users/droolsjbpm/repos","events_url":"https://api.github.com/users/droolsjbpm/events{/privacy}","received_events_url":"https://api.github.com/users/droolsjbpm/received_events","type":"Organization","site_admin":false},"repo":{"id":1370858,"name":"optaplanner","full_name":"droolsjbpm/optaplanner","owner":{"login":"droolsjbpm","id":517980,"avatar_url":"https://avatars.githubusercontent.com/u/517980?v=3","gravatar_id":"","url":"https://api.github.com/users/droolsjbpm","html_url":"https://github.com/droolsjbpm","followers_url":"https://api.github.com/users/droolsjbpm/followers","following_url":"https://api.github.com/users/droolsjbpm/following{/other_user}","gists_url":"https://api.github.com/users/droolsjbpm/gists{/gist_id}","starred_url":"https://api.github.com/users/droolsjbpm/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/droolsjbpm/subscriptions","organizations_url":"https://api.github.com/users/droolsjbpm/orgs","repos_url":"https://api.github.com/users/droolsjbpm/repos","events_url":"https://api.github.com/users/droolsjbpm/events{/privacy}","received_events_url":"https://api.github.com/users/droolsjbpm/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/droolsjbpm/optaplanner","description":"Java planning engine: OptaPlanner optimizes business resource scheduling and planning.","fork":false,"url":"https://api.github.com/repos/droolsjbpm/optaplanner","forks_url":"https://api.github.com/repos/droolsjbpm/optaplanner/forks","keys_url":"https://api.github.com/repos/droolsjbpm/optaplanner/keys{/key_id}","collaborators_url":"https://api.github.com/repos/droolsjbpm/optaplanner/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/droolsjbpm/optaplanner/teams","hooks_url":"https://api.github.com/repos/droolsjbpm/optaplanner/hooks","issue_events_url":"https://api.github.com/repos/droolsjbpm/optaplanner/issues/events{/number}","events_url":"https://api.github.com/repos/droolsjbpm/optaplanner/events","assignees_url":"https://api.github.com/repos/droolsjbpm/optaplanner/assignees{/user}","branches_url":"https://api.github.com/repos/droolsjbpm/optaplanner/branches{/branch}","tags_url":"https://api.github.com/repos/droolsjbpm/optaplanner/tags","blobs_url":"https://api.github.com/repos/droolsjbpm/optaplanner/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/droolsjbpm/optaplanner/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/droolsjbpm/optaplanner/git/refs{/sha}","trees_url":"https://api.github.com/repos/droolsjbpm/optaplanner/git/trees{/sha}","statuses_url":"https://api.github.com/repos/droolsjbpm/optaplanner/statuses/{sha}","languages_url":"https://api.github.com/repos/droolsjbpm/optaplanner/languages","stargazers_url":"https://api.github.com/repos/droolsjbpm/optaplanner/stargazers","contributors_url":"https://api.github.com/repos/droolsjbpm/optaplanner/contributors","subscribers_url":"https://api.github.com/repos/droolsjbpm/optaplanner/subscribers","subscription_url":"https://api.github.com/repos/droolsjbpm/optaplanner/subscription","commits_url":"https://api.github.com/repos/droolsjbpm/optaplanner/commits{/sha}","git_commits_url":"https://api.github.com/repos/droolsjbpm/optaplanner/git/commits{/sha}","comments_url":"https://api.github.com/repos/droolsjbpm/optaplanner/comments{/number}","issue_comment_url":"https://api.github.com/repos/droolsjbpm/optaplanner/issues/comments{/number}","contents_url":"https://api.github.com/repos/droolsjbpm/optaplanner/contents/{+path}","compare_url":"https://api.github.com/repos/droolsjbpm/optaplanner/compare/{base}...{head}","merges_url":"https://api.github.com/repos/droolsjbpm/optaplanner/merges","archive_url":"https://api.github.com/repos/droolsjbpm/optaplanner/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/droolsjbpm/optaplanner/downloads","issues_url":"https://api.github.com/repos/droolsjbpm/optaplanner/issues{/number}","pulls_url":"https://api.github.com/repos/droolsjbpm/optaplanner/pulls{/number}","milestones_url":"https://api.github.com/repos/droolsjbpm/optaplanner/milestones{/number}","notifications_url":"https://api.github.com/repos/droolsjbpm/optaplanner/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/droolsjbpm/optaplanner/labels{/name}","releases_url":"https://api.github.com/repos/droolsjbpm/optaplanner/releases{/id}","deployments_url":"https://api.github.com/repos/droolsjbpm/optaplanner/deployments","created_at":"2011-02-15T19:38:23Z","updated_at":"2016-07-16T06:38:17Z","pushed_at":"2016-07-19T14:37:26Z","git_url":"git://github.com/droolsjbpm/optaplanner.git","ssh_url":"git@github.com:droolsjbpm/optaplanner.git","clone_url":"https://github.com/droolsjbpm/optaplanner.git","svn_url":"https://github.com/droolsjbpm/optaplanner","homepage":"http://www.optaplanner.org","size":158147,"stargazers_count":413,"watchers_count":413,"language":"Java","has_issues":false,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":273,"mirror_url":null,"open_issues_count":5,"forks":273,"open_issues":5,"watchers":413,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/droolsjbpm/optaplanner/pulls/202"},"html":{"href":"https://github.com/droolsjbpm/optaplanner/pull/202"},"issue":{"href":"https://api.github.com/repos/droolsjbpm/optaplanner/issues/202"},"comments":{"href":"https://api.github.com/repos/droolsjbpm/optaplanner/issues/202/comments"},"review_comments":{"href":"https://api.github.com/repos/droolsjbpm/optaplanner/pulls/202/comments"},"review_comment":{"href":"https://api.github.com/repos/droolsjbpm/optaplanner/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/droolsjbpm/optaplanner/pulls/202/commits"},"statuses":{"href":"https://api.github.com/repos/droolsjbpm/optaplanner/statuses/0b713494fae14346efc4ebcb66cb021db5ccca81"}}}}
{"actor":{"display_login":"yurloc"}}