{"action":"created","issue":{"url":"https://api.github.com/repos/dcos/dcos-ui/issues/1399","repository_url":"https://api.github.com/repos/dcos/dcos-ui","labels_url":"https://api.github.com/repos/dcos/dcos-ui/issues/1399/labels{/name}","comments_url":"https://api.github.com/repos/dcos/dcos-ui/issues/1399/comments","events_url":"https://api.github.com/repos/dcos/dcos-ui/issues/1399/events","html_url":"https://github.com/dcos/dcos-ui/pull/1399","id":190950795,"number":1399,"title":"DCOS-11642: High-level marathon error handlers","user":{"login":"wavesoft","id":883486,"avatar_url":"https://avatars.githubusercontent.com/u/883486?v=3","gravatar_id":"","url":"https://api.github.com/users/wavesoft","html_url":"https://github.com/wavesoft","followers_url":"https://api.github.com/users/wavesoft/followers","following_url":"https://api.github.com/users/wavesoft/following{/other_user}","gists_url":"https://api.github.com/users/wavesoft/gists{/gist_id}","starred_url":"https://api.github.com/users/wavesoft/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/wavesoft/subscriptions","organizations_url":"https://api.github.com/users/wavesoft/orgs","repos_url":"https://api.github.com/users/wavesoft/repos","events_url":"https://api.github.com/users/wavesoft/events{/privacy}","received_events_url":"https://api.github.com/users/wavesoft/received_events","type":"User","site_admin":false},"labels":[{"id":360296447,"url":"https://api.github.com/repos/dcos/dcos-ui/labels/hold%20merge","name":"hold merge","color":"097ec6","default":false}],"state":"open","locked":false,"assignee":{"login":"Poltergeist","id":156010,"avatar_url":"https://avatars.githubusercontent.com/u/156010?v=3","gravatar_id":"","url":"https://api.github.com/users/Poltergeist","html_url":"https://github.com/Poltergeist","followers_url":"https://api.github.com/users/Poltergeist/followers","following_url":"https://api.github.com/users/Poltergeist/following{/other_user}","gists_url":"https://api.github.com/users/Poltergeist/gists{/gist_id}","starred_url":"https://api.github.com/users/Poltergeist/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Poltergeist/subscriptions","organizations_url":"https://api.github.com/users/Poltergeist/orgs","repos_url":"https://api.github.com/users/Poltergeist/repos","events_url":"https://api.github.com/users/Poltergeist/events{/privacy}","received_events_url":"https://api.github.com/users/Poltergeist/received_events","type":"User","site_admin":false},"assignees":[{"login":"Poltergeist","id":156010,"avatar_url":"https://avatars.githubusercontent.com/u/156010?v=3","gravatar_id":"","url":"https://api.github.com/users/Poltergeist","html_url":"https://github.com/Poltergeist","followers_url":"https://api.github.com/users/Poltergeist/followers","following_url":"https://api.github.com/users/Poltergeist/following{/other_user}","gists_url":"https://api.github.com/users/Poltergeist/gists{/gist_id}","starred_url":"https://api.github.com/users/Poltergeist/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Poltergeist/subscriptions","organizations_url":"https://api.github.com/users/Poltergeist/orgs","repos_url":"https://api.github.com/users/Poltergeist/repos","events_url":"https://api.github.com/users/Poltergeist/events{/privacy}","received_events_url":"https://api.github.com/users/Poltergeist/received_events","type":"User","site_admin":false},{"login":"jfurrow","id":1134755,"avatar_url":"https://avatars.githubusercontent.com/u/1134755?v=3","gravatar_id":"","url":"https://api.github.com/users/jfurrow","html_url":"https://github.com/jfurrow","followers_url":"https://api.github.com/users/jfurrow/followers","following_url":"https://api.github.com/users/jfurrow/following{/other_user}","gists_url":"https://api.github.com/users/jfurrow/gists{/gist_id}","starred_url":"https://api.github.com/users/jfurrow/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jfurrow/subscriptions","organizations_url":"https://api.github.com/users/jfurrow/orgs","repos_url":"https://api.github.com/users/jfurrow/repos","events_url":"https://api.github.com/users/jfurrow/events{/privacy}","received_events_url":"https://api.github.com/users/jfurrow/received_events","type":"User","site_admin":false}],"milestone":null,"comments":2,"created_at":"2016-11-22T09:44:50Z","updated_at":"2016-11-22T12:40:32Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/dcos/dcos-ui/pulls/1399","html_url":"https://github.com/dcos/dcos-ui/pull/1399","diff_url":"https://github.com/dcos/dcos-ui/pull/1399.diff","patch_url":"https://github.com/dcos/dcos-ui/pull/1399.patch"},"body":"---\r\n⚠️  This PR is based on #1371 and will need a rebase\r\n\r\n---\r\n\r\nThis PR introduces the `MarathonAppValidators` validator that will provide the high-level marathon validation errors. This validator currently supports:\r\n\r\n* Ensuring either `cmd` or `container.docker.image` is specified"},"comment":{"url":"https://api.github.com/repos/dcos/dcos-ui/issues/comments/262230697","html_url":"https://github.com/dcos/dcos-ui/pull/1399#issuecomment-262230697","issue_url":"https://api.github.com/repos/dcos/dcos-ui/issues/1399","id":262230697,"user":{"login":"wavesoft","id":883486,"avatar_url":"https://avatars.githubusercontent.com/u/883486?v=3","gravatar_id":"","url":"https://api.github.com/users/wavesoft","html_url":"https://github.com/wavesoft","followers_url":"https://api.github.com/users/wavesoft/followers","following_url":"https://api.github.com/users/wavesoft/following{/other_user}","gists_url":"https://api.github.com/users/wavesoft/gists{/gist_id}","starred_url":"https://api.github.com/users/wavesoft/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/wavesoft/subscriptions","organizations_url":"https://api.github.com/users/wavesoft/orgs","repos_url":"https://api.github.com/users/wavesoft/repos","events_url":"https://api.github.com/users/wavesoft/events{/privacy}","received_events_url":"https://api.github.com/users/wavesoft/received_events","type":"User","site_admin":false},"created_at":"2016-11-22T12:40:32Z","updated_at":"2016-11-22T12:40:32Z","body":"I am extending this a bit more, properly adding the marathon error handlers from here: https://github.com/mesosphere/marathon/blob/08bc0aed722ad9f3e989a597cb264a994387756f/src/main/scala/mesosphere/marathon/state/AppDefinition.scala#L550"}}
{"actor":{"display_login":"wavesoft"}}