Skip to content

datakurre/operaton-robot-playground

Repository files navigation

Operaton Robot Playground Documentation at GitHub Pages

This repository hosts a playground and documentation for orchestrating Robot Framework test or task suites with Operaton BPM engine. The playground was introduced for a workshop at RoboCon.io Helsinki 2025.

Open in GitHub Codespaces

Screenshot of GitHub Codespaces

Getting started

To get started, pick any of the following options:

Down the rabbit hole

Activate the playground by starting its built-in Operaton build with

$ make start
✔ Building shell in 6.2s.
• PID is 56105
• See logs:  $ tail -f /workspaces/operaton-robot-playground/.devenv/processes.log
• Stop:      $ devenv processes stop
✔ Starting processes in 6.2s.

Next, check if pur(jo) is already available

$ pur

If not, run make shell to manually activate the playground devenvshell with uv and pur(jo) pre-installed, and defauld Python virtualenv activated.

Hello World

Once you have entered the shell with either make start shell or separately make start and make shell, you should be able to try out the following example:

  1. Create directory for your bot

    $ mkdir hello-world
    $ cd hello-world
    $ pur init
    Adding pyproject.toml
    Adding uv.lock
    Adding Hello.py
    Adding .python-version
    Adding README.md
    Adding hello.robot
  2. Deploy and start the example process

    $ pur run hello.bpmn
    Started: http://localhost:8080/operaton/app/cockpit/default/#/process-instance
  3. Serve the example bot

    $ pur serve .
    02-02-2025 14:39:49 | INFO | purjo.runner:267 | Subscription | name=My Task
    02-02-2025 14:39:49 | INFO | operaton.tasks.worker:263 | External task worker started.

Screenshot of GitHub Codespaces

Troubleshooting

VSCode & Podman

Local VSCode with Podman, might require the following .devcontainer.json:

{
  "containerUser": "vscode",
  "customizations": {
    "vscode": {
      "extensions": [
        "d-biehl.robotcode",
        "be5invis.toml",
        "/workspaces/operaton-robot-playground/resources/miranum-modeler.vsix"
      ]
    }
  },
  "image": "ghcr.io/cachix/devenv:latest",
  "containerEnv": {
    "HOME": "/home/vscode",
    "UV_LINK_MODE": "copy",
    "UV_PYTHON_DOWNLOADS": "never"
  },
  "overrideCommand": false,
  "runArgs": [
    "--userns=keep-id"
  ],
  "updateContentCommand": "devenv test"
}

Curious devenv errors

Very occasional and rare errors like the following have been seen:

operaton-robot-playground) vscode ➜ /workspaces/operaton-robot-playground (main) $ make start
devenv processes up -d
• Building processes ...
• Using Cachix: devenv, datakurre
don't know how to build these paths:
  /nix/store/4g8f25hp2yblrhnwd8frmcjfscklb1cc-devenv-up
error:
       error: build of '/nix/store/4g8f25hp2yblrhnwd8frmcjfscklb1cc-devenv-up'

This should be fixed by running the following cleanup command

$ make clean

and trying again. For example, rebuilding the local devcontainer.

About

Open Source Robot Framework Orchestration Playground

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages