{"action":"created","comment":{"url":"https://api.github.com/repos/edx/edx-platform/pulls/comments/185896141","pull_request_review_id":117379168,"id":185896141,"diff_hunk":"@@ -0,0 +1,337 @@\n+def runPythonTests() {\n+    ansiColor('gnome-terminal') {\n+        sshagent(credentials: ['jenkins-worker'], ignoreMissing: true) {\n+            checkout changelog: false, poll: false, scm: [$class: 'GitSCM', branches: [[name: '${sha1}']],\n+                doGenerateSubmoduleConfigurations: false, extensions: [], submoduleCfg: [],\n+                userRemoteConfigs: [[credentialsId: 'jenkins-worker',\n+                refspec: '+refs/heads/*:refs/remotes/origin/* +refs/pull/*:refs/remotes/origin/pr/*',\n+                url: 'git@github.com:edx/edx-platform.git']]]\n+            console_output = sh(returnStdout: true, script: 'bash scripts/all-tests.sh').trim()\n+            writeFile file: \"${TEST_SUITE}-${SHARD}-console-output.log\", text: console_output\n+            stash includes: 'reports/**/*coverage*', name: \"${TEST_SUITE}-${SHARD}-reports\"\n+        }\n+    }\n+}\n+\n+pipeline {\n+\n+    agent { label \"coverage-worker\" }\n+\n+    options {\n+        timestamps()\n+        timeout(75)\n+    }\n+\n+    stages {\n+        stage('Run Tests') {\n+            parallel {\n+                stage('lms_unit_1') {\n+                    agent { label \"jenkins-worker\" }\n+                    environment {\n+                        SHARD = 1\n+                        TEST_SUITE = 'lms-unit'\n+                    }\n+                    steps {\n+                        script {\n+                            runPythonTests()\n+                        }\n+                    }\n+                    post {\n+                        always {\n+                            archiveArtifacts allowEmptyArchive: true, artifacts: 'reports/**/*,test_root/log/**/*.log,**/nosetests.xml,*.log'\n+                            junit '**/nosetests.xml'\n+                        }\n+                    }\n+                }\n+                stage('lms_unit_2') {\n+                    agent { label \"jenkins-worker\" }\n+                    environment {\n+                        SHARD = 2\n+                        TEST_SUITE = 'lms-unit'\n+                    }\n+                    steps{\n+                        script {\n+                            runPythonTests()\n+                        }\n+                    }\n+                    post {\n+                        always {\n+                            archiveArtifacts allowEmptyArchive: true, artifacts: 'reports/**/*,test_root/log/**/*.log,**/nosetests.xml,*.log'\n+                            junit '**/nosetests.xml'\n+                        }\n+                    }\n+                }\n+                stage('lms_unit_3') {\n+                    agent { label \"jenkins-worker\" }\n+                    environment {\n+                        SHARD = 3\n+                        TEST_SUITE = 'lms-unit'\n+                    }\n+                    steps {\n+                        script {\n+                            runPythonTests()\n+                        }\n+                    }\n+                    post {\n+                        always {\n+                            archiveArtifacts allowEmptyArchive: true, artifacts: 'reports/**/*,test_root/log/**/*.log,**/nosetests.xml,*.log'\n+                            junit '**/nosetests.xml'\n+                        }\n+                    }\n+                }\n+                stage('lms_unit_4') {\n+                    agent { label \"jenkins-worker\" }\n+                    environment {\n+                        SHARD = 4\n+                        TEST_SUITE = 'lms-unit'\n+                    }\n+                    steps {\n+                        script {\n+                            runPythonTests()\n+                        }\n+                    }\n+                    post {\n+                        always {\n+                            archiveArtifacts allowEmptyArchive: true, artifacts: 'reports/**/*,test_root/log/**/*.log,**/nosetests.xml,*.log'\n+                            junit '**/nosetests.xml'\n+                        }\n+                    }\n+                }\n+                stage('lms_unit_5') {\n+                    agent { label \"jenkins-worker\" }\n+                    environment {\n+                        SHARD = 5\n+                        TEST_SUITE = 'lms-unit'\n+                    }\n+                    steps {\n+                        script {\n+                            runPythonTests()\n+                        }\n+                    }\n+                    post {\n+                        always {\n+                            archiveArtifacts allowEmptyArchive: true, artifacts: 'reports/**/*,test_root/log/**/*.log,**/nosetests.xml,*.log'\n+                            junit '**/nosetests.xml'\n+                        }\n+                    }\n+                }\n+                stage('lms_unit_6') {\n+                    agent { label \"jenkins-worker\" }\n+                    environment {\n+                        SHARD = 6\n+                        TEST_SUITE = 'lms-unit'\n+                    }\n+                    steps {\n+                        script {\n+                            runPythonTests()\n+                        }\n+                    }\n+                    post {\n+                        always {\n+                            archiveArtifacts allowEmptyArchive: true, artifacts: 'reports/**/*,test_root/log/**/*.log,**/nosetests.xml,*.log'\n+                            junit '**/nosetests.xml'\n+                        }\n+                    }\n+                }\n+                stage('lms_unit_7') {\n+                    agent { label \"jenkins-worker\" }\n+                    environment {\n+                        SHARD = 7\n+                        TEST_SUITE = 'lms-unit'\n+                    }\n+                    steps {\n+                        script {\n+                            runPythonTests()\n+                        }\n+                    }\n+                    post {\n+                        always {\n+                            archiveArtifacts allowEmptyArchive: true, artifacts: 'reports/**/*,test_root/log/**/*.log,**/nosetests.xml,*.log'\n+                            junit '**/nosetests.xml'\n+                        }\n+                    }\n+                }\n+                stage('lms_unit_8') {\n+                    agent { label \"jenkins-worker\" }\n+                    environment {\n+                        SHARD = 8\n+                        TEST_SUITE = 'lms-unit'\n+                    }\n+                    steps {\n+                        script {\n+                            runPythonTests()\n+                        }\n+                    }\n+                    post {\n+                        always {\n+                            archiveArtifacts allowEmptyArchive: true, artifacts: 'reports/**/*,test_root/log/**/*.log,**/nosetests.xml,*.log'\n+                            junit '**/nosetests.xml'\n+                        }\n+                    }\n+                }\n+                stage('lms_unit_9') {\n+                    agent { label \"jenkins-worker\" }\n+                    environment {\n+                        SHARD = 9\n+                        TEST_SUITE = 'lms-unit'\n+                    }\n+                    steps {\n+                        script {\n+                            runPythonTests()\n+                        }\n+                    }\n+                    post {\n+                        always {\n+                            archiveArtifacts allowEmptyArchive: true, artifacts: 'reports/**/*,test_root/log/**/*.log,**/nosetests.xml,*.log'\n+                            junit '**/nosetests.xml'\n+                        }\n+                    }\n+                }\n+                stage('lms_unit_10') {\n+                    agent { label \"jenkins-worker\" }\n+                    environment {\n+                        SHARD = 10\n+                        TEST_SUITE = 'lms-unit'\n+                    }\n+                    steps {\n+                        script {\n+                            runPythonTests()\n+                        }\n+                    }\n+                    post {\n+                        always {\n+                            archiveArtifacts allowEmptyArchive: true, artifacts: 'reports/**/*,test_root/log/**/*.log,**/nosetests.xml,*.log'\n+                            junit '**/nosetests.xml'\n+                        }\n+                    }\n+                }\n+                stage('cms_unit_1') {\n+                    agent { label \"jenkins-worker\" }\n+                    environment {\n+                        SHARD = 1\n+                        TEST_SUITE = 'cms-unit'\n+                    }\n+                    steps {\n+                        script {\n+                            runPythonTests()\n+                        }\n+                    }\n+                    post {\n+                        always {\n+                            archiveArtifacts allowEmptyArchive: true, artifacts: 'reports/**/*,test_root/log/**/*.log,**/nosetests.xml,*.log'\n+                            junit '**/nosetests.xml'\n+                        }\n+                    }\n+                }\n+                stage('cms_unit_2') {\n+                    agent { label \"jenkins-worker\" }\n+                    environment {\n+                        SHARD = 2\n+                        TEST_SUITE = 'cms-unit'\n+                    }\n+                    steps {\n+                        script {\n+                            runPythonTests()\n+                        }\n+                    }\n+                    post {\n+                        always {\n+                            archiveArtifacts allowEmptyArchive: true, artifacts: 'reports/**/*,test_root/log/**/*.log,**/nosetests.xml,*.log'\n+                            junit '**/nosetests.xml'\n+                        }\n+                    }\n+                }\n+                stage('commonlib_unit_1') {\n+                    agent { label \"jenkins-worker\" }\n+                    environment {\n+                        SHARD = 1\n+                        TEST_SUITE = 'commonlib-unit'\n+                    }\n+                    steps {\n+                        script {\n+                            runPythonTests()\n+                        }\n+                    }\n+                    post {\n+                        always {\n+                            archiveArtifacts allowEmptyArchive: true, artifacts: 'reports/**/*,test_root/log/**/*.log,**/nosetests.xml,*.log'\n+                            junit '**/nosetests.xml'\n+                        }\n+                    }\n+                }\n+                stage('commonlib_unit_2') {\n+                    agent { label \"jenkins-worker\" }\n+                    environment {\n+                        SHARD = 2\n+                        TEST_SUITE = 'commonlib-unit'\n+                    }\n+                    steps {\n+                        script {\n+                            runPythonTests()\n+                        }\n+                    }\n+                    post {\n+                        always {\n+                            archiveArtifacts allowEmptyArchive: true, artifacts: 'reports/**/*,test_root/log/**/*.log,**/nosetests.xml,*.log'\n+                            junit '**/nosetests.xml'\n+                        }\n+                    }\n+                }\n+                stage('commonlib_unit_3') {\n+                    agent { label \"jenkins-worker\" }\n+                    environment {\n+                        SHARD = 3\n+                        TEST_SUITE = 'commonlib-unit'\n+                    }\n+                    steps {\n+                        script {\n+                            runPythonTests()\n+                        }\n+                    }\n+                    post {\n+                        always {\n+                            archiveArtifacts allowEmptyArchive: true, artifacts: 'reports/**/*,test_root/log/**/*.log,**/nosetests.xml,*.log'\n+                            junit '**/nosetests.xml'\n+                        }\n+                    }\n+                }\n+            }\n+        }\n+        stage('Run coverage') {\n+            environment {\n+                CODE_COV_TOKEN = credentials('CODE_COV_TOKEN')\n+                TARGET_BRANCH = \"origin/master\"\n+                CI_BRANCH = \"${ghprbSourceBranch}\"\n+                SUBSET_JOB = \"null\" // Keep this variable until we can remove the $SUBSET_JOB path from .coveragerc\n+            }\n+            steps {\n+                ansiColor('gnome-terminal') {\n+                    sshagent(credentials: ['jenkins-worker'], ignoreMissing: true) {\n+                        checkout changelog: false, poll: false, scm: [$class: 'GitSCM', branches: [[name: '${sha1}']],\n+                            doGenerateSubmoduleConfigurations: false, extensions: [], submoduleCfg: [],\n+                            userRemoteConfigs: [[credentialsId: 'jenkins-worker',\n+                            refspec: '+refs/heads/*:refs/remotes/origin/* +refs/pull/*:refs/remotes/origin/pr/*',\n+                            url: 'git@github.com:edx/edx-platform.git']]]\n+                        unstash 'lms-unit-1-reports'\n+                        unstash 'lms-unit-2-reports'\n+                        unstash 'lms-unit-3-reports'\n+                        unstash 'lms-unit-4-reports'\n+                        unstash 'cms-unit-1-reports'\n+                        unstash 'commonlib-unit-1-reports'","path":"Jenkinsfile","position":320,"original_position":320,"commit_id":"42b920073bb4b2ee1034eab2b5840a2cc537602e","original_commit_id":"42b920073bb4b2ee1034eab2b5840a2cc537602e","user":{"login":"michaelyoungstrom","id":9468017,"avatar_url":"https://avatars2.githubusercontent.com/u/9468017?v=4","gravatar_id":"","url":"https://api.github.com/users/michaelyoungstrom","html_url":"https://github.com/michaelyoungstrom","followers_url":"https://api.github.com/users/michaelyoungstrom/followers","following_url":"https://api.github.com/users/michaelyoungstrom/following{/other_user}","gists_url":"https://api.github.com/users/michaelyoungstrom/gists{/gist_id}","starred_url":"https://api.github.com/users/michaelyoungstrom/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/michaelyoungstrom/subscriptions","organizations_url":"https://api.github.com/users/michaelyoungstrom/orgs","repos_url":"https://api.github.com/users/michaelyoungstrom/repos","events_url":"https://api.github.com/users/michaelyoungstrom/events{/privacy}","received_events_url":"https://api.github.com/users/michaelyoungstrom/received_events","type":"User","site_admin":false},"body":"ah, good catch","created_at":"2018-05-03T18:28:15Z","updated_at":"2018-05-03T18:28:15Z","html_url":"https://github.com/edx/edx-platform/pull/18038#discussion_r185896141","pull_request_url":"https://api.github.com/repos/edx/edx-platform/pulls/18038","author_association":"OWNER","_links":{"self":{"href":"https://api.github.com/repos/edx/edx-platform/pulls/comments/185896141"},"html":{"href":"https://github.com/edx/edx-platform/pull/18038#discussion_r185896141"},"pull_request":{"href":"https://api.github.com/repos/edx/edx-platform/pulls/18038"}},"in_reply_to_id":185895357},"pull_request":{"url":"https://api.github.com/repos/edx/edx-platform/pulls/18038","id":183822317,"html_url":"https://github.com/edx/edx-platform/pull/18038","diff_url":"https://github.com/edx/edx-platform/pull/18038.diff","patch_url":"https://github.com/edx/edx-platform/pull/18038.patch","issue_url":"https://api.github.com/repos/edx/edx-platform/issues/18038","number":18038,"state":"open","locked":false,"title":"Create Pipeline python job","user":{"login":"michaelyoungstrom","id":9468017,"avatar_url":"https://avatars2.githubusercontent.com/u/9468017?v=4","gravatar_id":"","url":"https://api.github.com/users/michaelyoungstrom","html_url":"https://github.com/michaelyoungstrom","followers_url":"https://api.github.com/users/michaelyoungstrom/followers","following_url":"https://api.github.com/users/michaelyoungstrom/following{/other_user}","gists_url":"https://api.github.com/users/michaelyoungstrom/gists{/gist_id}","starred_url":"https://api.github.com/users/michaelyoungstrom/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/michaelyoungstrom/subscriptions","organizations_url":"https://api.github.com/users/michaelyoungstrom/orgs","repos_url":"https://api.github.com/users/michaelyoungstrom/repos","events_url":"https://api.github.com/users/michaelyoungstrom/events{/privacy}","received_events_url":"https://api.github.com/users/michaelyoungstrom/received_events","type":"User","site_admin":false},"body":"Creates a jenkinsfile for running python pr tests.\r\n\r\nPassing build here: https://test-jenkins.testeng.edx.org/job/edx-platform-python-pipeline-pr/34/\r\n\r\nedx-status-bot: ignore","created_at":"2018-04-24T18:18:23Z","updated_at":"2018-05-03T18:28:15Z","closed_at":null,"merged_at":null,"merge_commit_sha":"db854d9aecdca17ce28820668bec3d82c5af6f54","assignee":null,"assignees":[],"requested_reviewers":[],"requested_teams":[],"labels":[],"milestone":null,"commits_url":"https://api.github.com/repos/edx/edx-platform/pulls/18038/commits","review_comments_url":"https://api.github.com/repos/edx/edx-platform/pulls/18038/comments","review_comment_url":"https://api.github.com/repos/edx/edx-platform/pulls/comments{/number}","comments_url":"https://api.github.com/repos/edx/edx-platform/issues/18038/comments","statuses_url":"https://api.github.com/repos/edx/edx-platform/statuses/42b920073bb4b2ee1034eab2b5840a2cc537602e","head":{"label":"edx:youngstrom/python-pipeline-job","ref":"youngstrom/python-pipeline-job","sha":"42b920073bb4b2ee1034eab2b5840a2cc537602e","user":{"login":"edx","id":3179841,"avatar_url":"https://avatars3.githubusercontent.com/u/3179841?v=4","gravatar_id":"","url":"https://api.github.com/users/edx","html_url":"https://github.com/edx","followers_url":"https://api.github.com/users/edx/followers","following_url":"https://api.github.com/users/edx/following{/other_user}","gists_url":"https://api.github.com/users/edx/gists{/gist_id}","starred_url":"https://api.github.com/users/edx/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/edx/subscriptions","organizations_url":"https://api.github.com/users/edx/orgs","repos_url":"https://api.github.com/users/edx/repos","events_url":"https://api.github.com/users/edx/events{/privacy}","received_events_url":"https://api.github.com/users/edx/received_events","type":"Organization","site_admin":false},"repo":{"id":10391073,"name":"edx-platform","full_name":"edx/edx-platform","owner":{"login":"edx","id":3179841,"avatar_url":"https://avatars3.githubusercontent.com/u/3179841?v=4","gravatar_id":"","url":"https://api.github.com/users/edx","html_url":"https://github.com/edx","followers_url":"https://api.github.com/users/edx/followers","following_url":"https://api.github.com/users/edx/following{/other_user}","gists_url":"https://api.github.com/users/edx/gists{/gist_id}","starred_url":"https://api.github.com/users/edx/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/edx/subscriptions","organizations_url":"https://api.github.com/users/edx/orgs","repos_url":"https://api.github.com/users/edx/repos","events_url":"https://api.github.com/users/edx/events{/privacy}","received_events_url":"https://api.github.com/users/edx/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/edx/edx-platform","description":"The Open edX platform, the software that powers edX!","fork":false,"url":"https://api.github.com/repos/edx/edx-platform","forks_url":"https://api.github.com/repos/edx/edx-platform/forks","keys_url":"https://api.github.com/repos/edx/edx-platform/keys{/key_id}","collaborators_url":"https://api.github.com/repos/edx/edx-platform/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/edx/edx-platform/teams","hooks_url":"https://api.github.com/repos/edx/edx-platform/hooks","issue_events_url":"https://api.github.com/repos/edx/edx-platform/issues/events{/number}","events_url":"https://api.github.com/repos/edx/edx-platform/events","assignees_url":"https://api.github.com/repos/edx/edx-platform/assignees{/user}","branches_url":"https://api.github.com/repos/edx/edx-platform/branches{/branch}","tags_url":"https://api.github.com/repos/edx/edx-platform/tags","blobs_url":"https://api.github.com/repos/edx/edx-platform/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/edx/edx-platform/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/edx/edx-platform/git/refs{/sha}","trees_url":"https://api.github.com/repos/edx/edx-platform/git/trees{/sha}","statuses_url":"https://api.github.com/repos/edx/edx-platform/statuses/{sha}","languages_url":"https://api.github.com/repos/edx/edx-platform/languages","stargazers_url":"https://api.github.com/repos/edx/edx-platform/stargazers","contributors_url":"https://api.github.com/repos/edx/edx-platform/contributors","subscribers_url":"https://api.github.com/repos/edx/edx-platform/subscribers","subscription_url":"https://api.github.com/repos/edx/edx-platform/subscription","commits_url":"https://api.github.com/repos/edx/edx-platform/commits{/sha}","git_commits_url":"https://api.github.com/repos/edx/edx-platform/git/commits{/sha}","comments_url":"https://api.github.com/repos/edx/edx-platform/comments{/number}","issue_comment_url":"https://api.github.com/repos/edx/edx-platform/issues/comments{/number}","contents_url":"https://api.github.com/repos/edx/edx-platform/contents/{+path}","compare_url":"https://api.github.com/repos/edx/edx-platform/compare/{base}...{head}","merges_url":"https://api.github.com/repos/edx/edx-platform/merges","archive_url":"https://api.github.com/repos/edx/edx-platform/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/edx/edx-platform/downloads","issues_url":"https://api.github.com/repos/edx/edx-platform/issues{/number}","pulls_url":"https://api.github.com/repos/edx/edx-platform/pulls{/number}","milestones_url":"https://api.github.com/repos/edx/edx-platform/milestones{/number}","notifications_url":"https://api.github.com/repos/edx/edx-platform/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/edx/edx-platform/labels{/name}","releases_url":"https://api.github.com/repos/edx/edx-platform/releases{/id}","deployments_url":"https://api.github.com/repos/edx/edx-platform/deployments","created_at":"2013-05-30T20:20:38Z","updated_at":"2018-05-03T18:16:49Z","pushed_at":"2018-05-03T18:23:52Z","git_url":"git://github.com/edx/edx-platform.git","ssh_url":"git@github.com:edx/edx-platform.git","clone_url":"https://github.com/edx/edx-platform.git","svn_url":"https://github.com/edx/edx-platform","homepage":"http://open.edx.org/","size":913778,"stargazers_count":3668,"watchers_count":3668,"language":"Python","has_issues":false,"has_projects":false,"has_downloads":true,"has_wiki":true,"has_pages":true,"forks_count":2054,"mirror_url":null,"archived":false,"open_issues_count":233,"license":{"key":"agpl-3.0","name":"GNU Affero General Public License v3.0","spdx_id":"AGPL-3.0","url":"https://api.github.com/licenses/agpl-3.0"},"forks":2054,"open_issues":233,"watchers":3668,"default_branch":"master"}},"base":{"label":"edx:master","ref":"master","sha":"7a71186131b29e43c306ed296cdff3779a9f3e55","user":{"login":"edx","id":3179841,"avatar_url":"https://avatars3.githubusercontent.com/u/3179841?v=4","gravatar_id":"","url":"https://api.github.com/users/edx","html_url":"https://github.com/edx","followers_url":"https://api.github.com/users/edx/followers","following_url":"https://api.github.com/users/edx/following{/other_user}","gists_url":"https://api.github.com/users/edx/gists{/gist_id}","starred_url":"https://api.github.com/users/edx/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/edx/subscriptions","organizations_url":"https://api.github.com/users/edx/orgs","repos_url":"https://api.github.com/users/edx/repos","events_url":"https://api.github.com/users/edx/events{/privacy}","received_events_url":"https://api.github.com/users/edx/received_events","type":"Organization","site_admin":false},"repo":{"id":10391073,"name":"edx-platform","full_name":"edx/edx-platform","owner":{"login":"edx","id":3179841,"avatar_url":"https://avatars3.githubusercontent.com/u/3179841?v=4","gravatar_id":"","url":"https://api.github.com/users/edx","html_url":"https://github.com/edx","followers_url":"https://api.github.com/users/edx/followers","following_url":"https://api.github.com/users/edx/following{/other_user}","gists_url":"https://api.github.com/users/edx/gists{/gist_id}","starred_url":"https://api.github.com/users/edx/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/edx/subscriptions","organizations_url":"https://api.github.com/users/edx/orgs","repos_url":"https://api.github.com/users/edx/repos","events_url":"https://api.github.com/users/edx/events{/privacy}","received_events_url":"https://api.github.com/users/edx/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/edx/edx-platform","description":"The Open edX platform, the software that powers edX!","fork":false,"url":"https://api.github.com/repos/edx/edx-platform","forks_url":"https://api.github.com/repos/edx/edx-platform/forks","keys_url":"https://api.github.com/repos/edx/edx-platform/keys{/key_id}","collaborators_url":"https://api.github.com/repos/edx/edx-platform/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/edx/edx-platform/teams","hooks_url":"https://api.github.com/repos/edx/edx-platform/hooks","issue_events_url":"https://api.github.com/repos/edx/edx-platform/issues/events{/number}","events_url":"https://api.github.com/repos/edx/edx-platform/events","assignees_url":"https://api.github.com/repos/edx/edx-platform/assignees{/user}","branches_url":"https://api.github.com/repos/edx/edx-platform/branches{/branch}","tags_url":"https://api.github.com/repos/edx/edx-platform/tags","blobs_url":"https://api.github.com/repos/edx/edx-platform/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/edx/edx-platform/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/edx/edx-platform/git/refs{/sha}","trees_url":"https://api.github.com/repos/edx/edx-platform/git/trees{/sha}","statuses_url":"https://api.github.com/repos/edx/edx-platform/statuses/{sha}","languages_url":"https://api.github.com/repos/edx/edx-platform/languages","stargazers_url":"https://api.github.com/repos/edx/edx-platform/stargazers","contributors_url":"https://api.github.com/repos/edx/edx-platform/contributors","subscribers_url":"https://api.github.com/repos/edx/edx-platform/subscribers","subscription_url":"https://api.github.com/repos/edx/edx-platform/subscription","commits_url":"https://api.github.com/repos/edx/edx-platform/commits{/sha}","git_commits_url":"https://api.github.com/repos/edx/edx-platform/git/commits{/sha}","comments_url":"https://api.github.com/repos/edx/edx-platform/comments{/number}","issue_comment_url":"https://api.github.com/repos/edx/edx-platform/issues/comments{/number}","contents_url":"https://api.github.com/repos/edx/edx-platform/contents/{+path}","compare_url":"https://api.github.com/repos/edx/edx-platform/compare/{base}...{head}","merges_url":"https://api.github.com/repos/edx/edx-platform/merges","archive_url":"https://api.github.com/repos/edx/edx-platform/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/edx/edx-platform/downloads","issues_url":"https://api.github.com/repos/edx/edx-platform/issues{/number}","pulls_url":"https://api.github.com/repos/edx/edx-platform/pulls{/number}","milestones_url":"https://api.github.com/repos/edx/edx-platform/milestones{/number}","notifications_url":"https://api.github.com/repos/edx/edx-platform/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/edx/edx-platform/labels{/name}","releases_url":"https://api.github.com/repos/edx/edx-platform/releases{/id}","deployments_url":"https://api.github.com/repos/edx/edx-platform/deployments","created_at":"2013-05-30T20:20:38Z","updated_at":"2018-05-03T18:16:49Z","pushed_at":"2018-05-03T18:23:52Z","git_url":"git://github.com/edx/edx-platform.git","ssh_url":"git@github.com:edx/edx-platform.git","clone_url":"https://github.com/edx/edx-platform.git","svn_url":"https://github.com/edx/edx-platform","homepage":"http://open.edx.org/","size":913778,"stargazers_count":3668,"watchers_count":3668,"language":"Python","has_issues":false,"has_projects":false,"has_downloads":true,"has_wiki":true,"has_pages":true,"forks_count":2054,"mirror_url":null,"archived":false,"open_issues_count":233,"license":{"key":"agpl-3.0","name":"GNU Affero General Public License v3.0","spdx_id":"AGPL-3.0","url":"https://api.github.com/licenses/agpl-3.0"},"forks":2054,"open_issues":233,"watchers":3668,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/edx/edx-platform/pulls/18038"},"html":{"href":"https://github.com/edx/edx-platform/pull/18038"},"issue":{"href":"https://api.github.com/repos/edx/edx-platform/issues/18038"},"comments":{"href":"https://api.github.com/repos/edx/edx-platform/issues/18038/comments"},"review_comments":{"href":"https://api.github.com/repos/edx/edx-platform/pulls/18038/comments"},"review_comment":{"href":"https://api.github.com/repos/edx/edx-platform/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/edx/edx-platform/pulls/18038/commits"},"statuses":{"href":"https://api.github.com/repos/edx/edx-platform/statuses/42b920073bb4b2ee1034eab2b5840a2cc537602e"}},"author_association":"OWNER"}}
{"actor":{"display_login":"michaelyoungstrom"}}