{"action":"created","comment":{"url":"https://api.github.com/repos/Texera/texera/pulls/comments/196981679","pull_request_review_id":130633565,"id":196981679,"node_id":"MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDE5Njk4MTY3OQ==","diff_hunk":"@@ -1,15 +1,169 @@\n-import { Component, OnInit } from '@angular/core';\n+import { Component, OnInit, ViewChild } from '@angular/core';\n+import { DataSource } from '@angular/cdk/table';\n+import { MatPaginator, MatTableDataSource } from '@angular/material';\n \n+\n+import { ExecuteWorkflowService } from './../../service/execute-workflow/execute-workflow.service';\n+\n+import { Observable } from 'rxjs/Observable';\n+import { NgbModal , ModalDismissReasons } from '@ng-bootstrap/ng-bootstrap';\n+import { ExecutionResult, SuccessExecutionResult } from './../../types/workflow-execute.interface';\n+\n+/**\n+ * ResultPanelCompoent is the bottom level area that\n+ *  displays the execution result of a workflow after\n+ *  the execution finishes.\n+ *\n+ * The Component will display the result in an excel\n+ *  table format, where each row represents a result\n+ *  from the workflow and each column represents the\n+ *  type of result the workflow returns.\n+ *\n+ * Clicking each row of the result table will create an\n+ *  pop-up window and display the detail of that row\n+ *  in a pretty json format.\n+ *\n+ * @author Henry Chen\n+ * @author Zuozhi Wang\n+ *\n+ */\n @Component({\n   selector: 'texera-result-panel',\n   templateUrl: './result-panel.component.html',\n   styleUrls: ['./result-panel.component.scss']\n })\n export class ResultPanelComponent implements OnInit {\n \n-  constructor() { }\n+  public showMessage: boolean = false;\n+  public message: string = '';\n+\n+  public currentColumns: TableColumn[] | undefined;\n+  public currentDisplayColumns: string[] | undefined;\n+  public currentDataSource: MatTableDataSource<object> | undefined;\n+  public currentDisplayRow: string = '';\n+\n+  @ViewChild(MatPaginator) paginator: MatPaginator | null = null;\n+\n+  constructor(private executeWorkflowService: ExecuteWorkflowService, private modalService: NgbModal) {\n+    // once an execution has ended, update the result panel to dispaly\n+    //  execution result or error\n+    this.executeWorkflowService.getExecuteEndedStream().subscribe(\n+      executionResult => this.handleResultData(executionResult),\n+    );\n+  }\n+\n+  /**\n+   * Opens the ng-bootstrap model to display the row details in\n+   *  pretty json format when clicked. User can view the details\n+   *  in a larger, expanded format.\n+   *\n+   * @param content\n+   */\n+  public open(content: any): void {\n+    this.modalService.open(content).result.then((result) => {\n+      console.log(result);\n+    }, (reason) => {\n+      console.log(reason);\n+    });\n+  }\n+\n+\n+  /**\n+   * Fetches the information from the selected row in the result panel,\n+   *  updates the content of the row to dispaly, and opens the\n+   *  result panel to display the details of the selected rows.\n+   *\n+   * @param row\n+   * @param content\n+   */\n+  public getRowDetails(row: any, content: any): void {\n+    // console.log('getRowDetails: ');\n+    // console.log(row);\n+    this.currentDisplayRow = JSON.stringify(row, undefined, 2);\n+    this.open(content);\n+  }\n \n   ngOnInit() {\n+\n   }\n \n+  /**\n+   *\n+   * Update all the result table properties based on the newly acquired\n+   *  execution result and display a new data table with a new paginator\n+   *  on the result panel.\n+   *\n+   */\n+  private changeResultTableProperty(response: SuccessExecutionResult) {\n+    const resultData: ReadonlyArray<object> | undefined = response.result;\n+\n+    if (resultData !== undefined) {\n+      // generate columnDef from first row, column definition is in order\n+      this.currentDisplayColumns = Object.keys(resultData[0]).filter(x => x !== '_id');\n+      this.currentColumns = this.generateColumns(this.currentDisplayColumns);\n+\n+\n+      // create a new DataSource object based on the new result data\n+      this.currentDataSource = new MatTableDataSource<object> (resultData as Array<object>);\n+\n+      // set the paginator to be the new DataSource's paginator\n+      this.currentDataSource.paginator = this.paginator;\n+\n+      // console.log(this.currentDisplayColumns);\n+    }\n+  }\n+\n+  /**\n+   * Handler for the execution result.\n+   *\n+   * Response code == 0:\n+   *  - Execution had run correctly\n+   *  - Don't show any error message\n+   *  - Update data table's property to display new result\n+   * Response code == 1:\n+   *  - Execution had encountered an error\n+   *  - Update and show the error message on the panel\n+   *\n+   * @param response\n+   */\n+  private handleResultData(response: ExecutionResult): void {\n+    // console.log('view result compoenent, ');\n+    // console.log(response);\n+    if (response.code === 0) {\n+      // when the execution had run correctly\n+      this.showMessage = false;\n+      this.changeResultTableProperty(response);\n+    } else {\n+      // when the execution encountered an error\n+      this.showMessage = true;\n+      this.message = JSON.stringify(response.message);\n+    }\n+  }\n+\n+  /**\n+   * Generates all the column information for the result data table\n+   *\n+   * @param columnNames\n+   */\n+  private generateColumns(columnNames: string[]): TableColumn[] {\n+    // console.log('generateColumns: ');\n+\n+    const columns: TableColumn[] = [];\n+    // generate a TableColumn object for each column\n+    columnNames.forEach(col => columns.push(new TableColumn(col, col, (row) => `${row[col]}`)));\n+    // console.log(columns);\n+    return columns;\n+  }\n+\n+}\n+\n+/**\n+ * Class for holding the properties for each column\n+ */\n+export class TableColumn {","path":"core/new-gui/src/app/workspace/component/result-panel/result-panel.component.ts","position":165,"original_position":165,"commit_id":"ce4346d983dd1198abf38699eae1fb9c1488fae7","original_commit_id":"ce4346d983dd1198abf38699eae1fb9c1488fae7","user":{"login":"avinash0161","id":3867317,"node_id":"MDQ6VXNlcjM4NjczMTc=","avatar_url":"https://avatars1.githubusercontent.com/u/3867317?v=4","gravatar_id":"","url":"https://api.github.com/users/avinash0161","html_url":"https://github.com/avinash0161","followers_url":"https://api.github.com/users/avinash0161/followers","following_url":"https://api.github.com/users/avinash0161/following{/other_user}","gists_url":"https://api.github.com/users/avinash0161/gists{/gist_id}","starred_url":"https://api.github.com/users/avinash0161/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/avinash0161/subscriptions","organizations_url":"https://api.github.com/users/avinash0161/orgs","repos_url":"https://api.github.com/users/avinash0161/repos","events_url":"https://api.github.com/users/avinash0161/events{/privacy}","received_events_url":"https://api.github.com/users/avinash0161/received_events","type":"User","site_admin":false},"body":"This should go in the folder holding all the interfaces. I think it's types.","created_at":"2018-06-21T00:32:22Z","updated_at":"2018-06-21T00:32:22Z","html_url":"https://github.com/Texera/texera/pull/623#discussion_r196981679","pull_request_url":"https://api.github.com/repos/Texera/texera/pulls/623","author_association":"COLLABORATOR","_links":{"self":{"href":"https://api.github.com/repos/Texera/texera/pulls/comments/196981679"},"html":{"href":"https://github.com/Texera/texera/pull/623#discussion_r196981679"},"pull_request":{"href":"https://api.github.com/repos/Texera/texera/pulls/623"}}},"pull_request":{"url":"https://api.github.com/repos/Texera/texera/pulls/623","id":194200309,"node_id":"MDExOlB1bGxSZXF1ZXN0MTk0MjAwMzA5","html_url":"https://github.com/Texera/texera/pull/623","diff_url":"https://github.com/Texera/texera/pull/623.diff","patch_url":"https://github.com/Texera/texera/pull/623.patch","issue_url":"https://api.github.com/repos/Texera/texera/issues/623","number":623,"state":"open","locked":false,"title":"[#603][8] Add result panel component ","user":{"login":"henrychen0220","id":19577058,"node_id":"MDQ6VXNlcjE5NTc3MDU4","avatar_url":"https://avatars0.githubusercontent.com/u/19577058?v=4","gravatar_id":"","url":"https://api.github.com/users/henrychen0220","html_url":"https://github.com/henrychen0220","followers_url":"https://api.github.com/users/henrychen0220/followers","following_url":"https://api.github.com/users/henrychen0220/following{/other_user}","gists_url":"https://api.github.com/users/henrychen0220/gists{/gist_id}","starred_url":"https://api.github.com/users/henrychen0220/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/henrychen0220/subscriptions","organizations_url":"https://api.github.com/users/henrychen0220/orgs","repos_url":"https://api.github.com/users/henrychen0220/repos","events_url":"https://api.github.com/users/henrychen0220/events{/privacy}","received_events_url":"https://api.github.com/users/henrychen0220/received_events","type":"User","site_admin":false},"body":"This PR adds a new functionality to display workflow results after execution to the new GUI.\r\n\r\nWhenever an execution finishes, `ResultPanelComponent` will fetch the execution result and display it onto the bottom area of the new GUI. If the execution result shows that the workflow graph executes correctly, a new data table showing the execution result in excel table format will be displayed. Otherwise, when a error message is returned instead, the result panel will show the corresponding error message on the result panel.\r\n\r\nClicking on each row of the result table will create a pop-up window and display the detail of that row in the pretty json format. The pop-up window is implemented using the `modal` component provided by the `ng-bootstrap` library. \r\n\r\nA `paginator` is also added to the new GUI to prevent displaying too many results all at once in the small area used by the result panel.\r\n\r\n**New result panel data table:**\r\n\r\n![capture](https://user-images.githubusercontent.com/19577058/41278320-7910f2d4-6dde-11e8-85dd-362763c6f32e.JPG)\r\n\r\n\r\n**New result panel error message:**\r\n\r\n![capture1](https://user-images.githubusercontent.com/19577058/41278333-7fbf0828-6dde-11e8-9a74-553527ac253a.JPG)\r\n\r\n\r\n**New result panel row detail:**\r\n\r\n![capture2](https://user-images.githubusercontent.com/19577058/41278341-81fd3e84-6dde-11e8-8fe0-7fe491f32cc0.JPG)\r\n\r\n\r\n\r\n`ng-bootstrap`: https://github.com/ng-bootstrap/ng-bootstrap \r\n\r\nThis PR adds 5 new test cases.","created_at":"2018-06-12T08:19:10Z","updated_at":"2018-06-21T00:32:22Z","closed_at":null,"merged_at":null,"merge_commit_sha":"1ee7a0b5673ca1ea5ba6e1f4acce9f8b236a3622","assignee":null,"assignees":[],"requested_reviewers":[{"login":"zuozhiw","id":12578068,"node_id":"MDQ6VXNlcjEyNTc4MDY4","avatar_url":"https://avatars2.githubusercontent.com/u/12578068?v=4","gravatar_id":"","url":"https://api.github.com/users/zuozhiw","html_url":"https://github.com/zuozhiw","followers_url":"https://api.github.com/users/zuozhiw/followers","following_url":"https://api.github.com/users/zuozhiw/following{/other_user}","gists_url":"https://api.github.com/users/zuozhiw/gists{/gist_id}","starred_url":"https://api.github.com/users/zuozhiw/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/zuozhiw/subscriptions","organizations_url":"https://api.github.com/users/zuozhiw/orgs","repos_url":"https://api.github.com/users/zuozhiw/repos","events_url":"https://api.github.com/users/zuozhiw/events{/privacy}","received_events_url":"https://api.github.com/users/zuozhiw/received_events","type":"User","site_admin":false}],"requested_teams":[],"labels":[],"milestone":null,"commits_url":"https://api.github.com/repos/Texera/texera/pulls/623/commits","review_comments_url":"https://api.github.com/repos/Texera/texera/pulls/623/comments","review_comment_url":"https://api.github.com/repos/Texera/texera/pulls/comments{/number}","comments_url":"https://api.github.com/repos/Texera/texera/issues/623/comments","statuses_url":"https://api.github.com/repos/Texera/texera/statuses/ce4346d983dd1198abf38699eae1fb9c1488fae7","head":{"label":"Texera:new-gui-result-panel","ref":"new-gui-result-panel","sha":"ce4346d983dd1198abf38699eae1fb9c1488fae7","user":{"login":"Texera","id":18126950,"node_id":"MDEyOk9yZ2FuaXphdGlvbjE4MTI2OTUw","avatar_url":"https://avatars1.githubusercontent.com/u/18126950?v=4","gravatar_id":"","url":"https://api.github.com/users/Texera","html_url":"https://github.com/Texera","followers_url":"https://api.github.com/users/Texera/followers","following_url":"https://api.github.com/users/Texera/following{/other_user}","gists_url":"https://api.github.com/users/Texera/gists{/gist_id}","starred_url":"https://api.github.com/users/Texera/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Texera/subscriptions","organizations_url":"https://api.github.com/users/Texera/orgs","repos_url":"https://api.github.com/users/Texera/repos","events_url":"https://api.github.com/users/Texera/events{/privacy}","received_events_url":"https://api.github.com/users/Texera/received_events","type":"Organization","site_admin":false},"repo":{"id":53976910,"node_id":"MDEwOlJlcG9zaXRvcnk1Mzk3NjkxMA==","name":"texera","full_name":"Texera/texera","owner":{"login":"Texera","id":18126950,"node_id":"MDEyOk9yZ2FuaXphdGlvbjE4MTI2OTUw","avatar_url":"https://avatars1.githubusercontent.com/u/18126950?v=4","gravatar_id":"","url":"https://api.github.com/users/Texera","html_url":"https://github.com/Texera","followers_url":"https://api.github.com/users/Texera/followers","following_url":"https://api.github.com/users/Texera/following{/other_user}","gists_url":"https://api.github.com/users/Texera/gists{/gist_id}","starred_url":"https://api.github.com/users/Texera/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Texera/subscriptions","organizations_url":"https://api.github.com/users/Texera/orgs","repos_url":"https://api.github.com/users/Texera/repos","events_url":"https://api.github.com/users/Texera/events{/privacy}","received_events_url":"https://api.github.com/users/Texera/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/Texera/texera","description":"Cloud-based text analytics for NLP and ML.","fork":false,"url":"https://api.github.com/repos/Texera/texera","forks_url":"https://api.github.com/repos/Texera/texera/forks","keys_url":"https://api.github.com/repos/Texera/texera/keys{/key_id}","collaborators_url":"https://api.github.com/repos/Texera/texera/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/Texera/texera/teams","hooks_url":"https://api.github.com/repos/Texera/texera/hooks","issue_events_url":"https://api.github.com/repos/Texera/texera/issues/events{/number}","events_url":"https://api.github.com/repos/Texera/texera/events","assignees_url":"https://api.github.com/repos/Texera/texera/assignees{/user}","branches_url":"https://api.github.com/repos/Texera/texera/branches{/branch}","tags_url":"https://api.github.com/repos/Texera/texera/tags","blobs_url":"https://api.github.com/repos/Texera/texera/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/Texera/texera/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/Texera/texera/git/refs{/sha}","trees_url":"https://api.github.com/repos/Texera/texera/git/trees{/sha}","statuses_url":"https://api.github.com/repos/Texera/texera/statuses/{sha}","languages_url":"https://api.github.com/repos/Texera/texera/languages","stargazers_url":"https://api.github.com/repos/Texera/texera/stargazers","contributors_url":"https://api.github.com/repos/Texera/texera/contributors","subscribers_url":"https://api.github.com/repos/Texera/texera/subscribers","subscription_url":"https://api.github.com/repos/Texera/texera/subscription","commits_url":"https://api.github.com/repos/Texera/texera/commits{/sha}","git_commits_url":"https://api.github.com/repos/Texera/texera/git/commits{/sha}","comments_url":"https://api.github.com/repos/Texera/texera/comments{/number}","issue_comment_url":"https://api.github.com/repos/Texera/texera/issues/comments{/number}","contents_url":"https://api.github.com/repos/Texera/texera/contents/{+path}","compare_url":"https://api.github.com/repos/Texera/texera/compare/{base}...{head}","merges_url":"https://api.github.com/repos/Texera/texera/merges","archive_url":"https://api.github.com/repos/Texera/texera/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/Texera/texera/downloads","issues_url":"https://api.github.com/repos/Texera/texera/issues{/number}","pulls_url":"https://api.github.com/repos/Texera/texera/pulls{/number}","milestones_url":"https://api.github.com/repos/Texera/texera/milestones{/number}","notifications_url":"https://api.github.com/repos/Texera/texera/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/Texera/texera/labels{/name}","releases_url":"https://api.github.com/repos/Texera/texera/releases{/id}","deployments_url":"https://api.github.com/repos/Texera/texera/deployments","created_at":"2016-03-15T20:38:46Z","updated_at":"2018-06-20T06:58:49Z","pushed_at":"2018-06-20T07:16:17Z","git_url":"git://github.com/Texera/texera.git","ssh_url":"git@github.com:Texera/texera.git","clone_url":"https://github.com/Texera/texera.git","svn_url":"https://github.com/Texera/texera","homepage":"","size":35909,"stargazers_count":48,"watchers_count":48,"language":"Java","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":15,"mirror_url":null,"archived":false,"open_issues_count":16,"license":null,"forks":15,"open_issues":16,"watchers":48,"default_branch":"master"}},"base":{"label":"Texera:master","ref":"master","sha":"f95e52291ef8440f49f2c5eac91197436e0c8bd1","user":{"login":"Texera","id":18126950,"node_id":"MDEyOk9yZ2FuaXphdGlvbjE4MTI2OTUw","avatar_url":"https://avatars1.githubusercontent.com/u/18126950?v=4","gravatar_id":"","url":"https://api.github.com/users/Texera","html_url":"https://github.com/Texera","followers_url":"https://api.github.com/users/Texera/followers","following_url":"https://api.github.com/users/Texera/following{/other_user}","gists_url":"https://api.github.com/users/Texera/gists{/gist_id}","starred_url":"https://api.github.com/users/Texera/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Texera/subscriptions","organizations_url":"https://api.github.com/users/Texera/orgs","repos_url":"https://api.github.com/users/Texera/repos","events_url":"https://api.github.com/users/Texera/events{/privacy}","received_events_url":"https://api.github.com/users/Texera/received_events","type":"Organization","site_admin":false},"repo":{"id":53976910,"node_id":"MDEwOlJlcG9zaXRvcnk1Mzk3NjkxMA==","name":"texera","full_name":"Texera/texera","owner":{"login":"Texera","id":18126950,"node_id":"MDEyOk9yZ2FuaXphdGlvbjE4MTI2OTUw","avatar_url":"https://avatars1.githubusercontent.com/u/18126950?v=4","gravatar_id":"","url":"https://api.github.com/users/Texera","html_url":"https://github.com/Texera","followers_url":"https://api.github.com/users/Texera/followers","following_url":"https://api.github.com/users/Texera/following{/other_user}","gists_url":"https://api.github.com/users/Texera/gists{/gist_id}","starred_url":"https://api.github.com/users/Texera/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Texera/subscriptions","organizations_url":"https://api.github.com/users/Texera/orgs","repos_url":"https://api.github.com/users/Texera/repos","events_url":"https://api.github.com/users/Texera/events{/privacy}","received_events_url":"https://api.github.com/users/Texera/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/Texera/texera","description":"Cloud-based text analytics for NLP and ML.","fork":false,"url":"https://api.github.com/repos/Texera/texera","forks_url":"https://api.github.com/repos/Texera/texera/forks","keys_url":"https://api.github.com/repos/Texera/texera/keys{/key_id}","collaborators_url":"https://api.github.com/repos/Texera/texera/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/Texera/texera/teams","hooks_url":"https://api.github.com/repos/Texera/texera/hooks","issue_events_url":"https://api.github.com/repos/Texera/texera/issues/events{/number}","events_url":"https://api.github.com/repos/Texera/texera/events","assignees_url":"https://api.github.com/repos/Texera/texera/assignees{/user}","branches_url":"https://api.github.com/repos/Texera/texera/branches{/branch}","tags_url":"https://api.github.com/repos/Texera/texera/tags","blobs_url":"https://api.github.com/repos/Texera/texera/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/Texera/texera/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/Texera/texera/git/refs{/sha}","trees_url":"https://api.github.com/repos/Texera/texera/git/trees{/sha}","statuses_url":"https://api.github.com/repos/Texera/texera/statuses/{sha}","languages_url":"https://api.github.com/repos/Texera/texera/languages","stargazers_url":"https://api.github.com/repos/Texera/texera/stargazers","contributors_url":"https://api.github.com/repos/Texera/texera/contributors","subscribers_url":"https://api.github.com/repos/Texera/texera/subscribers","subscription_url":"https://api.github.com/repos/Texera/texera/subscription","commits_url":"https://api.github.com/repos/Texera/texera/commits{/sha}","git_commits_url":"https://api.github.com/repos/Texera/texera/git/commits{/sha}","comments_url":"https://api.github.com/repos/Texera/texera/comments{/number}","issue_comment_url":"https://api.github.com/repos/Texera/texera/issues/comments{/number}","contents_url":"https://api.github.com/repos/Texera/texera/contents/{+path}","compare_url":"https://api.github.com/repos/Texera/texera/compare/{base}...{head}","merges_url":"https://api.github.com/repos/Texera/texera/merges","archive_url":"https://api.github.com/repos/Texera/texera/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/Texera/texera/downloads","issues_url":"https://api.github.com/repos/Texera/texera/issues{/number}","pulls_url":"https://api.github.com/repos/Texera/texera/pulls{/number}","milestones_url":"https://api.github.com/repos/Texera/texera/milestones{/number}","notifications_url":"https://api.github.com/repos/Texera/texera/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/Texera/texera/labels{/name}","releases_url":"https://api.github.com/repos/Texera/texera/releases{/id}","deployments_url":"https://api.github.com/repos/Texera/texera/deployments","created_at":"2016-03-15T20:38:46Z","updated_at":"2018-06-20T06:58:49Z","pushed_at":"2018-06-20T07:16:17Z","git_url":"git://github.com/Texera/texera.git","ssh_url":"git@github.com:Texera/texera.git","clone_url":"https://github.com/Texera/texera.git","svn_url":"https://github.com/Texera/texera","homepage":"","size":35909,"stargazers_count":48,"watchers_count":48,"language":"Java","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":15,"mirror_url":null,"archived":false,"open_issues_count":16,"license":null,"forks":15,"open_issues":16,"watchers":48,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/Texera/texera/pulls/623"},"html":{"href":"https://github.com/Texera/texera/pull/623"},"issue":{"href":"https://api.github.com/repos/Texera/texera/issues/623"},"comments":{"href":"https://api.github.com/repos/Texera/texera/issues/623/comments"},"review_comments":{"href":"https://api.github.com/repos/Texera/texera/pulls/623/comments"},"review_comment":{"href":"https://api.github.com/repos/Texera/texera/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/Texera/texera/pulls/623/commits"},"statuses":{"href":"https://api.github.com/repos/Texera/texera/statuses/ce4346d983dd1198abf38699eae1fb9c1488fae7"}},"author_association":"COLLABORATOR"}}
{"actor":{"display_login":"avinash0161"}}