{"action":"created","issue":{"url":"https://api.github.com/repos/heroku/force/issues/287","repository_url":"https://api.github.com/repos/heroku/force","labels_url":"https://api.github.com/repos/heroku/force/issues/287/labels{/name}","comments_url":"https://api.github.com/repos/heroku/force/issues/287/comments","events_url":"https://api.github.com/repos/heroku/force/issues/287/events","html_url":"https://github.com/heroku/force/pull/287","id":153532540,"number":287,"title":"Add support for deploying flows, interpolating variables on import, and refactor into packages a bit","user":{"login":"orospakr","id":16714,"avatar_url":"https://avatars.githubusercontent.com/u/16714?v=3","gravatar_id":"","url":"https://api.github.com/users/orospakr","html_url":"https://github.com/orospakr","followers_url":"https://api.github.com/users/orospakr/followers","following_url":"https://api.github.com/users/orospakr/following{/other_user}","gists_url":"https://api.github.com/users/orospakr/gists{/gist_id}","starred_url":"https://api.github.com/users/orospakr/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/orospakr/subscriptions","organizations_url":"https://api.github.com/users/orospakr/orgs","repos_url":"https://api.github.com/users/orospakr/repos","events_url":"https://api.github.com/users/orospakr/events{/privacy}","received_events_url":"https://api.github.com/users/orospakr/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":9,"created_at":"2016-05-06T20:33:03Z","updated_at":"2016-06-01T22:05:44Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/heroku/force/pulls/287","html_url":"https://github.com/heroku/force/pull/287","diff_url":"https://github.com/heroku/force/pull/287.diff","patch_url":"https://github.com/heroku/force/pull/287.patch"},"body":"Contributed by https://github.com/joistapp!  Let me know of any copyright/CLA requirements!\r\n\r\n* Now forced to use production Heroku auth app even in `dev` mode, because staging environment no longer exists;\r\n* When using `force import` on a project including flows (Flow Builder and Process Builder),the current environment state is used to  determine if any existing Active flows would be overwritten (thus violating the Salesforce requirement that flows cannot be overwritten once being marked active);\r\n* Create support for an `environment.json` config file in the root of a source directory being used for an import, that allows for  interpolating string values in.  This is useful for working around places where environment-specific references (eg., user Ids where Roles/Groups/Profiles cannot be used);\r\n* Created a `project` subpackage, and moved the code responsible for determining the source directory and enumeratings its contents  there;\r\n* Moved all of the API logic into a `salesforce` subpackage, leaving only the CLI components in the root level `main` package.  This enables the other subpackages to import the logic (`main` packages\r\n  are not importable in Go);\r\n* Refactored api version logic; global state is no longer used.\r\n\r\nI very much apologise for this god-PR.  In hindsight there's a few tactical decisions I would have made differently.  If this is a major issue, I can take more time to break it up!\r\n\r\nShameless plug: [Joist is hiring!](http://www.joist.com/careers)\r\n"},"comment":{"url":"https://api.github.com/repos/heroku/force/issues/comments/223139376","html_url":"https://github.com/heroku/force/pull/287#issuecomment-223139376","issue_url":"https://api.github.com/repos/heroku/force/issues/287","id":223139376,"user":{"login":"orospakr","id":16714,"avatar_url":"https://avatars.githubusercontent.com/u/16714?v=3","gravatar_id":"","url":"https://api.github.com/users/orospakr","html_url":"https://github.com/orospakr","followers_url":"https://api.github.com/users/orospakr/followers","following_url":"https://api.github.com/users/orospakr/following{/other_user}","gists_url":"https://api.github.com/users/orospakr/gists{/gist_id}","starred_url":"https://api.github.com/users/orospakr/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/orospakr/subscriptions","organizations_url":"https://api.github.com/users/orospakr/orgs","repos_url":"https://api.github.com/users/orospakr/repos","events_url":"https://api.github.com/users/orospakr/events{/privacy}","received_events_url":"https://api.github.com/users/orospakr/received_events","type":"User","site_admin":false},"created_at":"2016-06-01T22:05:44Z","updated_at":"2016-06-01T22:05:44Z","body":"Sure! Sounds great to me. Are you creating an unstable/develop/integration-style branch? :)"}}
{"actor":{"display_login":"orospakr"}}