Skip to content

support script-file - path to a file. #714

@osher

Description

@osher

Is your feature request related to a problem? Please describe.
passing JS as a multiline string parameter makes the script inaccessible to lint tools.

Describe the solution you'd like
It would be nice if I could write the action in a JS file, enjoying linters and any in-IDE help I can get, while still coding for github-script.

Describe alternatives you've considered
The work around, as documented is, for example, in a step that is a part of another compound action:

    - uses: actions/github-script@v7
      with:
        script: |
          const action = require('${{ github.action_path }}/action.js');
          await action({ core, context /* ... and more by need... */ });

and in action.js as sibling file to my action.yml

module.exports = async ({ core, context, /* ... and more by need... */ }) => {
  //...
}

Additional context
which is a work around, and assumes a paths structure.
The action could support it just as easy :)

Generalizing from that - I believe we can support expecting just an absolute path, or a path relative to repo root (with the Distinction is if it starts with / - its absolute, input check should deny file:// protocol.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions