diff --git a/src/plugins/burst_buffer/cray/burst_buffer_cray.c b/src/plugins/burst_buffer/cray/burst_buffer_cray.c
index 52d15e9744b4110e6a62cdb5a670e630a5c9e2a7..c0b0ac3ffdd10eb70d4fc30a79f0716630d7d3e5 100644
--- a/src/plugins/burst_buffer/cray/burst_buffer_cray.c
+++ b/src/plugins/burst_buffer/cray/burst_buffer_cray.c
@@ -213,6 +213,7 @@ static bb_pools_t *_bb_get_pools(int *num_ent, bb_state_t *state_ptr,
 				 uint32_t timeout);
 static bb_sessions_t *_bb_get_sessions(int *num_ent, bb_state_t *state_ptr,
 				       uint32_t timeout);
+static int	_build_bb_script(struct job_record *job_ptr, char *script_file);
 static int	_create_bufs(struct job_record *job_ptr, bb_job_t *bb_job,
 			     bool job_ready);
 static void *	_create_persistent(void *x);
@@ -2730,6 +2731,21 @@ fini:	xfree(access);
 	return rc;
 }
 
+/* For interactive jobs, build a script containing the relevant DataWarp
+ * commands, as needed by the Cray API */
+static int _build_bb_script(struct job_record *job_ptr, char *script_file)
+{
+	char *out_buf = NULL;
+	int rc;
+
+	xstrcat(out_buf, "#!/bin/bash\n");
+	xstrcat(out_buf, job_ptr->burst_buffer);
+	rc = _write_file(script_file, out_buf);
+	xfree(out_buf);
+
+	return rc;
+}
+
 /*
  * init() is called when the plugin is loaded, before any other functions
  * are called.  Read and validate configuration file here. Spawn thread to