A multi-repo team: send work to the right GitLab project

One board, several repos: the task’s GitLab project follows a field, so branches and issues open in the right place.

The team works on one board but the code lives in three repos: mobile, backend and infrastructure. The goal is that nobody has to ask "which repo is this" on every task: as soon as the task’s platform is chosen its GitLab project is known, and branches and issues open there.

Steps

  1. 1Under Board Settings > Integrations > GitLab, connect the board and add the mobile, backend and infrastructure projects; they can sit in different GitLab groups.
  2. 2Set up the webhook for each project and check that no row in the list says "No webhook events". In a project without a webhook, commits and MRs do not reach MyWay. After setting it up, send a test event from GitLab’s webhook screen or push once; the row only updates when the first event arrives.
  3. 3Under Custom Fields, add a single Select field called "Platform": Mobile, Backend, Infrastructure.
  4. 4In the "GitLab project by field" section, pick the Platform field and set each option’s project. If an option should not affect the project, leave it on "Leave unchanged".
  5. 5If issues should be created automatically, first turn on "Automatically create new tasks as GitLab issues" and set "Issue on new task" to "Ask"; then, so that a task with no platform does not land in the wrong repo, remove the default project with "Remove default". A task without a platform starts with an empty GitLab Project and no project ticked in the issue list (with none ticked, no issue is created); choosing a platform moves the tick to that project. "Don’t ask, open in the default project" needs a default project and cannot be used in this setup.
  6. 6When a developer clicks "Create Branch", the project is already chosen; the base branch is picked from that project’s branch list.

If a task’s platform changes, its GitLab project changes too; a project picked by hand in that same edit wins. The mapping is not retroactive: existing tasks and issues already opened stay where they are. Changing the platform in bulk from the list view or importing from Excel also fills the project from the mapping.

Related pages: GitLab integration, Workflows & custom fields, Working in bulk with a spreadsheet.