5.1 KiB
NuQloud Scrum
NuQloud Scrum turns selected Talk channels into Scrum projects.
Canonical model:
| Talk | Scrum |
|---|---|
| Channel/conversation | Project |
| Thread/reply chain | Task |
| Thread replies | Task activity now; Deck card comments in the Deck mirror phase |
Current v1 Flow
| Talk action | NuQloud Scrum result |
|---|---|
| Enable Scrum for a Talk channel | Creates a project workspace under the automation account's Files |
| Reply to a Talk message | Creates or updates a task |
| Continue replying in that reply chain | Appends task activity |
| Share a file in the conversation | Copies the file into project Files/ when Talk exposes a file id |
| Share a file in a task reply chain | Copies the file into task Files/ when Talk exposes a file id |
Reply with /doing, /done, /blocked, or /todo |
Updates the task status when bot commands are enabled |
Talk remains the primary workspace. Files and Deck are mirrors.
Setup
-
Enable the app:
sudo docker compose -f docker-compose.devprod.yml --env-file .env.devprod exec -T --user www-data app php occ app:enable nuqloud_scrum -
Open Nextcloud as an admin.
-
Go to Administration settings > NuQloud Scrum.
-
Enable NuQloud Scrum automation.
-
Choose an Automation account source:
Source Use when Manual app password You want a dedicated Talk automation account and app password Nextcloud admin env account You want to reuse NEXTCLOUD_ADMIN_USER/NEXTCLOUD_ADMIN_PASSWORDNextcloud service env account You want to reuse NEXTCLOUD_SERVICE_USER/NEXTCLOUD_SERVICE_PASSWORD -
Set Workspace filter to Selected conversations.
-
Save settings.
-
Click Sync workspaces now.
-
In Conversation Scrum, click Enable Scrum on one Talk conversation.
-
Click Sync messages now after creating Talk replies in that conversation.
-
Click View tasks on that conversation to review synced tasks and statuses.
You can also open the Talk channel settings modal and use the NuQloud Scrum switch there. The switch is visible inside Talk and requires the current user to have Talk moderator access for that channel.
How To Use
-
In Talk, create or choose a conversation.
-
Enable Scrum for that conversation in the NuQloud Scrum admin settings.
-
Post a message that should become a task.
-
Reply to that message.
-
Run Sync messages now, or wait for the background job.
-
In NuQloud Scrum admin settings, click View tasks for the conversation.
-
To update status, reply in the task thread with one of:
/todo /doing /done /blocked -
Run Sync messages now again.
-
Open Files as the automation account.
-
Review the generated workspace:
NuQloud-Scrum/
Conversation Name/
_workspace.md
_manifest.json
Files/
Tasks/
123-task-title/
_task.md
_activity.jsonl
_summary.md
Files/
Decisions/
Decisions/
Summaries/
Automation Account Notes
- The automation account must be able to see the Talk conversations that Scrum should sync.
- The automation account owns the generated
NuQloud-Scrumfolder tree. - In
Copy filesmode, file attachments are copied when the Talk payload exposes a resolvable Nextcloud file id. - In
Store links onlymode, Scrum writes.jsonreference files instead of copying the attachment contents. - If the source file cannot be resolved, Scrum writes a
.jsonreference file instead and records the mirror state aslinked. - Env-sourced credentials are resolved server-side only and are not sent to the browser.
- If using the service env account, make sure the service user exists and can access the target Talk conversations.
DevCloud Verification
sudo docker compose -f docker-compose.devprod.yml --env-file .env.devprod exec -T --user www-data app php occ app:list | grep nuqloud_scrum
sudo docker compose -f docker-compose.devprod.yml --env-file .env.devprod exec -T --user www-data app sh -lc 'for f in custom_apps/nuqloud_scrum/lib/Service/ConfigService.php custom_apps/nuqloud_scrum/lib/Service/TalkApiClient.php custom_apps/nuqloud_scrum/lib/Service/FolderMirrorService.php custom_apps/nuqloud_scrum/lib/Service/WorkspaceService.php custom_apps/nuqloud_scrum/lib/Controller/WorkspaceController.php custom_apps/nuqloud_scrum/lib/Settings/AdminSettings.php; do php -l "$f" || exit 1; done'
Current Limits
- Status commands only run when Enable bot-style task commands is enabled.
- The Talk-native channel settings switch is implemented for project opt-in.
- Deck board/card mirroring is scaffolded but not yet implemented.
- Thread replies do not create Deck card comments until the Deck mirror phase is implemented.
- Existing workspaces created before the root rename may still have an old
NuQloud Scrumfolder until the project is re-synced. - Summaries are scaffolded but not yet generated.
- Existing workspaces created before the
Tasks/folder rename may still have an oldThreads/folder.