apiVersion: jenkins.io/v1 kind: PipelineActivity metadata: annotations: lighthouse.jenkins-x.io/cloneURI: https://github.com/greencapitaltrade/ironman.git lighthouse.jenkins-x.io/job: release pipeline.jenkins-x.io/traceID: e96bada1e26a7ac591de95fd5e79a77e creationTimestamp: "2026-08-29T19:43:21Z" generation: 7 labels: branch: main build: "58" context: release created-by-lighthouse: "true" event-GUID: e0f10fc8-a3e1-11f1-9c7b-d86004472ba5 lighthouse.jenkins-x.io/baseSHA: 38e4fc39d6b588da311f776b0a324f6e6297eaf5 lighthouse.jenkins-x.io/branch: main lighthouse.jenkins-x.io/buildNum: "1788032601001" lighthouse.jenkins-x.io/context: release lighthouse.jenkins-x.io/id: apitaltrade-ironman-main-release-t8gst lighthouse.jenkins-x.io/job: release lighthouse.jenkins-x.io/lastCommitSHA: 38e4fc39d6b588da311f776b0a324f6e6297eaf5 lighthouse.jenkins-x.io/refs.org: greencapitaltrade lighthouse.jenkins-x.io/refs.repo: ironman lighthouse.jenkins-x.io/type: postsubmit owner: greencapitaltrade podName: apitaltrade-ironman-main-release-mtwkb-from-build-pack-pod provider: github repository: ironman tekton.dev/pipeline: apitaltrade-ironman-main-release managedFields: - apiVersion: jenkins.io/v1 fieldsType: FieldsV1 fieldsV1: f:metadata: f:labels: f:branch: {} f:context: {} f:owner: {} f:provider: {} f:repository: {} f:spec: f:lastCommitMessage: {} f:lastCommitSHA: {} f:releaseNotesURL: {} f:version: {} manager: jx-changelog-0.10.29 operation: Update time: "2026-08-29T19:45:50Z" - apiVersion: jenkins.io/v1 fieldsType: FieldsV1 fieldsV1: f:spec: f:completedTimestamp: {} f:status: {} manager: jx-promote-0.6.45 operation: Update time: "2026-08-29T19:47:19Z" - apiVersion: jenkins.io/v1 fieldsType: FieldsV1 fieldsV1: f:metadata: f:annotations: .: {} f:lighthouse.jenkins-x.io/cloneURI: {} f:lighthouse.jenkins-x.io/job: {} f:pipeline.jenkins-x.io/traceID: {} f:labels: .: {} f:build: {} f:created-by-lighthouse: {} f:event-GUID: {} f:lighthouse.jenkins-x.io/baseSHA: {} f:lighthouse.jenkins-x.io/branch: {} f:lighthouse.jenkins-x.io/buildNum: {} f:lighthouse.jenkins-x.io/context: {} f:lighthouse.jenkins-x.io/id: {} f:lighthouse.jenkins-x.io/job: {} f:lighthouse.jenkins-x.io/lastCommitSHA: {} f:lighthouse.jenkins-x.io/refs.org: {} f:lighthouse.jenkins-x.io/refs.repo: {} f:lighthouse.jenkins-x.io/type: {} f:podName: {} f:tekton.dev/pipeline: {} f:spec: .: {} f:baseSHA: {} f:batchPipelineActivity: {} f:build: {} f:buildLogsUrl: {} f:context: {} f:gitBranch: {} f:gitOwner: {} f:gitRepository: {} f:gitUrl: {} f:message: {} f:pipeline: {} f:startedTimestamp: {} f:steps: {} manager: jx-build-controller operation: Update time: "2026-08-29T19:48:45Z" name: greencapitaltrade-ironman-main-58 namespace: jx resourceVersion: "308111402" uid: ad98b134-1442-4429-88f3-90080f440480 spec: baseSHA: 38e4fc39d6b588da311f776b0a324f6e6297eaf5 batchPipelineActivity: {} build: "58" buildLogsUrl: s3://logs-gct-prod-20260425045301534100000007/jenkins-x/logs/greencapitaltrade/ironman/main/58.log completedTimestamp: "2026-08-29T19:46:46Z" context: release gitBranch: main gitOwner: greencapitaltrade gitRepository: ironman gitUrl: https://github.com/greencapitaltrade/ironman.git lastCommitMessage: | fix: take the AU e-NACH utility code from the lender, not the environment AU issues the NPCI utility code and the corporate username per lender. Several of one lender's bank accounts share them; two lenders never do. So `AU_EMANDATE_SVC_PROVIDER_CODE` and `AU_EMANDATE_USERNAME` could never have been right as environment variables — the second lender onboarded would have registered mandates under the first one's corporate. Production had the variable unset, so the adapter fell back to its placeholder default and AU rejected the first real mandate with "Invalid Utility Code". The identifiers now live on `lenders.emandate_config`, encrypted like every other tenant credential here. The mandate resolves its lender from the loan account rather than the sponsor account, because one lender may fund through several sponsor accounts and the utility code follows the lender. There is no default any more. A wrong-but-plausible utility code is worse than a missing one — it registers a borrower's mandate under somebody else's corporate — so the adapter refuses before the call. AU's own network values (channel, sponsor bank code) keep AU-wide defaults and stay overridable per lender. Co-Authored-By: Claude Opus 5 (1M context) lastCommitSHA: 3df64b2f6c259c5be58e4fd677cab54ad829f21d message: 'Tasks Completed: 1 (Failed: 0, Cancelled 0), Skipped: 0' pipeline: greencapitaltrade/ironman/main releaseNotesURL: https://github.com/greencapitaltrade/ironman/releases/tag/v2.63.3 startedTimestamp: "2026-08-29T19:43:21Z" status: Succeeded steps: - kind: Stage stage: completedTimestamp: "2026-08-29T19:46:46Z" name: Release startedTimestamp: "2026-08-29T19:45:46Z" status: Succeeded - kind: Promote promote: environment: staging pullRequest: pullRequestURL: https://github.com/greencapitaltrade/mcu/pull/5591 startedTimestamp: "2026-08-29T19:46:46Z" status: Succeeded startedTimestamp: "2026-08-29T19:46:46Z" status: Succeeded - kind: Stage stage: completedTimestamp: "2026-08-29T19:48:39Z" name: from build pack startedTimestamp: "2026-08-29T19:43:25Z" status: Succeeded steps: - completedTimestamp: "2026-08-29T19:43:35Z" name: Git Clone startedTimestamp: "2026-08-29T19:43:25Z" status: Succeeded - completedTimestamp: "2026-08-29T19:43:41Z" name: Next Version startedTimestamp: "2026-08-29T19:43:35Z" status: Succeeded - completedTimestamp: "2026-08-29T19:43:45Z" name: Jx Variables startedTimestamp: "2026-08-29T19:43:41Z" status: Succeeded - completedTimestamp: "2026-08-29T19:44:34Z" name: Build Npm Install startedTimestamp: "2026-08-29T19:43:46Z" status: Succeeded - completedTimestamp: "2026-08-29T19:44:37Z" name: Check Registry startedTimestamp: "2026-08-29T19:44:34Z" status: Succeeded - completedTimestamp: "2026-08-29T19:45:41Z" name: Build Container Build startedTimestamp: "2026-08-29T19:44:37Z" status: Succeeded - completedTimestamp: "2026-08-29T19:45:50Z" name: Promote Changelog startedTimestamp: "2026-08-29T19:45:41Z" status: Succeeded - completedTimestamp: "2026-08-29T19:45:53Z" name: Promote Helm Release startedTimestamp: "2026-08-29T19:45:50Z" status: Succeeded - completedTimestamp: "2026-08-29T19:47:22Z" name: Promote Jx Promote startedTimestamp: "2026-08-29T19:45:54Z" status: Succeeded - completedTimestamp: "2026-08-29T19:48:39Z" name: Publish Org Kb startedTimestamp: "2026-08-29T19:47:23Z" status: Succeeded - kind: Stage stage: completedTimestamp: "2026-08-29T19:48:39Z" name: from build pack startedTimestamp: "2026-08-29T19:43:25Z" status: Succeeded steps: - completedTimestamp: "2026-08-29T19:43:35Z" name: Git Clone startedTimestamp: "2026-08-29T19:43:25Z" status: Succeeded - completedTimestamp: "2026-08-29T19:43:41Z" name: Next Version startedTimestamp: "2026-08-29T19:43:35Z" status: Succeeded - completedTimestamp: "2026-08-29T19:43:45Z" name: Jx Variables startedTimestamp: "2026-08-29T19:43:41Z" status: Succeeded - completedTimestamp: "2026-08-29T19:44:34Z" name: Build Npm Install startedTimestamp: "2026-08-29T19:43:46Z" status: Succeeded - completedTimestamp: "2026-08-29T19:44:37Z" name: Check Registry startedTimestamp: "2026-08-29T19:44:34Z" status: Succeeded - completedTimestamp: "2026-08-29T19:45:41Z" name: Build Container Build startedTimestamp: "2026-08-29T19:44:37Z" status: Succeeded - completedTimestamp: "2026-08-29T19:45:50Z" name: Promote Changelog startedTimestamp: "2026-08-29T19:45:41Z" status: Succeeded - completedTimestamp: "2026-08-29T19:45:53Z" name: Promote Helm Release startedTimestamp: "2026-08-29T19:45:50Z" status: Succeeded - completedTimestamp: "2026-08-29T19:47:22Z" name: Promote Jx Promote startedTimestamp: "2026-08-29T19:45:54Z" status: Succeeded - completedTimestamp: "2026-08-29T19:48:39Z" name: Publish Org Kb startedTimestamp: "2026-08-29T19:47:23Z" status: Succeeded version: 2.63.3 status: {}