How to stash all actions to current armature?

I just imported a bunch of actions from different files into one blend, but the GLTF exporter can't locate them without them being in the NLA stash. (There used to be a plugin that would export all actions to the GLTF, but 2.8 won't add it to the addon list.)

I tried this:

import bpy

ob = bpy.context.object

if ob.animation_data is None:
ob.animation_data_create()

for action in bpy.data.actions:
bpy.ops.action.stash()


And that just caused:

RuntimeError: Operator bpy.ops.action.stash.poll() failed, context is incorrect

And I haven't been able to find anything on how to fix it for this specific function.

How can I do this?

This does it, but i can't actually unregister the addon.

It needs to be run from the space menu with the cursor in the dopesheet in action mode.

bl_info = {
"name" : "stash all",
"catagory" : "Action",
}

import bpy

class StashAll(bpy.types.Operator):
"""My Stashing Script"""
bl_idname = "action.stash_all"
bl_label = "stash all"
bl_options = {'REGISTER'}

def execute(self, context):
ob = bpy.context.object

if ob.animation_data is None:
ob.animation_data_create()

for action in bpy.data.actions:
track.strips.new(action.name, action.frame_range[0], action)