Skip to main content

GitLab Connector

The GitLab Connector is an outbound Connector that allows you to connect your BPMN service with GitLab to manage GitLab issues and releases.

Prerequisites​

To use the GitLab Connector, you must have a GitLab instance and an access token of a user or a service account on whose behalf a BPMN process will be executed.

note

Use Camunda secrets to avoid exposing your GitLab access token credentials as plain text. See our documentation on managing secrets to learn more.

Create a GitLab Connector task​

To use the GitLab Connector in your process, either change the type of existing task by clicking on it and using the wrench-shaped Change type context menu icon, or create a new Connector task by using the Append Connector context menu. Follow our guide to using Connectors to learn more.

Add endpoint and authentication​

In the HTTP Endpoint section, provide a GitLab base URL, i.e. https://gitlab.mycorp.com, and a GitLab access token.

Select operation to execute​

The GitLab Connector currently supports the following operations.

Issues​

Get an issue by ID​

  • GitLab API: Single project issue.
  • Project ID: The global ID or URL-encoded path of the project owned by the authenticated user.
  • Issue ID: The internal ID of a project’s issue.

Create an issue​

  • GitLab API: New issue.
  • Project ID: The global ID or URL-encoded path of the project owned by the authenticated user.
  • Title: The title of an issue.
  • Description: The description of an issue.

Delete an issue​

  • GitLab API: Delete an issue.
  • Project ID: The global ID or URL-encoded path of the project owned by the authenticated user.
  • Issue ID: The internal ID of a project’s issue.

Comment to an issue​

  • GitLab API: Create a new issue note.
  • Project ID: The global ID or URL-encoded path of the project owned by the authenticated user.
  • Issue ID: The internal ID of a project’s issue.
  • Note text: The content of a note.
  • Level of confidentiality: Indicates if an issue has to be marked as internal or not.

Search issues​

  • GitLab API: List issues.
  • Scope: Return issues for the given scope: Created by me, Assigned to me, or all.
  • State: Return all issues or just those that are opened or closed.
  • Assignee ID: Return issues assigned to the given user ID. Mutually exclusive with Assignee username. None returns unassigned issues. Any returns issues with an assignee.
  • Assignee username: Return issues assigned to the given username. Similar to Assignee ID and mutually exclusive with Assignee ID.
  • Author ID: Return issues created by the given user ID.
  • Contains text: Search issues against their Title and Description.

Releases​

List all releases by a project ID​

  • GitLab API: List releases.
  • Project ID: The global ID or URL-encoded path of the project owned by the authenticated user.

Get release by a tag name​

  • GitLab API: Get a release by a tag name.
  • Project ID: The global ID or URL-encoded path of the project owned by the authenticated user.
  • Tag name: The Git tag the release is associated with.

Create a release​

  • GitLab API: Create a release.
  • Project ID: The global ID or URL-encoded path of the project owned by the authenticated user.
  • Tag name: The tag where the release is created from.
  • Ref: A commit SHA, another tag name, or a branch name.
  • Release name: The release name.
  • Description: The description of the release.

Handle Connector response​

The GitLab Connector is a protocol connector, meaning it is built on top of the HTTP REST Connector, therefore handling response is still applicable as described.