{"action":"created","comment":{"url":"https://api.github.com/repos/Azure/azure-functions-ux/pulls/comments/199290966","pull_request_review_id":133390776,"id":199290966,"node_id":"MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDE5OTI5MDk2Ng==","diff_hunk":"@@ -0,0 +1,589 @@\n+import { Component, OnInit, ViewChild, ViewContainerRef, ComponentFactoryResolver, ComponentFactory, AfterContentInit, ComponentRef, Input, ElementRef} from '@angular/core';\n+import { BroadcastService } from '../../shared/services/broadcast.service';\n+import { SiteTabIds, LogCategories } from '../../shared/models/constants';\n+import { BusyStateScopeManager } from 'app/busy-state/busy-state-scope-manager';\n+import { PromptComponent } from './templates/prompt.component';\n+import { MessageComponent } from './templates/message.component';\n+import { ErrorComponent } from './templates/error.component';\n+import { SiteService } from '../../shared/services/site.service';\n+import { LogService } from '../../shared/services/log.service';\n+import { CacheService } from '../../shared/services/cache.service';\n+import { TreeViewInfo, SiteData } from '../../tree-view/models/tree-view-info';\n+import { Subject, Observable, Subscription } from 'rxjs';\n+import { ArmObj } from '../../shared/models/arm/arm-obj';\n+import { Site } from '../../shared/models/arm/site';\n+import { PublishingCredentials } from '../../shared/models/publishing-credentials';\n+import { Headers } from '@angular/http';\n+import { ConsoleService } from './services/console.service';\n+//import { KuduConsoleModel } from './kudu.console.model';\n+\n+@Component({\n+  selector: 'app-console',\n+  templateUrl: './console.component.html',\n+  styleUrls: ['./console.component.scss'],\n+  providers: [\n+    ConsoleService\n+  ]\n+})\n+export class ConsoleComponent implements OnInit, AfterContentInit {\n+  \n+  public resourceId: string;\n+  public viewInfoStream = new Subject<TreeViewInfo<SiteData>>();\n+  public viewInfo: TreeViewInfo<SiteData>;\n+  public consoleIcon = 'image/console.svg';\n+  public isFocused: boolean = false;\n+  public commandInParts = {lCmd: \"\", mCmd: \" \" , rCmd: \"\"};\n+  public dir: string = \"D:\\\\home\\\\site\\\\wwwroot\";\n+  private initialized: boolean = false;\n+  \n+  private _site: ArmObj<Site>;\n+  private _pubCred: ArmObj<PublishingCredentials>;\n+  private _busyManager: BusyStateScopeManager;\n+  \n+  private _ongoingSub: Subscription = undefined;\n+\n+  @Input()\n+  set viewInfoInput(viewInfo: TreeViewInfo<SiteData>) {\n+    this.viewInfo = viewInfo;\n+    this.viewInfoStream.next(viewInfo);\n+  }\n+\n+  /**\n+   * Variables for Tab-key\n+   */\n+  private _ltOfDir : string[] = [];\n+  private _dirIndex = -1;\n+\n+  /**\n+   * Variables for Command + Dir @Input\n+   */\n+  private _lastKeyPressed: number = -1;\n+  private _command: string = \"\";\n+  private _ptrPosition: number = 0;\n+  private _promptComponent: ComponentFactory<any>;\n+  private _messageComponent: ComponentFactory<any>;\n+  private _errorComponent: ComponentFactory<any>;\n+  private _msgComponents: ComponentRef<any>[] = [];\n+  private _currentPrompt: ComponentRef<any> = null;\n+  private _commandHistory: string[] = [''];\n+  private _vCommandNumber: number = 1;\n+\n+  /**\n+   * UI Elements\n+   */\n+  @ViewChild('prompt', {read: ViewContainerRef})\n+  private prompt: ViewContainerRef;\n+  @ViewChild('consoleText')\n+  private _consoleText: ElementRef;\n+\n+  constructor(\n+    private _componentFactoryResolver: ComponentFactoryResolver,\n+    private _broadcastService: BroadcastService, \n+    private _siteService: SiteService,\n+    private _logService: LogService,\n+    private _cacheService: CacheService,\n+    private _consoleService: ConsoleService,\n+    ) {\n+      this._busyManager = new BusyStateScopeManager(this._broadcastService, SiteTabIds.console);  \n+      //ARM API request to get the site details and the publishing credentials\n+      this.viewInfoStream\n+      .switchMap(view => {\n+        this._busyManager.setBusy();\n+        this.resourceId = view.resourceId;\n+        return Observable.zip(\n+          this._siteService.getSite(this.resourceId),\n+          this._cacheService.postArm(`${this.resourceId}/config/publishingcredentials/list`),\n+          (site, pubCred) => ({\n+            site: site.result,\n+            pubCred: pubCred.json()\n+          })\n+        );\n+      })\n+      .subscribe(\n+        r => {\n+          this._site = r.site;\n+          this._pubCred = r.pubCred;\n+          this._busyManager.clearBusy();\n+        },\n+        err => {\n+          this._logService.error(LogCategories.cicd, '/load-console', err);\n+          this._busyManager.clearBusy();\n+        });\n+    }\n+  \n+  ngOnInit(): void {\n+    this. initialized = true;\n+    this.focusConsole();\n+  }\n+\n+  ngAfterContentInit(){\n+\n+  }\n+\n+  /**\n+   * Mouse Press outside the console, \n+   * i.e. the console no longer in focus\n+   */\n+  unFocusConsole(){\n+    this.isFocused = false;\n+    this.renderPromptVariables();\n+  }\n+\n+  /**\n+   * Console brought to focus when textarea comes into focus\n+   */\n+  focusConsoleOnTabPress(){\n+    this.isFocused = true;\n+    this.renderPromptVariables();\n+  }\n+\n+  /**\n+   * Mouse press inside the console, i.e. console comes into focus. \n+   * If already in focus, the console remains to be in focus.\n+   */\n+  focusConsole(){\n+    this.isFocused = true;\n+    this.renderPromptVariables();\n+    this._consoleText.nativeElement.focus();\n+  }\n+\n+  /**\n+   * Delete the prompt-box.\n+   */\n+  private removePrompt(){\n+    const oldPrompt = document.getElementById(\"prompt\");\n+    if(!oldPrompt){\n+      return;\n+    }\n+    oldPrompt.remove();\n+  }\n+\n+  /**\n+   * Handle the paste event when in focus\n+   * @param event: KeyEvent (paste in particular)\n+   */\n+  handlePaste(event){\n+    const text = event.clipboardData.getData('text/plain');\n+    this._command += text;\n+    this._ptrPosition = this._command.length;\n+    this.divideCommandForPtr();\n+  }\n+\n+  /**\n+   * Handle the copy event when in focus\n+   * @param event: Keyevent (copy in particular)\n+   */\n+  handleCopy(event){\n+    if(!this._ongoingSub){\n+      this.removePrompt();\n+      this.addMessageComponent();\n+    }else if(!this._ongoingSub.closed){\n+      this._ongoingSub.unsubscribe();\n+    }   \n+    this.resetCommand();\n+    this.addPromptComponent();\n+  }\n+\n+  /**\n+   * Handle the right mouse click\n+   * @param event: MouseEvent, particularly right-click\n+   */\n+  handleRightMouseClick(event){\n+    return false;\n+  }\n+\n+  /**\n+   * Handles the key event of the keyboard, \n+   * is called only when the console is in focus.\n+   * @param event: KeyEvent\n+   */\n+  keyEvent(event){\n+    console.log(event.which);\n+    /**\n+     * Switch case on the key number\n+     */\n+    switch(event.which){","path":"client/src/app/site/console/console.component.ts","position":205,"original_position":205,"commit_id":"b2f8323937201951f13e3153f3200793f38b8c41","original_commit_id":"b2f8323937201951f13e3153f3200793f38b8c41","user":{"login":"codacy-bot","id":19940114,"node_id":"MDQ6VXNlcjE5OTQwMTE0","avatar_url":"https://avatars1.githubusercontent.com/u/19940114?v=4","gravatar_id":"","url":"https://api.github.com/users/codacy-bot","html_url":"https://github.com/codacy-bot","followers_url":"https://api.github.com/users/codacy-bot/followers","following_url":"https://api.github.com/users/codacy-bot/following{/other_user}","gists_url":"https://api.github.com/users/codacy-bot/gists{/gist_id}","starred_url":"https://api.github.com/users/codacy-bot/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/codacy-bot/subscriptions","organizations_url":"https://api.github.com/users/codacy-bot/orgs","repos_url":"https://api.github.com/users/codacy-bot/repos","events_url":"https://api.github.com/users/codacy-bot/events{/privacy}","received_events_url":"https://api.github.com/users/codacy-bot/received_events","type":"User","site_admin":false},"body":"![Codacy](https://app.codacy.com/assets/images/favicon.png) Issue found: [missing whitespace](https://app.codacy.com/app/hartra344/azure-functions-ux/pullRequest?prid=1846262)","created_at":"2018-06-29T22:05:33Z","updated_at":"2018-06-29T22:05:33Z","html_url":"https://github.com/Azure/azure-functions-ux/pull/2873#discussion_r199290966","pull_request_url":"https://api.github.com/repos/Azure/azure-functions-ux/pulls/2873","author_association":"NONE","_links":{"self":{"href":"https://api.github.com/repos/Azure/azure-functions-ux/pulls/comments/199290966"},"html":{"href":"https://github.com/Azure/azure-functions-ux/pull/2873#discussion_r199290966"},"pull_request":{"href":"https://api.github.com/repos/Azure/azure-functions-ux/pulls/2873"}}},"pull_request":{"url":"https://api.github.com/repos/Azure/azure-functions-ux/pulls/2873","id":198434413,"node_id":"MDExOlB1bGxSZXF1ZXN0MTk4NDM0NDEz","html_url":"https://github.com/Azure/azure-functions-ux/pull/2873","diff_url":"https://github.com/Azure/azure-functions-ux/pull/2873.diff","patch_url":"https://github.com/Azure/azure-functions-ux/pull/2873.patch","issue_url":"https://api.github.com/repos/Azure/azure-functions-ux/issues/2873","number":2873,"state":"open","locked":false,"title":"New console code added to the dashboard","user":{"login":"takyyon","id":11722204,"node_id":"MDQ6VXNlcjExNzIyMjA0","avatar_url":"https://avatars0.githubusercontent.com/u/11722204?v=4","gravatar_id":"","url":"https://api.github.com/users/takyyon","html_url":"https://github.com/takyyon","followers_url":"https://api.github.com/users/takyyon/followers","following_url":"https://api.github.com/users/takyyon/following{/other_user}","gists_url":"https://api.github.com/users/takyyon/gists{/gist_id}","starred_url":"https://api.github.com/users/takyyon/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/takyyon/subscriptions","organizations_url":"https://api.github.com/users/takyyon/orgs","repos_url":"https://api.github.com/users/takyyon/repos","events_url":"https://api.github.com/users/takyyon/events{/privacy}","received_events_url":"https://api.github.com/users/takyyon/received_events","type":"User","site_admin":false},"body":"","created_at":"2018-06-29T22:02:32Z","updated_at":"2018-06-29T22:05:33Z","closed_at":null,"merged_at":null,"merge_commit_sha":"1e7617fe6378d04bd3c5dca0e1c07b8fb5c936d5","assignee":null,"assignees":[],"requested_reviewers":[{"login":"hartra344","id":13208452,"node_id":"MDQ6VXNlcjEzMjA4NDUy","avatar_url":"https://avatars2.githubusercontent.com/u/13208452?v=4","gravatar_id":"","url":"https://api.github.com/users/hartra344","html_url":"https://github.com/hartra344","followers_url":"https://api.github.com/users/hartra344/followers","following_url":"https://api.github.com/users/hartra344/following{/other_user}","gists_url":"https://api.github.com/users/hartra344/gists{/gist_id}","starred_url":"https://api.github.com/users/hartra344/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/hartra344/subscriptions","organizations_url":"https://api.github.com/users/hartra344/orgs","repos_url":"https://api.github.com/users/hartra344/repos","events_url":"https://api.github.com/users/hartra344/events{/privacy}","received_events_url":"https://api.github.com/users/hartra344/received_events","type":"User","site_admin":false}],"requested_teams":[],"labels":[],"milestone":null,"commits_url":"https://api.github.com/repos/Azure/azure-functions-ux/pulls/2873/commits","review_comments_url":"https://api.github.com/repos/Azure/azure-functions-ux/pulls/2873/comments","review_comment_url":"https://api.github.com/repos/Azure/azure-functions-ux/pulls/comments{/number}","comments_url":"https://api.github.com/repos/Azure/azure-functions-ux/issues/2873/comments","statuses_url":"https://api.github.com/repos/Azure/azure-functions-ux/statuses/b2f8323937201951f13e3153f3200793f38b8c41","head":{"label":"Azure:krrish-m","ref":"krrish-m","sha":"b2f8323937201951f13e3153f3200793f38b8c41","user":{"login":"Azure","id":6844498,"node_id":"MDEyOk9yZ2FuaXphdGlvbjY4NDQ0OTg=","avatar_url":"https://avatars0.githubusercontent.com/u/6844498?v=4","gravatar_id":"","url":"https://api.github.com/users/Azure","html_url":"https://github.com/Azure","followers_url":"https://api.github.com/users/Azure/followers","following_url":"https://api.github.com/users/Azure/following{/other_user}","gists_url":"https://api.github.com/users/Azure/gists{/gist_id}","starred_url":"https://api.github.com/users/Azure/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Azure/subscriptions","organizations_url":"https://api.github.com/users/Azure/orgs","repos_url":"https://api.github.com/users/Azure/repos","events_url":"https://api.github.com/users/Azure/events{/privacy}","received_events_url":"https://api.github.com/users/Azure/received_events","type":"Organization","site_admin":false},"repo":{"id":50877831,"node_id":"MDEwOlJlcG9zaXRvcnk1MDg3NzgzMQ==","name":"azure-functions-ux","full_name":"Azure/azure-functions-ux","owner":{"login":"Azure","id":6844498,"node_id":"MDEyOk9yZ2FuaXphdGlvbjY4NDQ0OTg=","avatar_url":"https://avatars0.githubusercontent.com/u/6844498?v=4","gravatar_id":"","url":"https://api.github.com/users/Azure","html_url":"https://github.com/Azure","followers_url":"https://api.github.com/users/Azure/followers","following_url":"https://api.github.com/users/Azure/following{/other_user}","gists_url":"https://api.github.com/users/Azure/gists{/gist_id}","starred_url":"https://api.github.com/users/Azure/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Azure/subscriptions","organizations_url":"https://api.github.com/users/Azure/orgs","repos_url":"https://api.github.com/users/Azure/repos","events_url":"https://api.github.com/users/Azure/events{/privacy}","received_events_url":"https://api.github.com/users/Azure/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/Azure/azure-functions-ux","description":"Azure Functions UX","fork":false,"url":"https://api.github.com/repos/Azure/azure-functions-ux","forks_url":"https://api.github.com/repos/Azure/azure-functions-ux/forks","keys_url":"https://api.github.com/repos/Azure/azure-functions-ux/keys{/key_id}","collaborators_url":"https://api.github.com/repos/Azure/azure-functions-ux/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/Azure/azure-functions-ux/teams","hooks_url":"https://api.github.com/repos/Azure/azure-functions-ux/hooks","issue_events_url":"https://api.github.com/repos/Azure/azure-functions-ux/issues/events{/number}","events_url":"https://api.github.com/repos/Azure/azure-functions-ux/events","assignees_url":"https://api.github.com/repos/Azure/azure-functions-ux/assignees{/user}","branches_url":"https://api.github.com/repos/Azure/azure-functions-ux/branches{/branch}","tags_url":"https://api.github.com/repos/Azure/azure-functions-ux/tags","blobs_url":"https://api.github.com/repos/Azure/azure-functions-ux/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/Azure/azure-functions-ux/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/Azure/azure-functions-ux/git/refs{/sha}","trees_url":"https://api.github.com/repos/Azure/azure-functions-ux/git/trees{/sha}","statuses_url":"https://api.github.com/repos/Azure/azure-functions-ux/statuses/{sha}","languages_url":"https://api.github.com/repos/Azure/azure-functions-ux/languages","stargazers_url":"https://api.github.com/repos/Azure/azure-functions-ux/stargazers","contributors_url":"https://api.github.com/repos/Azure/azure-functions-ux/contributors","subscribers_url":"https://api.github.com/repos/Azure/azure-functions-ux/subscribers","subscription_url":"https://api.github.com/repos/Azure/azure-functions-ux/subscription","commits_url":"https://api.github.com/repos/Azure/azure-functions-ux/commits{/sha}","git_commits_url":"https://api.github.com/repos/Azure/azure-functions-ux/git/commits{/sha}","comments_url":"https://api.github.com/repos/Azure/azure-functions-ux/comments{/number}","issue_comment_url":"https://api.github.com/repos/Azure/azure-functions-ux/issues/comments{/number}","contents_url":"https://api.github.com/repos/Azure/azure-functions-ux/contents/{+path}","compare_url":"https://api.github.com/repos/Azure/azure-functions-ux/compare/{base}...{head}","merges_url":"https://api.github.com/repos/Azure/azure-functions-ux/merges","archive_url":"https://api.github.com/repos/Azure/azure-functions-ux/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/Azure/azure-functions-ux/downloads","issues_url":"https://api.github.com/repos/Azure/azure-functions-ux/issues{/number}","pulls_url":"https://api.github.com/repos/Azure/azure-functions-ux/pulls{/number}","milestones_url":"https://api.github.com/repos/Azure/azure-functions-ux/milestones{/number}","notifications_url":"https://api.github.com/repos/Azure/azure-functions-ux/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/Azure/azure-functions-ux/labels{/name}","releases_url":"https://api.github.com/repos/Azure/azure-functions-ux/releases{/id}","deployments_url":"https://api.github.com/repos/Azure/azure-functions-ux/deployments","created_at":"2016-02-01T23:01:22Z","updated_at":"2018-06-29T21:46:17Z","pushed_at":"2018-06-29T22:02:32Z","git_url":"git://github.com/Azure/azure-functions-ux.git","ssh_url":"git@github.com:Azure/azure-functions-ux.git","clone_url":"https://github.com/Azure/azure-functions-ux.git","svn_url":"https://github.com/Azure/azure-functions-ux","homepage":"https://functions.azure.com","size":20370,"stargazers_count":151,"watchers_count":151,"language":"TypeScript","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":59,"mirror_url":null,"archived":false,"open_issues_count":274,"license":{"key":"apache-2.0","name":"Apache License 2.0","spdx_id":"Apache-2.0","url":"https://api.github.com/licenses/apache-2.0","node_id":"MDc6TGljZW5zZTI="},"forks":59,"open_issues":274,"watchers":151,"default_branch":"dev"}},"base":{"label":"Azure:dev","ref":"dev","sha":"1cc1251c2dc345afab0c2dc80d3a81e23cef0796","user":{"login":"Azure","id":6844498,"node_id":"MDEyOk9yZ2FuaXphdGlvbjY4NDQ0OTg=","avatar_url":"https://avatars0.githubusercontent.com/u/6844498?v=4","gravatar_id":"","url":"https://api.github.com/users/Azure","html_url":"https://github.com/Azure","followers_url":"https://api.github.com/users/Azure/followers","following_url":"https://api.github.com/users/Azure/following{/other_user}","gists_url":"https://api.github.com/users/Azure/gists{/gist_id}","starred_url":"https://api.github.com/users/Azure/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Azure/subscriptions","organizations_url":"https://api.github.com/users/Azure/orgs","repos_url":"https://api.github.com/users/Azure/repos","events_url":"https://api.github.com/users/Azure/events{/privacy}","received_events_url":"https://api.github.com/users/Azure/received_events","type":"Organization","site_admin":false},"repo":{"id":50877831,"node_id":"MDEwOlJlcG9zaXRvcnk1MDg3NzgzMQ==","name":"azure-functions-ux","full_name":"Azure/azure-functions-ux","owner":{"login":"Azure","id":6844498,"node_id":"MDEyOk9yZ2FuaXphdGlvbjY4NDQ0OTg=","avatar_url":"https://avatars0.githubusercontent.com/u/6844498?v=4","gravatar_id":"","url":"https://api.github.com/users/Azure","html_url":"https://github.com/Azure","followers_url":"https://api.github.com/users/Azure/followers","following_url":"https://api.github.com/users/Azure/following{/other_user}","gists_url":"https://api.github.com/users/Azure/gists{/gist_id}","starred_url":"https://api.github.com/users/Azure/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Azure/subscriptions","organizations_url":"https://api.github.com/users/Azure/orgs","repos_url":"https://api.github.com/users/Azure/repos","events_url":"https://api.github.com/users/Azure/events{/privacy}","received_events_url":"https://api.github.com/users/Azure/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/Azure/azure-functions-ux","description":"Azure Functions UX","fork":false,"url":"https://api.github.com/repos/Azure/azure-functions-ux","forks_url":"https://api.github.com/repos/Azure/azure-functions-ux/forks","keys_url":"https://api.github.com/repos/Azure/azure-functions-ux/keys{/key_id}","collaborators_url":"https://api.github.com/repos/Azure/azure-functions-ux/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/Azure/azure-functions-ux/teams","hooks_url":"https://api.github.com/repos/Azure/azure-functions-ux/hooks","issue_events_url":"https://api.github.com/repos/Azure/azure-functions-ux/issues/events{/number}","events_url":"https://api.github.com/repos/Azure/azure-functions-ux/events","assignees_url":"https://api.github.com/repos/Azure/azure-functions-ux/assignees{/user}","branches_url":"https://api.github.com/repos/Azure/azure-functions-ux/branches{/branch}","tags_url":"https://api.github.com/repos/Azure/azure-functions-ux/tags","blobs_url":"https://api.github.com/repos/Azure/azure-functions-ux/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/Azure/azure-functions-ux/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/Azure/azure-functions-ux/git/refs{/sha}","trees_url":"https://api.github.com/repos/Azure/azure-functions-ux/git/trees{/sha}","statuses_url":"https://api.github.com/repos/Azure/azure-functions-ux/statuses/{sha}","languages_url":"https://api.github.com/repos/Azure/azure-functions-ux/languages","stargazers_url":"https://api.github.com/repos/Azure/azure-functions-ux/stargazers","contributors_url":"https://api.github.com/repos/Azure/azure-functions-ux/contributors","subscribers_url":"https://api.github.com/repos/Azure/azure-functions-ux/subscribers","subscription_url":"https://api.github.com/repos/Azure/azure-functions-ux/subscription","commits_url":"https://api.github.com/repos/Azure/azure-functions-ux/commits{/sha}","git_commits_url":"https://api.github.com/repos/Azure/azure-functions-ux/git/commits{/sha}","comments_url":"https://api.github.com/repos/Azure/azure-functions-ux/comments{/number}","issue_comment_url":"https://api.github.com/repos/Azure/azure-functions-ux/issues/comments{/number}","contents_url":"https://api.github.com/repos/Azure/azure-functions-ux/contents/{+path}","compare_url":"https://api.github.com/repos/Azure/azure-functions-ux/compare/{base}...{head}","merges_url":"https://api.github.com/repos/Azure/azure-functions-ux/merges","archive_url":"https://api.github.com/repos/Azure/azure-functions-ux/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/Azure/azure-functions-ux/downloads","issues_url":"https://api.github.com/repos/Azure/azure-functions-ux/issues{/number}","pulls_url":"https://api.github.com/repos/Azure/azure-functions-ux/pulls{/number}","milestones_url":"https://api.github.com/repos/Azure/azure-functions-ux/milestones{/number}","notifications_url":"https://api.github.com/repos/Azure/azure-functions-ux/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/Azure/azure-functions-ux/labels{/name}","releases_url":"https://api.github.com/repos/Azure/azure-functions-ux/releases{/id}","deployments_url":"https://api.github.com/repos/Azure/azure-functions-ux/deployments","created_at":"2016-02-01T23:01:22Z","updated_at":"2018-06-29T21:46:17Z","pushed_at":"2018-06-29T22:02:32Z","git_url":"git://github.com/Azure/azure-functions-ux.git","ssh_url":"git@github.com:Azure/azure-functions-ux.git","clone_url":"https://github.com/Azure/azure-functions-ux.git","svn_url":"https://github.com/Azure/azure-functions-ux","homepage":"https://functions.azure.com","size":20370,"stargazers_count":151,"watchers_count":151,"language":"TypeScript","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":59,"mirror_url":null,"archived":false,"open_issues_count":274,"license":{"key":"apache-2.0","name":"Apache License 2.0","spdx_id":"Apache-2.0","url":"https://api.github.com/licenses/apache-2.0","node_id":"MDc6TGljZW5zZTI="},"forks":59,"open_issues":274,"watchers":151,"default_branch":"dev"}},"_links":{"self":{"href":"https://api.github.com/repos/Azure/azure-functions-ux/pulls/2873"},"html":{"href":"https://github.com/Azure/azure-functions-ux/pull/2873"},"issue":{"href":"https://api.github.com/repos/Azure/azure-functions-ux/issues/2873"},"comments":{"href":"https://api.github.com/repos/Azure/azure-functions-ux/issues/2873/comments"},"review_comments":{"href":"https://api.github.com/repos/Azure/azure-functions-ux/pulls/2873/comments"},"review_comment":{"href":"https://api.github.com/repos/Azure/azure-functions-ux/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/Azure/azure-functions-ux/pulls/2873/commits"},"statuses":{"href":"https://api.github.com/repos/Azure/azure-functions-ux/statuses/b2f8323937201951f13e3153f3200793f38b8c41"}},"author_association":"MEMBER"}}
{"actor":{"display_login":"codacy-bot"}}