App Connect

 View Only

Using IBM® App Connect to interact with GitLab

By Shahmini Arumugam posted Thu June 03, 2021 06:07 AM

  
GitLab is a DevOps platform that facilitates continuous integration and continuous delivery (CI/CD) and deployment in a single application. GitLab enables portfolio planning and management through a single UI and simplified administration to organize and track the progress of projects within an organization.
GitLab is a Git-based platform that integrates various essential tools for software development, deployment, and project management such as Microsoft® Teams, Slack, Jira, ServiceNow, and many more.

Using GitLab with IBM® App Connect

You can use App Connect to perform actions on the following objects:

  • Branches
  • Commits
  • Epic
  • Epic notes
  • Groups
  • Issue notes
  • Issues
  • Jobs
  • Labels
  • Members
  • Merge requests notes
  • Merge requests
  • Milestones
  • Namespaces
  • Pipelines
  • Project
  • Releases
  • Tags
  • User

Building a flow in App Connect with GitLab

You can now use IBM App Connect to build flows that integrate with GitLab and other applications. The GitLab connector is displayed as “GitLab” on the IBM App Connect User Interface (UI).

The connector works with the following GitLab versions:

GitLab.com
  • SaaS (software as a service) offering that is hosted, managed, and administered by GitLab Inc.
  • No installation needed, you can instantly use the software by signing up for GitLab.com
GitLab Self-Managed
  • Install, self-administer, and maintain your own GitLab instance
  • You can download and install the GitLab instance on-premises or on-cloud



Provide the following information to connect App Connect to your GitLab account.

Note: Based on your GitLab version, you can opt to log in by using the BASIC or OAuth2 authentication mode. The required information differs based on your GitLab version and the authentication mode.

Required credentials Description
Endpoint URL The URL of the GitLab self-managed instance. For example, https://<hostName>:<port_number>.
Username The username to log in to your GitLab account.
Password The password to log in to your GitLab account.   
Client ID The application ID created in GitLab. For more information, see https://docs.gitlab.com/ee/integration/oauth_provider.html.
Client secret The application secret created in GitLab. For more information, see https://docs.gitlab.com/ee/integration/oauth_provider.html.
Personal access token

The personal access token to authenticate with the GitLab API. For more information, see https://docs.gitlab.com/ee/user/profile/personal_access_tokens.html.

Note: Only required for BASIC authentication mode.

Network name The name of the network that App Connect uses to access your system. A network name is required only if you’re connecting to a system in a private network.



Scenario: An issue is created in GitLab whenever a new incident is logged in ServiceNow.

As an example, consider this scenario where you use App Connect to create an action-driven flow to integrate ServiceNow and GitLab. GitLab creates a new issue whenever a new incident is logged in ServiceNow and the incident is updated in ServiceNow with GitLab details.

For this scenario, the flow is triggered whenever a new incident is logged in ServiceNow.

GitLab creates an issue with the ServiceNow incident details. Then, the GitLab retrieve operation retrieves the issues based on the project and issue IID.

A message gets created in a dedicated Slack channel with the GitLab issue details. For example, GitLab issue iid::: <#> created for ServiceNow incident::: <INC00123456>.

ServiceNow updates the incident with the GitLab issue details. From the ServiceNow incident UI, you can now see that the incident description is appended with the GitLab issue IID and URL.

For example,




IBM® App Connect supports a wide range of data formats, application infrastructures, and integration styles. For more information, see IBM® App Connect connectors.


#AppConnect
#AppConnect-IBMCloud
#gitlab

0 comments
39 views

Permalink