Skip to content
hash

GitHub Action

Java Scripting w/jbang

v0.16.1 Latest version
Use latest version
hash

Java Scripting w/jbang

Run java as scripts with https:/github.com/maxandersen/jbang from your github repo

Installation

Copy and paste the following snippet into your .yml file.

- name: Java Scripting w/jbang
  uses: jbangdev/jbang-action@v0.16.1
Learn more about this action in jbangdev/jbang-action
Choose a version

JBang Container for Docker and Github Action

GitHub release badge GitHub license badge GitHub Workflows badge DockerHub Pulls

This container intended for quick and easily run java based scripts with jbang.

Can be used directly with docker or as a GitHub Action.

The source is located in jbangdev/jbang and are updated in this repo on every tag/release of jbangdev/jbang.

Source

Container/Docker usage

Using dockerhub images:

docker run -v `pwd`:/ws --workdir=/ws jbangdev/jbang-action helloworld.java

Using quay.io images:

docker run -v `pwd`:/ws --workdir=/ws quay.io/jbangdev/jbang-action helloworld.java

Github Action

Inputs

Key Example Description
trust https://github.com/maxandersen Host pattern to add to be trusted before the script are executed.
jbangargs --verbose Arguments to pass to jbang before the script.
script hello.java File, URL or alias referring to script to run
scriptargs --token ${GITHUB_TOKEN} Arguments to pass to the script. Note: due to how github actions + docker arguments containing spaces gets treated as seperate arguments no matter how much quoting is done. If you need argument with spaces better to extend the docker file and call jbang directly.

Outputs

Example usage

Here it is assumed you have a jbang script called createissue.java in the root of your project.

on: [push]

jobs:
  jbang:
    runs-on: ubuntu-latest
    name: A job to run jbang
    steps:
    - name: checkout
      uses: actions/checkout@v1
    - uses: actions/cache@v1
      with:
        path: /root/.jbang
        key: $-jbang-$
        restore-keys: |
            $-jbang-
    - name: jbang
      uses: jbangdev/jbang-action@v0.97.0
      with:
        script: createissue.java
        scriptargs: "my world"
      env:
        JBANG_REPO: /root/.jbang/repository
        GITHUB_TOKEN: $