# GitLab trigger - Workflow trigger | Docs - nodulz

Source: https://nodulz.com/docs/nodes/gitlab_trigger

Language: en

React to GitLab pushes, tags and merge requests using webhooks or polling.

## Usage and specifics

Publish and configure repository webhooks or polling. Events, branches and filters restrict triggers. The token must allow repository access and webhook creation when needed.

Technical type : `gitlab_trigger`. Runtime : `nodulz`.

## Credentials and prerequisites

- [Create and configure the credential : git](/docs/credentials/git)

Create credentials in your nodulz instance’s Credentials area, then select them on the node. Availability depends on ownership and sharing. See the [credentials guide](/docs/credentials) for access and rotation.

## Parameters

Names below are technical keys. Defaults are not a ready-to-run configuration: complete fields required by your operation. Paths containing [] describe list items; some fields depend on the selected mode.

| Parameter | Type | Default | Values / limits |
| --- | --- | --- | --- |
| `rateLimitEnabled` | `boolean` | - | - |
| `rateLimitMax` | `number` | - | -; > 0 |
| `rateLimitWindowMs` | `number` | - | -; > 0 |
| `allowedIps` | `array` | - | -; max 256 |
| `blockedIps` | `array` | - | -; max 256 |
| `provider` | `literal` | `"gitlab"` | `gitlab` |
| `events` | `array` | `["push"]` | - |
| `branch` | `string` | `""` | - |
| `mergedOnly` | `boolean` | `true` | - |
| `repo` | `string` | `""` | - |
| `credentialId` | `string` | - | - |
| `mode` | `enum` | `"webhook"` | `auto`, `webhook`, `poll` |
| `pollInterval` | `string` | `"2m"` | - |
| `secret` | `string` | - | - |
| `testPayload` | `string` | `""` | - |
| `rules` | `object` | - | - |
| `rules.ignorePathPatterns` | `array` | `[]` | - |
| `rules.requirePathPatterns` | `array` | `[]` | - |
| `deliveryMode` | `enum` | - | `manual`, `webhook`, `poll` |
| `webhookId` | `union` | - | - |
| `pollState` | `object` | - | - |
| `pollState.branchShas` | `record` | - | - |
| `pollState.tagShas` | `record` | - | - |
| `pollState.lastMergedPrIds` | `array` | - | - |
| `setupError` | `string` | - | - |

## Configuration help

| Setting | Purpose and guidance |
| --- | --- |
| `repo`<br>Repository URL | HTTPS repository URL to watch. On publish, nodulz tries to create the webhook automatically. |
| `mode`<br>Trigger mode | Webhook: instant trigger via a repository webhook. Poll: periodic repository checks. |
| `pollInterval`<br>Poll interval | Format: 30s, 2m, 1h, or a cron expression. |
| `provider`<br>Git provider | Controls how incoming events are parsed and verified. |
| `branch`<br>Branch | Filter on pushed branch or PR/MR target branch. |
| `mergedOnly`<br>Pull/Merge requests: only after merge | Triggers only when the PR/MR is merged (not on open). |
| `testPayload`<br>Test payload | Simulated JSON for editor tests. Plain object = push event body. |

## Initial configuration

Initial catalog configuration example, to adapt before running. Keep secrets in credentials.

```json
{
  "provider": "gitlab",
  "events": [
    "push"
  ],
  "branch": "",
  "mergedOnly": true,
  "repo": "",
  "mode": "webhook",
  "pollInterval": "2m"
}
```

## Verification

Test with representative data. Check node output in the inspector and logs, then use editor mapping for downstream fields. A trigger test with a simulated payload does not validate external service delivery.

See also : [Expressions and data](/docs/expressions), [Executions](/docs/executions), [Node catalog](/docs/nodes).

## Explore further

- [Features - nodulz](https://nodulz.com/product/overview)
- [Node catalog - nodulz](https://nodulz.com/product/catalog)
- [MCP server - nodulz](https://nodulz.com/product/mcp)
- [Pricing - nodulz](https://nodulz.com/pricing)
- [Use cases and workflow automation - nodulz](https://nodulz.com/use-cases)
- [Choose what your workflows can do. - nodulz](https://nodulz.com/compare)
- [Documentation - nodulz](https://nodulz.com/docs)
