jenkinsci / jenkinsci/github-branch-source-plugin

[JENKINS-72580] Github APP. Submodule not found

Open
#1,433 0 comments 0 reactions 0 assignees View on GitHub
component:github-branch-source-plugin imported-jira-issue priority:critical resolution:unresolved
Dominant language
Java
Stars
217
Forks
398
Avg merge
30m
Merged PRs (30d)
1

Description

I use GitHub organization folder with GitHub app credentials.

The parent repository uses submodules which are in the same organization as the parent repository and it uses submodules which are in a different organization.

When the Jenkins comes to the step that it wants to clone the submodule from a different organization then I get the error message: "Could not perform submodule update" 

Seems like the provided credentials do not have access to the Submodule of the other organization.

The GitHub app is installed also in the other organization

 

Jenkins job log:

The recommended git tool is: NONE

using credential fec9ad87-ff88-48f1-b7a9-f3328252ca94
Cloning the remote Git repository
Cloning with configured refspecs honoured and without tags
Cloning repository https://github.vitesco.io/BSP-Integration/0G0A6_000L0.git
> git init d:\P\workspace\0G0A6_000L0_main # timeout=10
Fetching upstream changes from https://github.vitesco.io/BSP-Integration/0G0A6_000L0.git
> git --version # timeout=10
> git --version # 'git version 2.39.2.windows.1'
using GIT_ASKPASS to set credentials BswJenkins
> git fetch --no-tags --force --progress -- https://github.vitesco.io/BSP-Integration/0G0A6_000L0.git +refs/heads/main:refs/remotes/origin/main # timeout=10
Avoid second fetch
Checking out Revision 20602ef41ce6cf0b8e0a31f276beef2405f04d2c (main)
> git config remote.origin.url https://github.vitesco.io/BSP-Integration/0G0A6_000L0.git # timeout=10
> git config --add remote.origin.fetch +refs/heads/main:refs/remotes/origin/main # timeout=10
> git config core.sparsecheckout # timeout=10
> git checkout -f 20602ef41ce6cf0b8e0a31f276beef2405f04d2c # timeout=10
Commit message: "VIF-1792: Jenkins needs url with *.git at the end."
> git rev-list --no-walk 20602ef41ce6cf0b8e0a31f276beef2405f04d2c # timeout=10
> git remote # timeout=10
> git submodule init # timeout=10
> git submodule sync # timeout=10
> git config --get remote.origin.url # timeout=10
> git submodule init # timeout=10
> git config -f .gitmodules --get-regexp ^submodule\.(.+)\.url # timeout=10
> git config --get submodule.work/bsw/ptp/arflex/static/mfstman.url # timeout=10
> git remote # timeout=10
> git config --get remote.origin.url # timeout=10
> git config -f .gitmodules --get submodule.work/bsw/ptp/arflex/static/mfstman.path # timeout=10
> git config --get submodule.work/bsw/ptp/com/static/abstr/ps/canif.url # timeout=10
> git remote # timeout=10
> git config --get remote.origin.url # timeout=10
> git config -f .gitmodules --get submodule.work/bsw/ptp/com/static/abstr/ps/canif.path # timeout=10
> git config --get submodule.work/bsw/ptp/com/static/can.url # timeout=10
> git remote # timeout=10
> git config --get remote.origin.url # timeout=10
> git config -f .gitmodules --get submodule.work/bsw/ptp/com/static/can.path # timeout=10
> git config --get submodule.work/bsw/ptp/com/static/canif.url # timeout=10
> git remote # timeout=10
> git config --get remote.origin.url # timeout=10
> git config -f .gitmodules --get submodule.work/bsw/ptp/com/static/canif.path # timeout=10
> git config --get submodule.work/bsw/ptp/com/static/cansm.url # timeout=10
> git remote # timeout=10
> git config --get remote.origin.url # timeout=10
> git config -f .gitmodules --get submodule.work/bsw/ptp/com/static/cansm.path # timeout=10
> git config --get submodule.work/bsw/ptp/com/static/cantp.url # timeout=10
> git remote # timeout=10
> git config --get remote.origin.url # timeout=10
> git config -f .gitmodules --get submodule.work/bsw/ptp/com/static/cantp.path # timeout=10
> git config --get submodule.work/bsw/ptp/com/static/cantrcvtja1043.url # timeout=10
> git remote # timeout=10
> git config --get remote.origin.url # timeout=10
> git config -f .gitmodules --get submodule.work/bsw/ptp/com/static/cantrcvtja1043.path # timeout=10
> git config --get submodule.work/bsw/ptp/com/static/comm.url # timeout=10
> git remote # timeout=10
> git config --get remote.origin.url # timeout=10
> git config -f .gitmodules --get submodule.work/bsw/ptp/com/static/comm.path # timeout=10
> git config --get submodule.work/bsw/ptp/com/static/doip.url # timeout=10
> git remote # timeout=10
> git config --get remote.origin.url # timeout=10
> git config -f .gitmodules --get submodule.work/bsw/ptp/com/static/doip.path # timeout=10
> git config --get submodule.work/bsw/ptp/com/static/eth.url # timeout=10
> git remote # timeout=10
> git config --get remote.origin.url # timeout=10
> git config -f .gitmodules --get submodule.work/bsw/ptp/com/static/eth.path # timeout=10
> git config --get submodule.work/bsw/ptp/com/static/ethif.url # timeout=10
> git remote # timeout=10
> git config --get remote.origin.url # timeout=10
> git config -f .gitmodules --get submodule.work/bsw/ptp/com/static/ethif.path # timeout=10
> git config --get submodule.work/bsw/ptp/com/static/ethsm.url # timeout=10
> git remote # timeout=10
> git config --get remote.origin.url # timeout=10
> git config -f .gitmodules --get submodule.work/bsw/ptp/com/static/ethsm.path # timeout=10
> git config --get submodule.work/bsw/ptp/com/static/pdur.url # timeout=10
> git remote # timeout=10
> git config --get remote.origin.url # timeout=10
> git config -f .gitmodules --get submodule.work/bsw/ptp/com/static/pdur.path # timeout=10
> git config --get submodule.work/bsw/ptp/com/static/soad.url # timeout=10
> git remote # timeout=10
> git config --get remote.origin.url # timeout=10
> git config -f .gitmodules --get submodule.work/bsw/ptp/com/static/soad.path # timeout=10
> git config --get submodule.work/bsw/ptp/com/static/tcpip.url # timeout=10
> git remote # timeout=10
> git config --get remote.origin.url # timeout=10
> git config -f .gitmodules --get submodule.work/bsw/ptp/com/static/tcpip.path # timeout=10
> git config --get submodule.work/bsw/ptp/eap/static/vector.url # timeout=10
> git remote # timeout=10
> git config --get remote.origin.url # timeout=10
> git config -f .gitmodules --get submodule.work/bsw/ptp/eap/static/vector.path # timeout=10
> git config --get submodule.work/bsw/ptp/sys/static/pwsm.url # timeout=10
> git remote # timeout=10
> git config --get remote.origin.url # timeout=10
> git config -f .gitmodules --get submodule.work/bsw/ptp/sys/static/pwsm.path # timeout=10
> git config --get submodule.work/bsw/ptp/sys/static/swmd.url # timeout=10
> git remote # timeout=10
> git config --get remote.origin.url # timeout=10
> git config -f .gitmodules --get submodule.work/bsw/ptp/sys/static/swmd.path # timeout=10
> git config --get submodule.work/config/axivion/generic.url # timeout=10
> git remote # timeout=10
> git config --get remote.origin.url # timeout=10
> git config -f .gitmodules --get submodule.work/config/axivion/generic.path # timeout=10
> git config --get submodule.work/tools/axivion.url # timeout=10
> git remote # timeout=10
> git config --get remote.origin.url # timeout=10
> git config -f .gitmodules --get submodule.work/tools/axivion.path # timeout=10
using GIT_ASKPASS to set credentials BswJenkins
> git submodule update --init --recursive work/bsw/ptp/arflex/static/mfstman # timeout=10
[Pipeline] bat (Delete github credential)

d:\P\workspace\0G0A6_000L0_main>cmdkey /delete git:https://github.vitesco.io

CMDKEY: Credential deleted successfully.
[Pipeline] echo
SCRIPT_ERROR: Exception occurred in checkout stage
[Pipeline] echo
Current build result: FAILURE
[Pipeline] echo
SCRIPT_NOTE: **STAGE END ERROR** checkout stage
[Pipeline] echo
Could not perform submodule update

---
Originally reported by buhl_florian, imported from: Github APP. Submodule not found


  • status: Open
  • priority: Critical
  • component(s): github-branch-source-plugin
  • resolution: Unresolved
  • votes: 0
  • watchers: 1
  • imported: 2025-12-02

Raw content of original issue

I use GitHub organization folder with GitHub app credentials.

The parent repository uses submodules which are in the same organization as the parent repository and it uses submodules which are in a different organization.

When the Jenkins comes to the step that it wants to clone the submodule from a different organization then I get the error message: "Could not perform submodule update" 

Seems like the provided credentials do not have access to the Submodule of the other organization.

The GitHub app is installed also in the other organization

 

Jenkins job log:



The recommended git tool is: NONE

using credential fec9ad87-ff88-48f1-b7a9-f3328252ca94
Cloning the remote Git repository
Cloning with configured refspecs honoured and without tags
Cloning repository https://github.vitesco.io/BSP-Integration/0G0A6_000L0.git
> git init d:\P\workspace\0G0A6_000L0_main # timeout=10
Fetching upstream changes from https://github.vitesco.io/BSP-Integration/0G0A6_000L0.git
> git --version # timeout=10
> git --version # 'git version 2.39.2.windows.1'
using GIT_ASKPASS to set credentials BswJenkins
> git fetch --no-tags --force --progress -- https://github.vitesco.io/BSP-Integration/0G0A6_000L0.git +refs/heads/main:refs/remotes/origin/main # timeout=10
Avoid second fetch
Checking out Revision 20602ef41ce6cf0b8e0a31f276beef2405f04d2c (main)
> git config remote.origin.url https://github.vitesco.io/BSP-Integration/0G0A6_000L0.git # timeout=10
> git config --add remote.origin.fetch +refs/heads/main:refs/remotes/origin/main # timeout=10
> git config core.sparsecheckout # timeout=10
> git checkout -f 20602ef41ce6cf0b8e0a31f276beef2405f04d2c # timeout=10
Commit message: "VIF-1792: Jenkins needs url with *.git at the end."
> git rev-list --no-walk 20602ef41ce6cf0b8e0a31f276beef2405f04d2c # timeout=10
> git remote # timeout=10
> git submodule init # timeout=10
> git submodule sync # timeout=10
> git config --get remote.origin.url # timeout=10
> git submodule init # timeout=10
> git config -f .gitmodules --get-regexp ^submodule\.(.+)\.url # timeout=10
> git config --get submodule.work/bsw/ptp/arflex/static/mfstman.url # timeout=10
> git remote # timeout=10
> git config --get remote.origin.url # timeout=10
> git config -f .gitmodules --get submodule.work/bsw/ptp/arflex/static/mfstman.path # timeout=10
> git config --get submodule.work/bsw/ptp/com/static/abstr/ps/canif.url # timeout=10
> git remote # timeout=10
> git config --get remote.origin.url # timeout=10
> git config -f .gitmodules --get submodule.work/bsw/ptp/com/static/abstr/ps/canif.path # timeout=10
> git config --get submodule.work/bsw/ptp/com/static/can.url # timeout=10
> git remote # timeout=10
> git config --get remote.origin.url # timeout=10
> git config -f .gitmodules --get submodule.work/bsw/ptp/com/static/can.path # timeout=10
> git config --get submodule.work/bsw/ptp/com/static/canif.url # timeout=10
> git remote # timeout=10
> git config --get remote.origin.url # timeout=10
> git config -f .gitmodules --get submodule.work/bsw/ptp/com/static/canif.path # timeout=10
> git config --get submodule.work/bsw/ptp/com/static/cansm.url # timeout=10
> git remote # timeout=10
> git config --get remote.origin.url # timeout=10
> git config -f .gitmodules --get submodule.work/bsw/ptp/com/static/cansm.path # timeout=10
> git config --get submodule.work/bsw/ptp/com/static/cantp.url # timeout=10
> git remote # timeout=10
> git config --get remote.origin.url # timeout=10
> git config -f .gitmodules --get submodule.work/bsw/ptp/com/static/cantp.path # timeout=10
> git config --get submodule.work/bsw/ptp/com/static/cantrcvtja1043.url # timeout=10
> git remote # timeout=10
> git config --get remote.origin.url # timeout=10
> git config -f .gitmodules --get submodule.work/bsw/ptp/com/static/cantrcvtja1043.path # timeout=10
> git config --get submodule.work/bsw/ptp/com/static/comm.url # timeout=10
> git remote # timeout=10
> git config --get remote.origin.url # timeout=10
> git config -f .gitmodules --get submodule.work/bsw/ptp/com/static/comm.path # timeout=10
> git config --get submodule.work/bsw/ptp/com/static/doip.url # timeout=10
> git remote # timeout=10
> git config --get remote.origin.url # timeout=10
> git config -f .gitmodules --get submodule.work/bsw/ptp/com/static/doip.path # timeout=10
> git config --get submodule.work/bsw/ptp/com/static/eth.url # timeout=10
> git remote # timeout=10
> git config --get remote.origin.url # timeout=10
> git config -f .gitmodules --get submodule.work/bsw/ptp/com/static/eth.path # timeout=10
> git config --get submodule.work/bsw/ptp/com/static/ethif.url # timeout=10
> git remote # timeout=10
> git config --get remote.origin.url # timeout=10
> git config -f .gitmodules --get submodule.work/bsw/ptp/com/static/ethif.path # timeout=10
> git config --get submodule.work/bsw/ptp/com/static/ethsm.url # timeout=10
> git remote # timeout=10
> git config --get remote.origin.url # timeout=10
> git config -f .gitmodules --get submodule.work/bsw/ptp/com/static/ethsm.path # timeout=10
> git config --get submodule.work/bsw/ptp/com/static/pdur.url # timeout=10
> git remote # timeout=10
> git config --get remote.origin.url # timeout=10
> git config -f .gitmodules --get submodule.work/bsw/ptp/com/static/pdur.path # timeout=10
> git config --get submodule.work/bsw/ptp/com/static/soad.url # timeout=10
> git remote # timeout=10
> git config --get remote.origin.url # timeout=10
> git config -f .gitmodules --get submodule.work/bsw/ptp/com/static/soad.path # timeout=10
> git config --get submodule.work/bsw/ptp/com/static/tcpip.url # timeout=10
> git remote # timeout=10
> git config --get remote.origin.url # timeout=10
> git config -f .gitmodules --get submodule.work/bsw/ptp/com/static/tcpip.path # timeout=10
> git config --get submodule.work/bsw/ptp/eap/static/vector.url # timeout=10
> git remote # timeout=10
> git config --get remote.origin.url # timeout=10
> git config -f .gitmodules --get submodule.work/bsw/ptp/eap/static/vector.path # timeout=10
> git config --get submodule.work/bsw/ptp/sys/static/pwsm.url # timeout=10
> git remote # timeout=10
> git config --get remote.origin.url # timeout=10
> git config -f .gitmodules --get submodule.work/bsw/ptp/sys/static/pwsm.path # timeout=10
> git config --get submodule.work/bsw/ptp/sys/static/swmd.url # timeout=10
> git remote # timeout=10
> git config --get remote.origin.url # timeout=10
> git config -f .gitmodules --get submodule.work/bsw/ptp/sys/static/swmd.path # timeout=10
> git config --get submodule.work/config/axivion/generic.url # timeout=10
> git remote # timeout=10
> git config --get remote.origin.url # timeout=10
> git config -f .gitmodules --get submodule.work/config/axivion/generic.path # timeout=10
> git config --get submodule.work/tools/axivion.url # timeout=10
> git remote # timeout=10
> git config --get remote.origin.url # timeout=10
> git config -f .gitmodules --get submodule.work/tools/axivion.path # timeout=10
using GIT_ASKPASS to set credentials BswJenkins
> git submodule update --init --recursive work/bsw/ptp/arflex/static/mfstman # timeout=10
[Pipeline] bat (Delete github credential)

d:\P\workspace\0G0A6_000L0_main>cmdkey /delete git:https://github.vitesco.io

CMDKEY: Credential deleted successfully.
[Pipeline] echo
SCRIPT_ERROR: Exception occurred in checkout stage
[Pipeline] echo
Current build result: FAILURE
[Pipeline] echo
SCRIPT_NOTE: **STAGE END ERROR** checkout stage
[Pipeline] echo
Could not perform submodule update


environment

```
Jenkins node OS. Win 11 64 bit.

Jenkins 2.387.3 Git plugin 5.2.1 GitHub Branch Source Plugin 1767.va_7d01ea_c7256
```

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.