{"action":"created","issue":{"url":"https://api.github.com/repos/aquifer/aquifer/issues/112","repository_url":"https://api.github.com/repos/aquifer/aquifer","labels_url":"https://api.github.com/repos/aquifer/aquifer/issues/112/labels{/name}","comments_url":"https://api.github.com/repos/aquifer/aquifer/issues/112/comments","events_url":"https://api.github.com/repos/aquifer/aquifer/issues/112/events","html_url":"https://github.com/aquifer/aquifer/pull/112","id":130511139,"number":112,"title":"Environment API","user":{"login":"patrickocoffeyo","id":1107871,"avatar_url":"https://avatars.githubusercontent.com/u/1107871?v=3","gravatar_id":"","url":"https://api.github.com/users/patrickocoffeyo","html_url":"https://github.com/patrickocoffeyo","followers_url":"https://api.github.com/users/patrickocoffeyo/followers","following_url":"https://api.github.com/users/patrickocoffeyo/following{/other_user}","gists_url":"https://api.github.com/users/patrickocoffeyo/gists{/gist_id}","starred_url":"https://api.github.com/users/patrickocoffeyo/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/patrickocoffeyo/subscriptions","organizations_url":"https://api.github.com/users/patrickocoffeyo/orgs","repos_url":"https://api.github.com/users/patrickocoffeyo/repos","events_url":"https://api.github.com/users/patrickocoffeyo/events{/privacy}","received_events_url":"https://api.github.com/users/patrickocoffeyo/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/aquifer/aquifer/labels/feature","name":"feature","color":"0052cc"}],"state":"open","locked":false,"assignee":{"login":"patrickocoffeyo","id":1107871,"avatar_url":"https://avatars.githubusercontent.com/u/1107871?v=3","gravatar_id":"","url":"https://api.github.com/users/patrickocoffeyo","html_url":"https://github.com/patrickocoffeyo","followers_url":"https://api.github.com/users/patrickocoffeyo/followers","following_url":"https://api.github.com/users/patrickocoffeyo/following{/other_user}","gists_url":"https://api.github.com/users/patrickocoffeyo/gists{/gist_id}","starred_url":"https://api.github.com/users/patrickocoffeyo/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/patrickocoffeyo/subscriptions","organizations_url":"https://api.github.com/users/patrickocoffeyo/orgs","repos_url":"https://api.github.com/users/patrickocoffeyo/repos","events_url":"https://api.github.com/users/patrickocoffeyo/events{/privacy}","received_events_url":"https://api.github.com/users/patrickocoffeyo/received_events","type":"User","site_admin":false},"milestone":{"url":"https://api.github.com/repos/aquifer/aquifer/milestones/1","html_url":"https://github.com/aquifer/aquifer/milestones/Version%201.0.0","labels_url":"https://api.github.com/repos/aquifer/aquifer/milestones/1/labels","id":1201249,"number":1,"title":"Version 1.0.0","description":"At version 1.0.0, Aquifer will be stable enough to use in a production environment.","creator":{"login":"patrickocoffeyo","id":1107871,"avatar_url":"https://avatars.githubusercontent.com/u/1107871?v=3","gravatar_id":"","url":"https://api.github.com/users/patrickocoffeyo","html_url":"https://github.com/patrickocoffeyo","followers_url":"https://api.github.com/users/patrickocoffeyo/followers","following_url":"https://api.github.com/users/patrickocoffeyo/following{/other_user}","gists_url":"https://api.github.com/users/patrickocoffeyo/gists{/gist_id}","starred_url":"https://api.github.com/users/patrickocoffeyo/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/patrickocoffeyo/subscriptions","organizations_url":"https://api.github.com/users/patrickocoffeyo/orgs","repos_url":"https://api.github.com/users/patrickocoffeyo/repos","events_url":"https://api.github.com/users/patrickocoffeyo/events{/privacy}","received_events_url":"https://api.github.com/users/patrickocoffeyo/received_events","type":"User","site_admin":false},"open_issues":6,"closed_issues":13,"state":"open","created_at":"2015-07-09T18:45:57Z","updated_at":"2016-02-05T23:52:23Z","due_on":"2016-02-27T06:00:00Z","closed_at":null},"comments":3,"created_at":"2016-02-01T22:54:25Z","updated_at":"2016-03-18T14:41:08Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/aquifer/aquifer/pulls/112","html_url":"https://github.com/aquifer/aquifer/pull/112","diff_url":"https://github.com/aquifer/aquifer/pull/112.diff","patch_url":"https://github.com/aquifer/aquifer/pull/112.patch"},"body":"This PR introduces an Environment API that does a couple things:\r\n* Allows users to add and removing environments.\r\n* Allows users to ping those environments and make sure they a) exist and b) are accessible.\r\n* Improves init process a bit\r\n* Adds a global `--env` or `-e` flag that allows users to specify a valid environment for the current aquifer instance.\r\n* Assigns an `Aquifer.environment` property that is false if no env specified, and an instance of Environment if an env is specified.\r\n\r\n## Steps to test\r\n- [x] Checkout this branch.\r\n- [x] Create a new aquifer project.\r\n- [x] cd to the root of the new project\r\n- [x] Run `aquifer` and ensure you see a few new commands: `envs`, `env-add`, `env-remove`, and `ping`, and note that there is a new global flag, `--env`.\r\n- [x] Run `aquifer envs` and ensure it tells you that you do not have any environments yet.\r\n- [x] Run `aquifer env-add` and step through the questions. Specify connection details to an actual environment.\r\n- [x] Run `aquifer env-list` and ensure it returns your env.\r\n- [ ] Run `aquifer ping {env_name}` and ensure it returns a connection error object if it can't connect, and a success message if it can.\r\n- [ ] Run `aquifer build --env {env_name}` and ensure the build completes normally (doesn't pay attention to env yet, just allows it to be specified and loads it by default)\r\n- [ ] Run `aquifer env-remove {env_name}` and ensure it removes the env you specified.\r\n\r\nUpcoming steps include building the Run API class so that all code uses the Run API to execute commands, and the Run API uses the `Aquifer.environment` property to determine where the commands should be run."},"comment":{"url":"https://api.github.com/repos/aquifer/aquifer/issues/comments/198390783","html_url":"https://github.com/aquifer/aquifer/pull/112#issuecomment-198390783","issue_url":"https://api.github.com/repos/aquifer/aquifer/issues/112","id":198390783,"user":{"login":"chasingmaxwell","id":3128659,"avatar_url":"https://avatars.githubusercontent.com/u/3128659?v=3","gravatar_id":"","url":"https://api.github.com/users/chasingmaxwell","html_url":"https://github.com/chasingmaxwell","followers_url":"https://api.github.com/users/chasingmaxwell/followers","following_url":"https://api.github.com/users/chasingmaxwell/following{/other_user}","gists_url":"https://api.github.com/users/chasingmaxwell/gists{/gist_id}","starred_url":"https://api.github.com/users/chasingmaxwell/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chasingmaxwell/subscriptions","organizations_url":"https://api.github.com/users/chasingmaxwell/orgs","repos_url":"https://api.github.com/users/chasingmaxwell/repos","events_url":"https://api.github.com/users/chasingmaxwell/events{/privacy}","received_events_url":"https://api.github.com/users/chasingmaxwell/received_events","type":"User","site_admin":false},"created_at":"2016-03-18T14:41:08Z","updated_at":"2016-03-18T14:41:08Z","body":"@patrickocoffeyo when I run `env-add` and enter a port number when prompted, at the end of the prompt I get a `\"port\" must exist as a Number.` error. This does not happen when I accept 22 as the default."}}