-
New Feature
-
Resolution: Won't Do
-
Major
-
Jenkins 1.615
Gitlab hook plugin: 1.4.0
According to documentation an autogenerated project should be named by the repo name and then postfixed with the branch, i.e. REPONAME_BRANCH
In my testing i have observed that this is not the case the first time a project is created from an unknown repository notification. Then the name of the Jenkins project will match only the gitlab repo name and not prefix the branchname.
Setup:
Jenkins 1.615
Gitlab hook plugin: 1.4.0
Automatic project creation is ON
Template based job creation is used and ONLY base project has a value
gitlabhookpluginsetup
Scenario:
Prerequisite.
Reponame FOO
Gitlab repo FOO has webhook to jenkins using build_now
Jenkins does not have a Project relating to repo FOO
Reproduce:
- Commit to master
branch of repo FOO - Jenkins/plugin recieves notification and creates project named FOO. Expected name should be FOO_master
- Commit to master branch of repo FOO again and observe that Jenkins/plugin creates a new project named FOO_master. This is wierd since the Jenkins project FOO relate to the master branch
- Commit to develop branch of repo FOO
- Jenkins/Plugin recieves notification and creates project named FOO_develop as expected. According to log the project FOO_develop is based on project FOO
nb.
The attached image shows the setup of the plugin.
I'll check the documentation, but that is the expected behaviour. Although both projects get created automatically, they follow quite different paths. When it receives an unknown branch for a known repository, it uses the existing job as base, but when the notification is for a completely unknown repository, it is created from a template.
On the first case, there is a configuration flag to select whether the new project is prefixed with the repository name or with the name of the "cloned" project. On the second case only the repository name can be used and no branch name is suffixed because the assumption is that this first push is for the master branch.