{
  "_class" : "org.jenkinsci.plugins.workflow.job.WorkflowRun",
  "actions" : [
    {
      "_class" : "hudson.model.CauseAction",
      "causes" : [
        {
          "_class" : "com.cloudbees.jenkins.GitHubPushCause",
          "shortDescription" : "Started by GitHub push by younex1"
        }
      ]
    },
    {
      
    },
    {
      "_class" : "org.jenkinsci.plugins.workflow.libs.LibrariesAction"
    },
    {
      
    },
    {
      
    },
    {
      "_class" : "hudson.plugins.git.util.BuildData",
      "buildsByBranchName" : {
        "refs/remotes/origin/main" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 15,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "49f3d63e2f1169fda0b321572605cb5f9b6fcd5e",
            "branch" : [
              {
                "SHA1" : "49f3d63e2f1169fda0b321572605cb5f9b6fcd5e",
                "name" : "refs/remotes/origin/main"
              }
            ]
          },
          "revision" : {
            "SHA1" : "49f3d63e2f1169fda0b321572605cb5f9b6fcd5e",
            "branch" : [
              {
                "SHA1" : "49f3d63e2f1169fda0b321572605cb5f9b6fcd5e",
                "name" : "refs/remotes/origin/main"
              }
            ]
          }
        }
      },
      "lastBuiltRevision" : {
        "SHA1" : "49f3d63e2f1169fda0b321572605cb5f9b6fcd5e",
        "branch" : [
          {
            "SHA1" : "49f3d63e2f1169fda0b321572605cb5f9b6fcd5e",
            "name" : "refs/remotes/origin/main"
          }
        ]
      },
      "remoteUrls" : [
        "https://github.com/younex1/blut24-landing.git"
      ],
      "scmName" : ""
    },
    {
      
    },
    {
      "_class" : "org.jenkinsci.plugins.workflow.cps.EnvActionImpl"
    },
    {
      
    },
    {
      
    },
    {
      "_class" : "org.jenkinsci.plugins.displayurlapi.actions.RunDisplayAction"
    },
    {
      "_class" : "org.jenkinsci.plugins.pipeline.modeldefinition.actions.RestartDeclarativePipelineAction"
    },
    {
      
    },
    {
      "_class" : "org.jenkinsci.plugins.workflow.job.views.FlowGraphAction"
    },
    {
      
    },
    {
      
    },
    {
      
    }
  ],
  "artifacts" : [
    
  ],
  "building" : false,
  "description" : null,
  "displayName" : "#15 49f3d63",
  "duration" : 30604,
  "estimatedDuration" : 28038,
  "executor" : null,
  "fullDisplayName" : "blut24-landing #15 49f3d63",
  "id" : "15",
  "keepLog" : false,
  "number" : 15,
  "queueId" : 5476,
  "result" : "SUCCESS",
  "timestamp" : 1785257388243,
  "url" : "https://jenkins.younex.de/job/blut24-landing/15/",
  "changeSets" : [
    {
      "_class" : "hudson.plugins.git.GitChangeSetList",
      "items" : [
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "app/locales/de.ts",
            "scripts/test-registration.mjs",
            "server/api/registration/confirm.post.ts",
            "server/utils/i18n.ts",
            "app/locales/en.ts",
            "README.md"
          ],
          "commitId" : "49f3d63e2f1169fda0b321572605cb5f9b6fcd5e",
          "timestamp" : 1785257378000,
          "author" : {
            "absoluteUrl" : "https://jenkins.younex.de/user/info",
            "fullName" : "info"
          },
          "authorEmail" : "info@younex.de",
          "comment" : "registration: keep the manual-review promise — gate ERP onboarding on needs_manual_approval\u000a\u000aHANDOFF §4 (ERP repo, reference/blut24/HANDOFF.md). needs_manual_approval gated\u000anothing: couriers and no-domain clinics — exactly the registrations nothing\u000acould verify — were auto-onboarded into iDempiere with live credentials mailed,\u000awhile form, confirmation mail and welcome mail promised a manual review.\u000aconfirm.post.ts now skips onboarding for them and records erp_status\u000a'manual-approval'; the operator provisions them by hand. Verified and test\u000aregistrations stay fully automatic.\u000a\u000aCopy made truthful: the test-domain notice no longer claims \"marked for manual\u000aapproval\" (test domains auto-activate; they are marked internally as test\u000aregistrations), and the manual-review texts are courier-neutral instead of\u000aexplaining a clinic-only domain lookup.\u000a\u000aalreadyConfirmed now returns credentialsSent, read from the stored ERP payload\u000a(setErpResult persists it).\u000a\u000aREADME: the ERP auth section described a Bearer scheme the code never uses —\u000athe token travels as the logship_it cookie, and the ERP's send-credentials\u000aroute is now gated on exact equality with the instance's IDEMPIERETOKEN, so\u000aERP_SERVICE_TOKEN must be exactly that value.\u000a\u000atest-registration.mjs: courier confirm asserts needsManualApproval,\u000acredentialsSent=false and erp_status 'manual-approval' (83/83 green).\u000a\u000aCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>\u000a",
          "date" : "2026-07-28 18:49:38 +0200",
          "id" : "49f3d63e2f1169fda0b321572605cb5f9b6fcd5e",
          "msg" : "registration: keep the manual-review promise — gate ERP onboarding on needs_manual_approval",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "scripts/test-registration.mjs"
            },
            {
              "editType" : "edit",
              "file" : "app/locales/en.ts"
            },
            {
              "editType" : "edit",
              "file" : "README.md"
            },
            {
              "editType" : "edit",
              "file" : "app/locales/de.ts"
            },
            {
              "editType" : "edit",
              "file" : "server/api/registration/confirm.post.ts"
            },
            {
              "editType" : "edit",
              "file" : "server/utils/i18n.ts"
            }
          ]
        }
      ],
      "kind" : "git"
    }
  ],
  "culprits" : [
    {
      "absoluteUrl" : "https://jenkins.younex.de/user/info",
      "fullName" : "info"
    }
  ],
  "inProgress" : false,
  "nextBuild" : null,
  "previousBuild" : {
    "number" : 14,
    "url" : "https://jenkins.younex.de/job/blut24-landing/14/"
  }
}