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.
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.