[GH-ISSUE #147] Environment management and configuration #59

Closed
opened 2026-03-16 13:02:56 +03:00 by kerem · 46 comments
Owner

Originally created by @Nachiappa on GitHub (Sep 15, 2019).
Original GitHub issue: https://github.com/hoppscotch/hoppscotch/issues/147

Originally assigned to: @terranblake, @Nachiappa on GitHub.

Is your feature request related to a problem? Please describe.
No

Describe the solution you'd like
Postwoman should have an environment setup so that we can manage the variables between multiple requests and also it should support import/export functionalities

Describe alternatives you've considered
N/A

Additional context
Add any other context or screenshots about the feature request here.

Originally created by @Nachiappa on GitHub (Sep 15, 2019). Original GitHub issue: https://github.com/hoppscotch/hoppscotch/issues/147 Originally assigned to: @terranblake, @Nachiappa on GitHub. **Is your feature request related to a problem? Please describe.** No **Describe the solution you'd like** Postwoman should have an environment setup so that we can manage the variables between multiple requests and also it should support import/export functionalities **Describe alternatives you've considered** N/A **Additional context** Add any other context or screenshots about the feature request here.
kerem 2026-03-16 13:02:56 +03:00
Author
Owner

@liyasthomas commented on GitHub (Sep 15, 2019):

While working with APIs, we often need different setups for local machine, the development server, or the production API. Environments let us customize requests using variables so we can easily switch between different setups without changing requests.

We don't need to remember all those values once they are in Postwoman. We can download environments, save them as JSON files, and upload them later.

We can create, share, duplicate, export, and delete an environment. We can also import an environment as a single JSON file.

Environment and global variables are always stored as strings. If we’re storing objects/arrays, be sure to JSON.stringify() them before storing, and JSON.parse() them while retrieving.

Closely related to #139

<!-- gh-comment-id:531543881 --> @liyasthomas commented on GitHub (Sep 15, 2019): While working with APIs, we often need different setups for local machine, the development server, or the production API. Environments let us customize requests using variables so we can easily switch between different setups without changing requests. We don't need to remember all those values once they are in Postwoman. We can download environments, save them as JSON files, and upload them later. We can create, share, duplicate, export, and delete an environment. We can also import an environment as a single JSON file. Environment and global variables are always stored as strings. If we’re storing objects/arrays, be sure to JSON.stringify() them before storing, and JSON.parse() them while retrieving. Closely related to #139
Author
Owner

@Nachiappa commented on GitHub (Sep 15, 2019):

Can i assign this to me and start working ?

<!-- gh-comment-id:531544584 --> @Nachiappa commented on GitHub (Sep 15, 2019): Can i assign this to me and start working ?
Author
Owner

@jgroom33 commented on GitHub (Sep 23, 2019):

What is the value of saving the environment as text?

<!-- gh-comment-id:533943132 --> @jgroom33 commented on GitHub (Sep 23, 2019): What is the value of saving the environment as text?
Author
Owner

@liyasthomas commented on GitHub (Sep 23, 2019):

JSON is prescribed as a standard format. For easy parsing key value pairs, filtering and iterating through arrays, etc.

<!-- gh-comment-id:533944653 --> @liyasthomas commented on GitHub (Sep 23, 2019): JSON is prescribed as a standard format. For easy parsing key value pairs, filtering and iterating through arrays, etc.
Author
Owner

@liyasthomas commented on GitHub (Sep 23, 2019):

@Nachiappa how's your progress on this?

<!-- gh-comment-id:533944741 --> @liyasthomas commented on GitHub (Sep 23, 2019): @Nachiappa how's your progress on this?
Author
Owner

@jgroom33 commented on GitHub (Sep 23, 2019):

Imo, one of the weaknesses of postman is that all variables are stored as strings... Even if they are objects or arrays or integers.
As an example. Let's assume an environment as:

{"foo":{"bar":"baz.com","qux":"http://"}}

By storing environments as native objects, they could be referenced as:

{{foo.qux}}{{foo.bar}}

If all environments are stored as string, anything that is not a string must be preprocessed (i.e. using prescripts in postman)

Additionally, storing objects would enable a templating engine like nunjucks to be used for variable handling in requests (mildly useful) and in post body (very useful)

<!-- gh-comment-id:533947909 --> @jgroom33 commented on GitHub (Sep 23, 2019): Imo, one of the weaknesses of postman is that all variables are stored as strings... Even if they are objects or arrays or integers. As an example. Let's assume an environment as: ```json {"foo":{"bar":"baz.com","qux":"http://"}} ``` By storing environments as native objects, they could be referenced as: {{foo.qux}}{{foo.bar}} If all environments are stored as string, anything that is not a string must be preprocessed (i.e. using prescripts in postman) Additionally, storing objects would enable a templating engine like nunjucks to be used for variable handling in requests (mildly useful) and in post body (very useful)
Author
Owner

@Nachiappa commented on GitHub (Sep 23, 2019):

I have started to store the environment variables as an value in indexeddb . Hopefully I'll able to complete by tomorrow and provide you a status. Is that fine?

<!-- gh-comment-id:533950364 --> @Nachiappa commented on GitHub (Sep 23, 2019): I have started to store the environment variables as an value in indexeddb . Hopefully I'll able to complete by tomorrow and provide you a status. Is that fine?
Author
Owner

@obbap1 commented on GitHub (Oct 2, 2019):

Are there screenshots of how this feature should be implemented? Should it be like Heroku's platform with key-value pairs or like postman where we'll have something like pw.setEnvironmentVariable("a", "b") ?

<!-- gh-comment-id:537600769 --> @obbap1 commented on GitHub (Oct 2, 2019): Are there screenshots of how this feature should be implemented? Should it be like Heroku's platform with key-value pairs or like postman where we'll have something like pw.setEnvironmentVariable("a", "b") ?
Author
Owner

@terranblake commented on GitHub (Oct 8, 2019):

@liyasthomas this issue looks to be somewhat stale. mind if i take over on this one?

<!-- gh-comment-id:539533308 --> @terranblake commented on GitHub (Oct 8, 2019): @liyasthomas this issue looks to be somewhat stale. mind if i take over on this one?
Author
Owner

@liyasthomas commented on GitHub (Oct 8, 2019):

@terranblake yeah sure! You can work on this 🚀

<!-- gh-comment-id:539533993 --> @liyasthomas commented on GitHub (Oct 8, 2019): @terranblake yeah sure! You can work on this 🚀
Author
Owner

@jgroom33 commented on GitHub (Oct 8, 2019):

I think this should be combined with #188

<!-- gh-comment-id:539534177 --> @jgroom33 commented on GitHub (Oct 8, 2019): I think this should be combined with #188
Author
Owner

@terranblake commented on GitHub (Oct 8, 2019):

@jgroom33 does the info from #188 need to be moved to this issue as a comment, or do we simply leave that one open for now?

<!-- gh-comment-id:539539987 --> @terranblake commented on GitHub (Oct 8, 2019): @jgroom33 does the info from #188 need to be moved to this issue as a comment, or do we simply leave that one open for now?
Author
Owner

@jgroom33 commented on GitHub (Oct 8, 2019):

This issue is overloaded anyway. It should probably be closed.
The import/export should be a separate issue.
If there is agreement that #188 will satisfy the original intent of this issue, then let's close this

<!-- gh-comment-id:539752920 --> @jgroom33 commented on GitHub (Oct 8, 2019): This issue is overloaded anyway. It should probably be closed. The import/export should be a separate issue. If there is agreement that #188 will satisfy the original intent of this issue, then let's close this
Author
Owner

@terranblake commented on GitHub (Oct 9, 2019):

Postwoman should have an environment setup so that we can manage the variables between multiple requests

Is what I would like to approach with the following plan.

and also it should support import/export functionalities.

I think the import/export functionality can be addressed separately, or as needed once I make progress on the basics for the environment.

The plan would be the following (Steps delineate a planned PR):

  1. New section e.g. Environment, with a stripped-down version of object-editor-react (In-memory for now)
  2. Add basic templating support to URL and Params fields
  3. Add DB to persist environment (Thinking redis, but open to suggestions)
<!-- gh-comment-id:539783607 --> @terranblake commented on GitHub (Oct 9, 2019): > Postwoman should have an environment setup so that we can manage the variables between multiple requests Is what I would like to approach with the following plan. > ~~and also it should support import/export functionalities~~. I think the import/export functionality can be addressed separately, or as needed once I make progress on the basics for the environment. The plan would be the following (Steps delineate a planned PR): 1. New section e.g. `Environment`, with a stripped-down version of [object-editor-react](https://www.npmjs.com/package/object-editor-react) (In-memory for now) 2. Add basic templating support to URL and Params fields 3. Add DB to persist environment (Thinking redis, but open to suggestions)
Author
Owner

@terranblake commented on GitHub (Oct 9, 2019):

@jgroom33 I think this issue and #188 are different in that #188 sounds more like a feature for chaining requests/response together to make a workflow.

I interpreted this issue as a discussion for an implementation of a "global" environment that could be used between requests, but not dependent on a previous/next request existing. e.g. I want to specify the same token across all requests, or some garbage like that

<!-- gh-comment-id:539785755 --> @terranblake commented on GitHub (Oct 9, 2019): @jgroom33 I think this issue and #188 are different in that #188 sounds more like a feature for chaining requests/response together to make a workflow. I interpreted this issue as a discussion for an implementation of a "global" environment that could be used between requests, but not dependent on a previous/next request existing. e.g. I want to specify the same token across all requests, or some garbage like that
Author
Owner

@jgroom33 commented on GitHub (Oct 9, 2019):

I was thinking that an editable cache could be used to set vars. With that implementation, there would be a json with responses and anything the user wants to specify. But that wouldn't address the requirement of loading a set of vars from a file.

<!-- gh-comment-id:539795916 --> @jgroom33 commented on GitHub (Oct 9, 2019): I was thinking that an editable cache could be used to set vars. With that implementation, there would be a json with responses and anything the user wants to specify. But that wouldn't address the requirement of loading a set of vars from a file.
Author
Owner

@terranblake commented on GitHub (Oct 9, 2019):

@jgroom33 i think loading a set of variables from a file should be moved to a separate issue entirely. A simple environment can be implemented without the need for import/export functionality and should reduce the scope of this issue.

<!-- gh-comment-id:540026748 --> @terranblake commented on GitHub (Oct 9, 2019): @jgroom33 i think loading a set of variables from a file should be moved to a separate issue entirely. A simple environment can be implemented without the need for import/export functionality and should reduce the scope of this issue.
Author
Owner

@liyasthomas commented on GitHub (Oct 9, 2019):

I second @terranblake 's opinion 👍

<!-- gh-comment-id:540029434 --> @liyasthomas commented on GitHub (Oct 9, 2019): I second @terranblake 's opinion 👍
Author
Owner

@jgroom33 commented on GitHub (Oct 9, 2019):

I agree that loading the vars from a file is a good separate issue. Where does that file get loaded to? Loading it into a UI space that only handles env vars is not as flexible as loading it into a general cache.
What I would like to be considered is that a cache and an environment are roughly the same thing. Except that an environment is only expected to be used for environment variables. IMO, targeting only environment variables is a more limited approach than reading a cache that can contain both environment variables and device responses.
The cache should be a semi persistent (persisted in the UI view) data store that can be edited.
Another way to look at this is: where should the responses from a call be stored? Postman does a terrible job of this by requiring code to store the response objects into a stringified value of a user defined key.
Then there are a bunch of convoluted methods to access variables in the postman environment.
The cache can and should store both environment variables and API responses.

<!-- gh-comment-id:540040977 --> @jgroom33 commented on GitHub (Oct 9, 2019): I agree that loading the vars from a file is a good separate issue. Where does that file get loaded to? Loading it into a UI space that only handles env vars is not as flexible as loading it into a general cache. What I would like to be considered is that a cache and an environment are roughly the same thing. Except that an environment is only expected to be used for environment variables. IMO, targeting only environment variables is a more limited approach than reading a cache that can contain both environment variables and device responses. The cache should be a semi persistent (persisted in the UI view) data store that can be edited. Another way to look at this is: where should the responses from a call be stored? Postman does a terrible job of this by requiring code to store the response objects into a stringified value of a user defined key. Then there are a bunch of convoluted methods to access variables in the postman environment. The cache can and should store both environment variables and API responses.
Author
Owner

@terranblake commented on GitHub (Oct 15, 2019):

Taking a stab at this one tonight. Probably going to skip the stripped down version of object-editor-react, but will have a basic proof-of-concept by tomorrow

<!-- gh-comment-id:542004423 --> @terranblake commented on GitHub (Oct 15, 2019): Taking a stab at this one tonight. Probably going to skip the stripped down version of `object-editor-react`, but will have a basic proof-of-concept by tomorrow
Author
Owner

@liyasthomas commented on GitHub (Oct 15, 2019):

@terranblake this milestone feature will make you a collaborator

<!-- gh-comment-id:542012522 --> @liyasthomas commented on GitHub (Oct 15, 2019): @terranblake this milestone feature will make you a collaborator ✨
Author
Owner

@terranblake commented on GitHub (Oct 15, 2019):

Oh my gosh, that's like the most exciting thing I've heard all month 😱

<!-- gh-comment-id:542012865 --> @terranblake commented on GitHub (Oct 15, 2019): Oh my gosh, that's like the most exciting thing I've heard all month 😱
Author
Owner

@liyasthomas commented on GitHub (Oct 15, 2019):

Then you should hold your breath while I plan on giving out donations 💰 / swags 🌈 / badges 🏷️for contributors 🎉🎉

<!-- gh-comment-id:542013731 --> @liyasthomas commented on GitHub (Oct 15, 2019): Then you should hold your breath while I plan on giving out donations 💰 / swags 🌈 / badges 🏷️for contributors 🎉🎉
Author
Owner

@terranblake commented on GitHub (Oct 15, 2019):

@liyasthomas would you mind changing the name of this issue to Environment management and configuration?

To get an MVP out, I'd also like to use the same functionality used in the raw payload section

<!-- gh-comment-id:542291930 --> @terranblake commented on GitHub (Oct 15, 2019): @liyasthomas would you mind changing the name of this issue to `Environment management and configuration`? To get an MVP out, I'd also like to use the same functionality used in the raw payload section
Author
Owner

@terranblake commented on GitHub (Oct 15, 2019):

Section completed. Now for the 💪 by adding templating to everything
Image 2019-10-15 at 9 56 54 AM

<!-- gh-comment-id:542309200 --> @terranblake commented on GitHub (Oct 15, 2019): Section completed. Now for the 💪 by adding templating to everything <img width="1234" alt="Image 2019-10-15 at 9 56 54 AM" src="https://user-images.githubusercontent.com/8795767/66852621-32ba8a80-ef32-11e9-9176-bfc4d96162c5.png">
Author
Owner

@terranblake commented on GitHub (Oct 15, 2019):

Do we have a plan for what we want to use for the template language? I'm familiar with liquid, but would like to try something new if other have experience with another solution. @liyasthomas @jgroom33

<!-- gh-comment-id:542310734 --> @terranblake commented on GitHub (Oct 15, 2019): Do we have a plan for what we want to use for the template language? I'm familiar with liquid, but would like to try something new if other have experience with another solution. @liyasthomas @jgroom33
Author
Owner

@jgroom33 commented on GitHub (Oct 15, 2019):

this is powerful: https://mozilla.github.io/nunjucks/ and is used by this: https://github.com/eykrehbein/strest
<$ $> was used for the template ending because {{}} doesn't parse well in json or yml.
Another option is to use "{{ }}"... ansible does this

<!-- gh-comment-id:542346294 --> @jgroom33 commented on GitHub (Oct 15, 2019): this is powerful: https://mozilla.github.io/nunjucks/ and is used by this: https://github.com/eykrehbein/strest <$ $> was used for the template ending because {{}} doesn't parse well in json or yml. Another option is to use "{{ }}"... ansible does this
Author
Owner

@jgroom33 commented on GitHub (Oct 15, 2019):

Some storage reference options:
{{ environment.foo }}
vs.
{{ variables.foo }} <-- just a nomenclature change
vs.
{{ foo }} <-- store all vars specified in 'environment' as global vars

<!-- gh-comment-id:542349892 --> @jgroom33 commented on GitHub (Oct 15, 2019): Some storage reference options: {{ environment.foo }} vs. {{ variables.foo }} <-- just a nomenclature change vs. {{ foo }} <-- store all vars specified in 'environment' as global vars
Author
Owner

@jgroom33 commented on GitHub (Oct 15, 2019):

using nunjucks also allows things like this:
https://github.com/eykrehbein/strest#using-random-values-with-faker

A common set of libraries can be implemented to handle:

  • random number gen
  • uuid generation
  • timestamps
  • jsonpath lookup of a result
<!-- gh-comment-id:542351724 --> @jgroom33 commented on GitHub (Oct 15, 2019): using nunjucks also allows things like this: https://github.com/eykrehbein/strest#using-random-values-with-faker A common set of libraries can be implemented to handle: * random number gen * uuid generation * timestamps * jsonpath lookup of a result
Author
Owner

@liyasthomas commented on GitHub (Oct 15, 2019):

@jgroom33 awesome suggestion on nunjucks 🔥

@terranblake get around nunjucks and see if it meets our requirements. async support is there 🙌🏼

<!-- gh-comment-id:542352975 --> @liyasthomas commented on GitHub (Oct 15, 2019): @jgroom33 awesome suggestion on nunjucks 🔥 @terranblake get around nunjucks and see if it meets our requirements. async support is there 🙌🏼
Author
Owner

@terranblake commented on GitHub (Oct 15, 2019):

@jgroom33 I like the suggestion for nunjucks. It looks like it has a lot of the same features as the language that I'm suggesting Liquid.

I don't see a downside to using either, other than that the liquid language is still actively maintained, whereas nunjucks looks to be not as actively maintained.

Based on personal preference I would suggest liquid, but I think both would be great options

<!-- gh-comment-id:542364111 --> @terranblake commented on GitHub (Oct 15, 2019): @jgroom33 I like the suggestion for nunjucks. It looks like it has a lot of the same features as the language that I'm suggesting [Liquid](https://shopify.github.io/liquid/basics/introduction/). I don't see a downside to using either, other than that the liquid language is still actively maintained, whereas nunjucks looks to be not as actively maintained. Based on personal preference I would suggest liquid, but I think both would be great options
Author
Owner

@jgroom33 commented on GitHub (Oct 16, 2019):

Looks like liquid is written in Ruby. So if you want to write any custom filters or methods, you'll need to use that language.

<!-- gh-comment-id:542454250 --> @jgroom33 commented on GitHub (Oct 16, 2019): Looks like liquid is written in Ruby. So if you want to write any custom filters or methods, you'll need to use that language.
Author
Owner

@terranblake commented on GitHub (Oct 16, 2019):

liquid allows you to register custom filters using the JS lib that I normally use

<!-- gh-comment-id:542473233 --> @terranblake commented on GitHub (Oct 16, 2019): liquid allows you to [register custom filters](https://github.com/harttle/liquidjs/wiki/Register-Filters-Tags) using the JS lib that I normally use
Author
Owner

@NBTX commented on GitHub (Oct 25, 2019):

I'm not quite sure I follow the discussion here - I'm coming to this issue from #139 and #196 so I'm under the impression that we'd be discussing a scripting language for chaining and inspecting requests rather than a templating language?

<!-- gh-comment-id:546332577 --> @NBTX commented on GitHub (Oct 25, 2019): I'm not quite sure I follow the discussion here - I'm coming to this issue from #139 and #196 so I'm under the impression that we'd be discussing a *scripting* language for chaining and inspecting requests rather than a templating language?
Author
Owner

@liyasthomas commented on GitHub (Nov 8, 2019):

@terranblake ping!

<!-- gh-comment-id:551364370 --> @liyasthomas commented on GitHub (Nov 8, 2019): @terranblake ping!
Author
Owner

@AndrewBastin commented on GitHub (Dec 5, 2019):

I am just unpinning this issue for now, due to inactivity and so I can pin the IE support issue as its more critical and help is needed.

<!-- gh-comment-id:562297608 --> @AndrewBastin commented on GitHub (Dec 5, 2019): I am just unpinning this issue for now, due to inactivity and so I can pin the IE support issue as its more critical and help is needed.
Author
Owner

@luixal commented on GitHub (Jan 6, 2020):

I guess env management isn't supported yet, is it? is it under development or just "paused"?

<!-- gh-comment-id:571092206 --> @luixal commented on GitHub (Jan 6, 2020): I guess env management isn't supported yet, is it? is it under development or just "paused"?
Author
Owner

@liyasthomas commented on GitHub (Jan 6, 2020):

Pre-request env management is supported. Fully-fledged Environment management and configuration development is kinda paused.

<!-- gh-comment-id:571092890 --> @liyasthomas commented on GitHub (Jan 6, 2020): Pre-request env management is supported. Fully-fledged Environment management and configuration development is kinda paused.
Author
Owner

@luixal commented on GitHub (Jan 6, 2020):

You mean, by including values here for each request?

image

Maybe I can give a hand in this :)

<!-- gh-comment-id:571094722 --> @luixal commented on GitHub (Jan 6, 2020): You mean, by including values here for each request? ![image](https://user-images.githubusercontent.com/615268/71813710-aa540d80-307a-11ea-8462-79602104c256.png) Maybe I can give a hand in this :)
Author
Owner

@liyasthomas commented on GitHub (Jan 6, 2020):

Well actually yes. But once an env is set, it is stored to app's current state. And needs to manually change them for another env var. Well this sucks.

<!-- gh-comment-id:571095175 --> @liyasthomas commented on GitHub (Jan 6, 2020): Well actually yes. But once an env is set, it is stored to app's current state. And needs to manually change them for another env var. Well this sucks.
Author
Owner

@luixal commented on GitHub (Jan 6, 2020):

I think the approach (UI, mainly) used in Postman is quite good, but I will prefer env values to be global by default but also having the ability to choose en values for each collection.

I think that's better understood by example: let's say I'm working on some request for service SA. I store them in collection CA. In those request I'm using an env var called host for storing host's ip/domain. Later on, I start working on some requests for service SB, in collection SB. I also use a env var called host. Today, I'm working on integrating SA with SB, which reside on different hosts... problem: they both use the same env var host. If I can choose to use one env config for requests in CA and another once for requests in CB I'm no longer having that problem.

Does it make sense to someone else?

<!-- gh-comment-id:571298167 --> @luixal commented on GitHub (Jan 6, 2020): I think the approach (UI, mainly) used in Postman is quite good, but I will prefer env values to be global by default but also having the ability to choose en values for each collection. I think that's better understood by example: let's say I'm working on some request for service `SA`. I store them in collection `CA`. In those request I'm using an env var called `host` for storing host's ip/domain. Later on, I start working on some requests for service `SB`, in collection `SB`. I also use a env var called `host`. Today, I'm working on integrating `SA` with `SB`, which reside on different hosts... problem: they both use the same env var `host`. If I can choose to use one env config for requests in `CA` and another once for requests in `CB` I'm no longer having that problem. Does it make sense to someone else?
Author
Owner

@jgroom33 commented on GitHub (Jan 6, 2020):

IMO, This should be implemented:

  • Allow loading environment vars from file during app launch
  • Allow import of environment vars from a file using UI
  • Allow modification of the variables in the UI
  • Variable storage should be an object not a string
  • Variable access in path uri would be: {{ pw.env.foo | tostring }}
  • Variable access in body would be: {{ pw.env.bar }}

@luixal the first bullet should solve your requirement.

<!-- gh-comment-id:571303205 --> @jgroom33 commented on GitHub (Jan 6, 2020): IMO, This should be implemented: * Allow loading environment vars from file during app launch * Allow import of environment vars from a file using UI * Allow modification of the variables in the UI * Variable storage should be an object not a string * Variable access in path uri would be: {{ pw.env.foo | tostring }} * Variable access in body would be: {{ pw.env.bar }} @luixal the first bullet should solve your requirement.
Author
Owner

@luixal commented on GitHub (Jan 6, 2020):

I'm not sure about loading env vars from file. Why if you are you using just a hosted version in browser? Maybe importing vars from file to an environment would be enough.

I agree about storing env vars as an object and allowing nested vars.

Not sure about the "Allow using each variable", what do you mean @jgroom33 ?

<!-- gh-comment-id:571309580 --> @luixal commented on GitHub (Jan 6, 2020): I'm not sure about loading env vars from file. Why if you are you using just a hosted version in browser? Maybe importing vars from file to an environment would be enough. I agree about storing env vars as an object and allowing nested vars. Not sure about the _"Allow using each variable"_, what do you mean @jgroom33 ?
Author
Owner

@jgroom33 commented on GitHub (Jan 6, 2020):

I'm not sure about loading env vars from file. Why if you are you using just a hosted version in browser? Maybe importing vars from file to an environment would be enough.

Not sure about the "Allow using each variable", what do you mean @jgroom33 ?

updated to include your recommend

<!-- gh-comment-id:571314491 --> @jgroom33 commented on GitHub (Jan 6, 2020): > I'm not sure about loading env vars from file. Why if you are you using just a hosted version in browser? Maybe importing vars from file to an environment would be enough. > > Not sure about the _"Allow using each variable"_, what do you mean @jgroom33 ? updated to include your recommend
Author
Owner

@JacobAnavisca commented on GitHub (Feb 23, 2020):

Just created a PR for environment management https://github.com/liyasthomas/postwoman/pull/591
Import, export, editing, adding, deleting, and selecting are all supported. I set it as a tab next to collections and when an environment file is selected it is added to the preRequestScript and showPreRequestScript gets set to true. Hope everyone likes how it works.

<!-- gh-comment-id:590089121 --> @JacobAnavisca commented on GitHub (Feb 23, 2020): Just created a PR for environment management https://github.com/liyasthomas/postwoman/pull/591 Import, export, editing, adding, deleting, and selecting are all supported. I set it as a tab next to collections and when an environment file is selected it is added to the preRequestScript and showPreRequestScript gets set to true. Hope everyone likes how it works.
Author
Owner

@liyasthomas commented on GitHub (Feb 24, 2020):

#591 solves this, hence closing

<!-- gh-comment-id:590311500 --> @liyasthomas commented on GitHub (Feb 24, 2020): #591 solves this, hence closing
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/hoppscotch#59
No description provided.