Build package / php-lint (8.2) (push) Successful in 45s
Build package / php-lint (8.3) (push) Successful in 39s
Build package / php-lint (8.4) (push) Successful in 42s
Build package / php-lint (8.5) (push) Successful in 39s
Build package / xml-lint (push) Successful in 12s
Build package / unit-tests (push) Successful in 44s
Build package / package (push) Successful in 1m1s
getActiveCardsInStack() reassigned $cards to CardService::enrichCards()'s return value. That return value is an array of CardDetails wrappers whose own entity fields (duedate, stackId, ...) are never populated from the wrapped card - only its overridden jsonSerialize() reads through to them. So every card's getDuedate()/getDaysUntilDue() resolved to null, and WorkflowRunner::isOverdue() was always false: no workflow could ever match a card, regardless of its actual due date. enrichCards() already mutates the original $cards entries in place (labels, assigned users, comment counts, ...), so the fix is to keep using that array instead of capturing the CardDetails return value. Bump to 0.2.3.
53 lines
2.6 KiB
XML
53 lines
2.6 KiB
XML
<?xml version="1.0"?>
|
|
<info xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
|
xsi:noNamespaceSchemaLocation="https://apps.nextcloud.com/schema/apps/info.xsd">
|
|
<id>workflow_deck_automation</id>
|
|
<name lang="de">Deck Workflow-Automatisierung</name>
|
|
<name lang="en">Deck Workflow Automation</name>
|
|
<summary lang="de">Verschiebt überfällige Deck-Karten automatisch anhand konfigurierbarer Regeln</summary>
|
|
<summary lang="en">Automatically moves overdue Deck cards based on configurable rules</summary>
|
|
<description lang="de"><![CDATA[
|
|
Diese App erlaubt es jedem Nutzer, in den persönlichen Einstellungen eigene Automatisierungs-Workflows für die Deck-App anzulegen:
|
|
|
|
* Quell-Board und Quell-Stapel wählen
|
|
* Ziel-Stapel wählen, in den überfällige Karten verschoben werden
|
|
* optional nach zugewiesenen Benutzern filtern
|
|
* optional nach Labels/Tags filtern
|
|
* optional eine E-Mail-Benachrichtigung an sich selbst aktivieren
|
|
|
|
Ein Hintergrundjob prüft regelmäßig alle aktiven Workflows und verschiebt Karten, deren Fälligkeitsdatum überschritten wurde, ausschließlich über die internen PHP-Klassen der Deck-App (keine HTTP/OCS-Aufrufe).
|
|
]]></description>
|
|
<description lang="en"><![CDATA[
|
|
This app lets every user configure their own Deck automation workflows from Personal settings:
|
|
|
|
* pick a source board and source stack
|
|
* pick a destination stack overdue cards get moved to
|
|
* optionally filter by assigned users
|
|
* optionally filter by labels/tags
|
|
* optionally enable an email notification to themselves
|
|
|
|
A background job periodically evaluates all enabled workflows and moves cards whose due date has passed, using Deck's own internal PHP classes only (no HTTP/OCS calls).
|
|
]]></description>
|
|
<version>0.2.3</version>
|
|
<licence>agpl</licence>
|
|
<author mail="patrick@niebel.ing">Patrick Niebeling</author>
|
|
<namespace>WorkflowDeckAutomation</namespace>
|
|
<category>organization</category>
|
|
<category>tools</category>
|
|
<bugs>https://github.com/pniebeling/workflow_deck_automation/issues</bugs>
|
|
<dependencies>
|
|
<php min-version="8.2" max-version="8.5"/>
|
|
<database min-version="9.4">pgsql</database>
|
|
<database>sqlite</database>
|
|
<database min-version="8.0">mysql</database>
|
|
<nextcloud min-version="34" max-version="34"/>
|
|
</dependencies>
|
|
<background-jobs>
|
|
<job>OCA\WorkflowDeckAutomation\BackgroundJob\RunWorkflowsJob</job>
|
|
</background-jobs>
|
|
<settings>
|
|
<personal>OCA\WorkflowDeckAutomation\Settings\Personal</personal>
|
|
<personal-section>OCA\WorkflowDeckAutomation\Settings\PersonalSection</personal-section>
|
|
</settings>
|
|
</info>
|