fix: global environment flag for cli (#6969)

* fix: global environment flag for cli

* fixes
This commit is contained in:
naman-bruno
2026-01-30 15:37:56 +05:30
committed by GitHub
parent df3ff5e48a
commit b268aa9f98
4 changed files with 20 additions and 10 deletions

View File

@@ -467,11 +467,6 @@ const handler = async function (argv) {
console.error(chalk.red(`Failed to parse global environment: ${err.message}`));
process.exit(constants.EXIT_STATUS.ERROR_INVALID_FILE);
}
envVars = { ...globalEnvVars, ...envVars };
if (!envVars.__name__ && globalEnvVars.__name__) {
envVars.__name__ = globalEnvVars.__name__;
}
}
if (envVar) {
@@ -632,7 +627,8 @@ const handler = async function (argv) {
collectionRoot,
runtime,
collection,
runSingleRequestByPathname
runSingleRequestByPathname,
globalEnvVars
);
resolve(res?.response);
}
@@ -657,7 +653,8 @@ const handler = async function (argv) {
collectionRoot,
runtime,
collection,
runSingleRequestByPathname
runSingleRequestByPathname,
globalEnvVars
);
const isLastRun = currentRequestIndex === requestItems.length - 1;

View File

@@ -7,13 +7,15 @@ const buildCombinedVars = ({
folderVariables,
requestVariables,
runtimeVariables,
processEnvVars
processEnvVars,
globalEnvVars
}) => {
processEnvVars = processEnvVars || {};
runtimeVariables = runtimeVariables || {};
collectionVariables = collectionVariables || {};
folderVariables = folderVariables || {};
requestVariables = requestVariables || {};
globalEnvVars = globalEnvVars || {};
// we clone envVars because we don't want to modify the original object
envVars = envVars ? cloneDeep(envVars) : {};
@@ -32,6 +34,7 @@ const buildCombinedVars = ({
// runtimeVariables take precedence over envVars
return {
...globalEnvVars,
...collectionVariables,
...envVars,
...folderVariables,

View File

@@ -15,6 +15,7 @@ const getContentType = (headers = {}) => {
};
const interpolateVars = (request, envVariables = {}, runtimeVariables = {}, processEnvVars = {}) => {
const globalEnvironmentVariables = request?.globalEnvironmentVariables || {};
const collectionVariables = request?.collectionVariables || {};
const folderVariables = request?.folderVariables || {};
const requestVariables = request?.requestVariables || {};
@@ -41,6 +42,7 @@ const interpolateVars = (request, envVariables = {}, runtimeVariables = {}, proc
// runtimeVariables take precedence over envVars
const combinedVars = {
...globalEnvironmentVariables,
...collectionVariables,
...envVariables,
...folderVariables,

View File

@@ -44,9 +44,10 @@ const getCACertHostRegex = (domain) => {
* @returns {string[]} An array of extracted prompt variables
*/
const extractPromptVariablesForRequest = ({ request, collection, envVariables, runtimeVariables, processEnvVars, brunoConfig }) => {
const { vars, collectionVariables, folderVariables, requestVariables, ...requestObj } = request;
const { vars, collectionVariables, folderVariables, requestVariables, globalEnvironmentVariables, ...requestObj } = request;
const allVariables = {
...globalEnvironmentVariables,
...envVariables,
...collectionVariables,
...folderVariables,
@@ -63,6 +64,7 @@ const extractPromptVariablesForRequest = ({ request, collection, envVariables, r
prompts.push(...extractPromptVariables(allVariables));
const interpolationOptions = {
globalEnvVars: globalEnvironmentVariables,
envVars: envVariables,
runtimeVariables,
processEnvVars
@@ -94,7 +96,8 @@ const runSingleRequest = async function (
collectionRoot,
runtime,
collection,
runSingleRequestByPathname
runSingleRequestByPathname,
globalEnvVars = {}
) {
const { pathname: itemPathname } = item;
const relativeItemPathname = path.relative(collectionPath, itemPathname);
@@ -127,6 +130,9 @@ const runSingleRequest = async function (
request = await prepareRequest(item, collection);
// Set global environment variables on the request for scripts to access via bru.getGlobalEnvVar()
request.globalEnvironmentVariables = globalEnvVars;
// Detect prompt variables before proceeding
const promptVars = extractPromptVariablesForRequest({ request, collection, envVariables, runtimeVariables, processEnvVars, brunoConfig });
@@ -247,6 +253,7 @@ const runSingleRequest = async function (
}
const interpolationOptions = {
globalEnvVars: request.globalEnvironmentVariables || {},
envVars: envVariables,
runtimeVariables,
processEnvVars
@@ -471,6 +478,7 @@ const runSingleRequest = async function (
try {
// Prepare interpolation options with all available variables
const oauth2InterpolationOptions = {
globalEnvVars: request.globalEnvironmentVariables || {},
envVars: envVariables,
runtimeVariables,
processEnvVars,