How to correctly set orderHint to preserve checklist item order in Microsoft Planner via Power Automate?

Anonym
2024-11-26T12:36:49+00:00

Question:

I'm working on a Power Automate flow that clones a Microsoft Planner bucket, including tasks and their checklists. While the tasks and checklist items are copied successfully, I'm having trouble preserving the order of the checklist items.

What I'm trying to achieve:

  • Maintain the order of checklist items based on a number extracted from their titles (e.g., "02 - Point" should come before "03 - Point").
  • Ensure that the order is consistent after copying tasks and checklists in Planner.
  • Override the automatically generated orderHint values in Planner to set my desired order.

What I've tried:

  1. Setting orderHint values explicitly:
    • I attempted to enforce the order of checklist items by setting unique and correct orderHint values when creating them.
    • Despite providing these values, Planner seems to ignore or overwrite them, generating its own unexpected orderHint values.
    • This results in the checklist items not being in the desired order.
  2. Updating the checklist in two steps:
    • Step 1: Send the checklist without worrying about the order, allowing Planner to create the checklist items.
    • Step 2: Retrieve the task details, sort the checklist items based on the extracted number from their titles, generate new orderHint values, and update the checklist again.
    • However, this approach didn't work as Planner still seems to overwrite or ignore the orderHint values upon updating.
  3. Re-executing the same action block:
    • I noticed that when I assign IDs to checklist items, Planner seems to keep them.
    • I tried re-running the action block that creates the checklist, hoping that using the same IDs and orderHint values would update the existing checklist items and correct the order.
    • Unfortunately, this didn't work either.

Example Data:

First Task Details Update Input:

{
  "id": "************__**************e",
  "body/checklist": [
    {
      "id": ""************__**************e",
      "title": "13 - Complete WAM Report",
      "isChecked": "False",
      "orderHint": "************__**************e>M !"
    },
    {
      "id": ""************__**************e",
      "title": "12 - Send training materials",
      "isChecked": "False",
      "orderHint": ""************__**************e!"
    },
    // ... additional checklist items ...
    {
      "id": "0"************__**************e",
      "title": "01 - Verify server resources",
      "isChecked": "False",
      "orderHint": "01[E !"
    }
  ]
}

First Task Details Update Output:

"checklist": [
  {
    "id": ""************__**************e",
    "value": {
      "@odata.type": "#microsoft.graph.plannerChecklistItem",
      "isChecked": false,
      "title": "13 - WAM-Rapport abschliessen",
      "orderHint": "WR",
    }
  },
  {
    "id": ""************__**************e",
    "value": {
      "@odata.type": "#microsoft.graph.plannerChecklistItem",
      "isChecked": false,
      "title": "12 - Schulungsunterlagen gesendet",
      "orderHint": "W_",
    }
  },
  // ... additional checklist items ...
  {
    "id": "************__**************e",
    "value": {
      "@odata.type": "#microsoft.graph.plannerChecklistItem",
      "isChecked": false,
      "title": "01 - IT Anforderung: Server Ressourcen vor dem Start überprüfen (CPU min. 4xCores etc.)",
      "orderHint": "W#",
    }
  }

As you can see, the orderHint values in the output are different from what I provided. Planner seems to have generated its own orderHint values.

Second Task Details Update Input (Same as First):

I attempted to run the same update again with the same input, hoping it would correct the order, but the orderHint values were changed again by Planner.

Attempts to Sort Checklist Items:

I also tried sorting the checklist items using a Python script based on the orderHint values, but since Planner overwrites them, this hasn't helped.

Question:

  • How can I correctly set the orderHint values for checklist items in Microsoft Planner via Power Automate to preserve the desired order?

Additional Information:

  • I extract the number from the title using the expression: first(split(items('Apply_to_each')?['title'], ' - ')).
  • EVERY Checklist point has a Title like '02 - blabla'
  • Based on this number, I sort the checklist items and assign new orderHint values.
  • Planner seems to generate its own orderHint values regardless of what I send, which disrupts the intended order.

Any guidance or examples on how to properly set orderHint values so that Planner accepts them would be greatly appreciated.

Note: We are not authorized to use the Graph API, so we need to find a solution via Power Automate.

[PII is masked by Naren… MSFT Support]

Microsoft 365 und Office | Projekt | Geschäftlich | Windows
Microsoft 365 und Office | Projekt | Geschäftlich | Windows

Microsoft-Projektmanagementsoftware, die zum Planen, Verwalten und Kommunizieren eines Projektzeitplans und anderer Informationen zwischen Arbeitsgruppenmitgliedern, Projektmanager*innen und anderen Projektbeteiligten verwendet wird.

Gesperrte Frage. Diese Frage wurde aus der Microsoft-Support-Community migriert. Sie können darüber abstimmen, ob sie hilfreich ist, aber Sie können keine Kommentare oder Antworten hinzufügen oder der Frage folgen.

0 Kommentare Keine Kommentare

1 Antwort

Sortieren nach: Älteste
  1. Anonym
    2024-11-26T13:04:01+00:00

    Diese Antwort wurde automatisch übersetzt. Daher können grammatikalische Fehler oder seltsame Formulierungen vorkommen.

    Lieber James,

    Guten Tag! Vielen Dank, dass Sie sich an die Microsoft-Community gewandt haben. Wir sind hier, um Ihnen zu helfen.

    Sie arbeiten an einem Power Automate-Flow , um einen Microsoft Planner-Bucket zu klonen, einschließlich Aufgaben und deren Checklisten. Ihr Ziel ist es, die Reihenfolge der Checklistenelemente basierend auf den Zahlen beizubehalten , die aus ihren Titeln extrahiert wurden (z. B. sollte "02 - Punkt" vor "03 - Punkt" stehen). Obwohl Sie die Aufgaben und Checklistenelemente erfolgreich kopiert haben, treten Probleme beim Beibehalten der Reihenfolge auf, da Microsoft Planner automatisch seine eigenen orderHint-Wertegeneriert, wodurch die beabsichtigte Reihenfolge unterbrochen wird. Sie suchen nach Anleitungen zum korrekten Festlegen von orderHint-Werten in Power Automate, um sicherzustellen, dass die gewünschte Reihenfolge nach dem Kopieren konsistent beibehalten wird.

    Ich verstehe, wie wichtig es ist, dieses Problem zu lösen. Da sich unsere Community jedoch hauptsächlich auf die allgemeinen und integrierten Funktionen von SharePoint Online konzentriert und diese spezielle Abfrage möglicherweise eine speziellere Unterstützung erfordert. Das Power Apps-Communityforum ist eine großartige Ressource für spezialisierte Unterstützung. Falls Sie weitere Unterstützung benötigen, stellen Sie bitte eine Supportanfrage über das O365 Admin Center , oder Sie können Ihre Anfrage im Power Apps-Communityforum posten.

    Um in der Zwischenzeit die orderHint-Werte für Checklistenelemente in Microsoft Planner über Power Automate korrekt festzulegen und die gewünschte Reihenfolge beizubehalten, können Sie die folgenden Schritte ausführen: (Bitte wenden Sie sich an den Power Automate-Experten). Der von mir vorgeschlagene Ansatz umfasst das Extrahieren und Sortieren der Checklistenelemente, das Generieren von benutzerdefinierten orderHint-Wertenund das explizite Festlegen von orderHint , um die richtige Reihenfolge beizubehalten.

    Schritt-für-Schritt-Anleitung

    1. Zahlen extrahieren und Checklistenpunkte sortieren:
    • Verwenden Sie einen Ausdruck, um den numerischen Teil aus den Titeln der einzelnen Checklistenelemente zu extrahieren.
    • Speichern Sie diese Elemente in einem Array und sortieren Sie das Array basierend auf den extrahierten Zahlen.
    1. Benutzerdefinierte orderHint-Werte generieren:
    • Initialisieren Sie eine Variable, um die orderHint-Werte nachzuverfolgen.
    • Generieren Sie für jedes Element im sortierten Array einen neuen orderHint-Wert . Sie können einen einfachen inkrementellen Ansatz verwenden, z. B. das Anhängen von Ausrufezeichen oder die Verwendung einer numerischen Sequenz.
    1. Erstellen Sie Checklistenelemente in der geklonten Aufgabe:
    • Verwenden Sie die Aktion "Checklistenelement erstellen", um jedes Element zur geklonten Aufgabe hinzuzufügen.
    • Legen Sie die orderHint-Eigenschaft auf den benutzerdefinierten Wert fest, der im vorherigen Schritt generiert wurde.

    Beispiel für einen Ablauf

    1. Auszug-Nummer:
    • Verwenden Sie einen Ausdruck wie first(split(items('Apply_to_each')?[' title'], ' - ')) um die Nummer aus dem Titel zu extrahieren.
    1. Array sortieren:
    • Verwenden Sie die Aktion "Auswählen", um ein Array von Objekten mit der extrahierten Nummer und dem ursprünglichen Element zu erstellen.
    • Sortieren Sie dieses Array basierend auf den extrahierten Zahlen.
    1. orderHint generieren:
    • Initialisieren Sie eine Variable, um die orderHint-Werte nachzuverfolgen.
    • Verwenden Sie eine Schleife, um das sortierte Array zu durchlaufen und orderHint-Werte zu generieren .

    Power Automate-Ausdrücke

    • Auszug-Nummer: first(split(items('Apply_to_each')?[' Titel'], ' - '))
    • Array sortieren: Verwenden Sie die Aktion "Auswählen", um ein Array von Objekten mit der extrahierten Nummer und dem ursprünglichen Element zu erstellen, und sortieren Sie dann dieses Array.
    • Generate orderHint: Verwenden Sie eine Schleife, um das sortierte Array zu durchlaufen und orderHint-Werte zu generieren .

    Beispiel für eine JSON-Struktur

    {

    "checklistItems": [

    {

    "title": "01 - Serverressourcen überprüfen",

    "orderHint": " !"

    },

    {

    "title": "02 - Schulungsunterlagen versenden",

    "orderHint": " !!"

    },

    {

    "title": "13 - Vollständiger WAM-Bericht",

    "orderHint": " !!"

    }

    ]

    }

    Automatische Auftragsgenerierung des Planners verarbeiten

    Um sicherzustellen, dass Planner Ihre benutzerdefinierten orderHint-Werte akzeptiert, müssen Sie möglicherweise Folgendes tun:

    1. Legen Sie orderHint-Werte explizit fest:
    • Legen Sie beim Erstellen oder Aktualisieren von Checklistenelementen explizit die orderHint-Werte im Anforderungstext fest.
    1. Überprüfen und Anpassen:
    • Nachdem Sie die Checklistenelemente erstellt haben, rufen Sie sie ab, um die orderHint-Werte zu überprüfen.
    • Wenn Planner sie geändert hat, passen Sie Ihre Logik an diese Änderungen an.

    Beispiel für einen Power Automate Flow

    1. Variablen initialisieren:
    • Initialisieren Sie eine Array-Variable, um sortierte Checklistenelemente zu speichern.

    a-prewrap="true">Initialisiert eine String-Variable, um orderHint-Werte zu generieren .

    1. Extrahieren und sortieren:
    • Verwenden Sie eine "Auswählen"-Aktion, um Zahlen zu extrahieren und die Checklistenpunkte zu sortieren.
    1. Checklistenpunkte erstellen:
    • Verwenden Sie eine Schleife, um Checklistenelemente in der geklonten Aufgabe zu erstellen, und legen Sie den orderHint explizit fest.

    Wenn Sie diese Schritte ausführen, können Sie sicherstellen, dass die Reihenfolge der Checklistenelemente basierend auf den Zahlen in ihren Titeln beibehalten wird, und die orderHint-Werte so festgelegt sind, dass diese Reihenfolge in Microsoft Planner beibehalten wird.

    Wenn Sie detailliertere Hilfe zu bestimmten Ausdrücken oder Aktionen in Power Automate benötigen, empfehle ich Ihnen, das Power Apps-Communityforum zu besuchen. Die Experten und anderen Nutzer dort verfügen über einen großen Wissensschatz und sollten in der Lage sein, Ihnen die detaillierte Hilfe zu leisten, die Sie benötigen.

    Einen schönen Tag und pass auf dich auf! 😊 

    Aufrichtig 

    Naren | Moderator der Microsoft-Community

    War diese Antwort hilfreich?

    0 Kommentare Keine Kommentare