{
  "_class" : "hudson.model.FreeStyleBuild",
  "actions" : [
    {
      "_class" : "hudson.model.CauseAction",
      "causes" : [
        {
          "_class" : "hudson.triggers.TimerTrigger$TimerTriggerCause",
          "shortDescription" : "Started by timer"
        }
      ]
    },
    {
      
    },
    {
      "_class" : "hudson.plugins.git.util.BuildData",
      "buildsByBranchName" : {
        "refs/remotes/origin/dev" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 751,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "99b18c4be0216eb1f6269dcb5942cc45f8604611",
            "branch" : [
              {
                "SHA1" : "99b18c4be0216eb1f6269dcb5942cc45f8604611",
                "name" : "refs/remotes/origin/dev"
              }
            ]
          },
          "revision" : {
            "SHA1" : "99b18c4be0216eb1f6269dcb5942cc45f8604611",
            "branch" : [
              {
                "SHA1" : "99b18c4be0216eb1f6269dcb5942cc45f8604611",
                "name" : "refs/remotes/origin/dev"
              }
            ]
          }
        }
      },
      "lastBuiltRevision" : {
        "SHA1" : "99b18c4be0216eb1f6269dcb5942cc45f8604611",
        "branch" : [
          {
            "SHA1" : "99b18c4be0216eb1f6269dcb5942cc45f8604611",
            "name" : "refs/remotes/origin/dev"
          }
        ]
      },
      "remoteUrls" : [
        "https://github.com/younex1/erp-nuxt-frontend.git"
      ],
      "scmName" : ""
    },
    {
      
    },
    {
      
    },
    {
      "_class" : "org.jenkinsci.plugins.displayurlapi.actions.RunDisplayAction"
    }
  ],
  "artifacts" : [
    
  ],
  "building" : false,
  "description" : null,
  "displayName" : "#751",
  "duration" : 64774,
  "estimatedDuration" : 61503,
  "executor" : null,
  "fullDisplayName" : "build-logship-frontend #751",
  "id" : "751",
  "inProgress" : false,
  "keepLog" : false,
  "number" : 751,
  "queueId" : 5784,
  "result" : "SUCCESS",
  "timestamp" : 1790640000767,
  "url" : "https://jenkins.younex.de/job/build-logship-frontend/751/",
  "builtOn" : "",
  "changeSet" : {
    "_class" : "hudson.plugins.git.GitChangeSetList",
    "items" : [
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "server/api/inouts/[id]/reset-commission.post.ts",
          ".claude/rules/fulfillment/commissioning.md",
          "app/pages/sales/orders/[id]/edit.vue",
          "app/assets/langs/shared.js"
        ],
        "commitId" : "172773d1724306ef4c1a90819b692f41bd24d400",
        "timestamp" : 1790580179000,
        "author" : {
          "absoluteUrl" : "https://jenkins.younex.de/user/info",
          "fullName" : "info"
        },
        "authorEmail" : "info@younex.de",
        "comment" : "Orders: admin-only commission reset in More actions with DHL/Sendcloud label cancel\u000a\u000aAdds POST /api/inouts/{id}/reset-commission (IsClientAdministrator only) that clears tracking,\u000acarrier codes, label PDFs, commissioned flags, shipping date/service, parcel allocation and the\u000acommission-table link so a shipment can be commissioned again. DHL labels are cancelled via the\u000aorders DELETE (custom OrderSource account honoured), Sendcloud parcels via cancel; DPD has no\u000acancel API and is reported as such. Confirmation dialog + translations (en/de/es/ne).\u000a",
        "date" : "2026-09-28 09:22:59 +0200",
        "id" : "172773d1724306ef4c1a90819b692f41bd24d400",
        "msg" : "Orders: admin-only commission reset in More actions with DHL/Sendcloud label cancel",
        "paths" : [
          {
            "editType" : "add",
            "file" : "server/api/inouts/[id]/reset-commission.post.ts"
          },
          {
            "editType" : "edit",
            "file" : "app/pages/sales/orders/[id]/edit.vue"
          },
          {
            "editType" : "edit",
            "file" : ".claude/rules/fulfillment/commissioning.md"
          },
          {
            "editType" : "edit",
            "file" : "app/assets/langs/shared.js"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          ".claude/rules/fulfillment/commissioning.md",
          "app/components/integrations/CommissionDHLLabel.vue",
          "server/api/commission/parcels/dhl/index.get.ts",
          "app/pages/sales/orders/[id]/edit.vue",
          "app/components/integrations/CommissionDPDLabel.vue",
          "app/assets/langs/shared.js"
        ],
        "commitId" : "84791046441a4ddfeeb8c461008202a0b780c30f",
        "timestamp" : 1790583749000,
        "author" : {
          "absoluteUrl" : "https://jenkins.younex.de/user/info",
          "fullName" : "info"
        },
        "authorEmail" : "info@younex.de",
        "comment" : "Label reprint: fetch every parcel of a multi-parcel DHL shipment and always use the current shipment numbers\u000a\u000aDHL_Shipment_Code stores all numbers comma-joined; the reprint sent them as a single\u000ashipment param and only read the first item, so multi-parcel reprints lost every\u000aadditional label. The GET route now splits the codes (one param each), prefers the\u000anumbers stored on the record via inout_id (the keep-alive'd order edit page could\u000aotherwise reprint the pre-reset label) and honours a custom OrderSource DHL account.\u000aThe modal merges the labels for preview/download and prints one job per label; the\u000aedit page refreshes the shipment's label fields before opening the reprint.\u000a",
        "date" : "2026-09-28 10:22:29 +0200",
        "id" : "84791046441a4ddfeeb8c461008202a0b780c30f",
        "msg" : "Label reprint: fetch every parcel of a multi-parcel DHL shipment and always use the current shipment numbers",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "server/api/commission/parcels/dhl/index.get.ts"
          },
          {
            "editType" : "edit",
            "file" : "app/pages/sales/orders/[id]/edit.vue"
          },
          {
            "editType" : "edit",
            "file" : ".claude/rules/fulfillment/commissioning.md"
          },
          {
            "editType" : "edit",
            "file" : "app/components/integrations/CommissionDHLLabel.vue"
          },
          {
            "editType" : "edit",
            "file" : "app/components/integrations/CommissionDPDLabel.vue"
          },
          {
            "editType" : "edit",
            "file" : "app/assets/langs/shared.js"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "app/pages/index.vue",
          "app/assets/langs/shared.js"
        ],
        "commitId" : "aa0d64df566d0c808cd43c7883146b0eb2f9a415",
        "timestamp" : 1790589339000,
        "author" : {
          "absoluteUrl" : "https://jenkins.younex.de/user/info",
          "fullName" : "info"
        },
        "authorEmail" : "info@younex.de",
        "comment" : "Dashboard SameDay card: shorter title with tooltip and mission-clock countdown\u000a\u000a- Card title \"SameDay Versand\" → \"SameDay\"; hovering the title explains\u000a  the card (orders that must ship today before the counter runs out).\u000a- The inline \"due until 14:03 · 2 h 10 min\" label is replaced by a\u000a  NASA-style mission clock (T-HH:MM:SS, ticking every second, T+ in red\u000a  when overdue); the former label is shown as its hover text.\u000a- New translation key dash_prime_title_tip (en/de/es).\u000a",
        "date" : "2026-09-28 11:55:39 +0200",
        "id" : "aa0d64df566d0c808cd43c7883146b0eb2f9a415",
        "msg" : "Dashboard SameDay card: shorter title with tooltip and mission-clock countdown",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "app/pages/index.vue"
          },
          {
            "editType" : "edit",
            "file" : "app/assets/langs/shared.js"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "app/pages/integrations/commission.vue",
          "server/api/commission/pick-identifier/[orgId].get.ts"
        ],
        "commitId" : "abe2149f4eff2142e92943d3123a58e825b4a155",
        "timestamp" : 1790589643000,
        "author" : {
          "absoluteUrl" : "https://jenkins.younex.de/user/info",
          "fullName" : "info"
        },
        "authorEmail" : "info@younex.de",
        "comment" : "Commissioning: highlight the merchant's pick product identifier on the position cards\u000a\u000a- New GET /api/commission/pick-identifier/:orgId returns the org partner's\u000a  C_BPartner.PickProductIdentifier via the cached pickIdentifier util.\u000a- The desktop commission page loads it per shipment (fail-soft) and marks\u000a  the matching code (Value/SKU/EAN/MPN/ASIN) on every open-position card:\u000a  orange framed, bold, listed first, with a scan icon and tooltip. Nothing\u000a  is highlighted when the partner has no setting.\u000a- Product-code scans now also match the ASIN.\u000a",
        "date" : "2026-09-28 12:00:43 +0200",
        "id" : "abe2149f4eff2142e92943d3123a58e825b4a155",
        "msg" : "Commissioning: highlight the merchant's pick product identifier on the position cards",
        "paths" : [
          {
            "editType" : "add",
            "file" : "server/api/commission/pick-identifier/[orgId].get.ts"
          },
          {
            "editType" : "edit",
            "file" : "app/pages/integrations/commission.vue"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "app/pages/mobile/generate-shipments.vue",
          "app/pages/mobile/index.vue"
        ],
        "commitId" : "99b18c4be0216eb1f6269dcb5942cc45f8604611",
        "timestamp" : 1790589643000,
        "author" : {
          "absoluteUrl" : "https://jenkins.younex.de/user/info",
          "fullName" : "info"
        },
        "authorEmail" : "info@younex.de",
        "comment" : "Mobile: drop the leads card from the dashboard; Advanced generate-shipments gets the desktop parameters\u000a\u000a- /mobile: the 'Neueste Leads' card and its feed are removed again.\u000a- /mobile/generate-shipments Advanced tab now mirrors the desktop panel:\u000a  shipment / promised dates, document action (Complete / Prepare), the\u000a  shipper filter with logo chips (select all / clear, queue-driven with the\u000a  shipperIds parameter), and the process options (unconfirmed shipments,\u000a  one document, subtract in-progress, run as job). Start is blocked while\u000a  the shipper filter is on with no shipper picked; the sequential progress\u000a  line shows the shipper.\u000a",
        "date" : "2026-09-28 12:00:43 +0200",
        "id" : "99b18c4be0216eb1f6269dcb5942cc45f8604611",
        "msg" : "Mobile: drop the leads card from the dashboard; Advanced generate-shipments gets the desktop parameters",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "app/pages/mobile/generate-shipments.vue"
          },
          {
            "editType" : "edit",
            "file" : "app/pages/mobile/index.vue"
          }
        ]
      }
    ],
    "kind" : "git"
  },
  "culprits" : [
    {
      "absoluteUrl" : "https://jenkins.younex.de/user/info",
      "fullName" : "info"
    }
  ]
}