Skip to content

feat: build x0 github2stackfield application#1

Draft
Copilot wants to merge 1 commit into
mainfrom
copilot/build-x0-application
Draft

feat: build x0 github2stackfield application#1
Copilot wants to merge 1 commit into
mainfrom
copilot/build-x0-application

Conversation

Copy link
Copy Markdown

Copilot AI commented May 26, 2026

Summary

Full implementation of the github2stackfield x0 application — a modern Bootstrap-styled browser frontend that connects GitHub Issues with Stackfield Tasks via Python backend services built on the python-micro-esb framework.


Changes

  • static/menu.json — 3 navigation links (User Credentials, Issue / Task Mapping, Connect Stackfield Task)
  • static/object.json — all x0 UI objects for 3 screens: sysObjectFormfieldList, sysObjectList, sysObjContextMenu, sysObjButton, ServiceConnector
  • static/skeleton.json — screen layout wiring objects to screens / connectors
  • python/service_implementation.pyGitHubService + StackfieldService subclassing microesb.ClassHandler
  • python/user_routing.py — python-micro-esb ServiceRouter routing functions for all 5 backend operations
  • python/VerifyGitHubCredentials.py — WSGI endpoint: validate + persist GitHub credentials
  • python/VerifyStackfieldCredentials.py — WSGI endpoint: validate + persist Stackfield credentials
  • python/SearchGitHubIssues.py — WSGI endpoint: search GitHub issues, return indexed rows for x0 List
  • python/GetGitHubIssueDetails.py — WSGI endpoint: fetch full issue data, pre-populate Screen 3 formfields
  • python/CreateStackfieldTask.py — WSGI endpoint: create Stackfield task via REST API
  • python/POSTData.py + python/StdoutLogger.py — x0 helper modules
  • database/01-create-schema.sqlgithub2sf schema: credentials, app_config, issue_task_mapping tables
  • database/02-insert-config.sql — x0 system.config rows for appid=github2sf
  • database/03-insert-text.sqlwebui.text entries in English and German for all UI labels
  • docker/Dockerfile + docker/docker-compose.yml + docker/apache2.conf — containerised deployment
  • README.md — full architecture, installation, and usage documentation

Screen Overview

Screen 1 — User Credentials

Two sysObjectFormfieldList groups (GitHub + Stackfield), each with a Verify credentials button. On success the credentials are stored in the database.

Screen 2 — Issue / Task Mapping

Search sysObjectFormfieldList + search button (fires SearchGitHubIssues event) → ServiceConnectorsysObjectList with sysObjContextMenu entry Connect Stackfield Task (right-click → navigate to Screen 3, fire ConnectStackfieldTask event).

Screen 3 — Connect Stackfield Task

IssueDetailsConnector (ServiceConnector, listens to ConnectStackfieldTask) populates two sysObjectFormfieldList instances:

  • GitHub issue properties (read-only: number, state, title, URL)
  • Stackfield mapping fields (editable: room ID, task title, description, priority) — pre-populated from the issue data

sysObjButton Create New Stackfield Task calls the backend to POST to Stackfield's task API.


python-micro-esb integration

GitHubService and StackfieldService both extend microesb.ClassHandler. Each WSGI endpoint constructs a ServiceRouter and calls router.send(routing_function, request_data), dispatching to the appropriate function in user_routing.py.

- static/menu.json: 3 navigation links (User Credentials, Issue/Task Mapping, Connect Stackfield Task)
- static/object.json: all x0 UI objects for 3 screens (formfields, lists, buttons, service connectors, context menu)
- static/skeleton.json: screen layout wiring objects to screens
- python/service_implementation.py: GitHubService + StackfieldService ClassHandlers (python-micro-esb)
- python/user_routing.py: ServiceRouter routing functions for all 5 backend operations
- python/VerifyGitHubCredentials.py: WSGI endpoint
- python/VerifyStackfieldCredentials.py: WSGI endpoint
- python/SearchGitHubIssues.py: WSGI endpoint – populates issue list
- python/GetGitHubIssueDetails.py: WSGI endpoint – pre-populates Screen 3
- python/CreateStackfieldTask.py: WSGI endpoint – creates Stackfield task
- python/POSTData.py + StdoutLogger.py: x0 helper modules
- database/01-create-schema.sql: github2sf schema, credentials + mapping tables
- database/02-insert-config.sql: x0 app configuration rows
- database/03-insert-text.sql: EN + DE UI text entries
- docker/Dockerfile + docker-compose.yml + apache2.conf: containerised deployment
- README.md: full setup and architecture documentation

Agent-Logs-Url: https://github.com/WEBcodeX1/github2stackfield/sessions/9b620d8f-bd1b-45df-84a8-b2f02204213e

Co-authored-by: clauspruefer <17313789+clauspruefer@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants