Skip to content

GitLab

GitLab is a web-based DevOps lifecycle tool that provides a Git-repository manager providing wiki, issue-tracking, and continuous integration and deployment pipeline features, using an open-source license, developed by GitLab Inc. It is a powerful platform that covers the full software development lifecycle, from project planning and source code management to monitoring and security. It allows teams to collaborate on coding, testing, and deploying applications.

Key features of GitLab:

  • Git Repository Management: GitLab provides a user-friendly interface on top of Git functionality. It supports branch management, file locking, and merge requests.
  • Continuous Integration/Continuous Delivery (CI/CD): GitLab has built-in Continuous Integration and Continuous Delivery, making it possible to automate the entire process from code change to deployment.
  • Issue Tracking: GitLab offers issue tracking tools that allow teams to create, manage, and track issues and bugs within a project.
  • Code Review: GitLab provides code review tools that facilitate merge requests, code annotations, and inline discussion on code changes.
  • Wiki: Each GitLab project can have its own wiki, which is useful for keeping documentation close to the source code.
  • Kubernetes Integration: GitLab offers seamless integration with Kubernetes, allowing you to deploy your applications to a Kubernetes cluster.
  • Security and Compliance: GitLab provides features like Static Application Security Testing (SAST), Dynamic Application Security Testing (DAST), and container scanning to improve the security of your applications.
  • DevOps Score: It gives feedback on how your team is doing with adopting DevOps practices and how you could improve.
  • GitLab Pages: Like GitHub Pages, GitLab allows you to host static websites directly from a repository in GitLab.
  • Project Management: You can manage projects with features for time tracking, moving issues between projects, and project roadmaps.
  • Snippets: Share small pieces of code or text with others as "snippets," which are similar to GitHub's gists.
  • Import/Export: GitLab provides the ability to import projects from other platforms, as well as to export your GitLab project.
  • User Management and Permissions: Control access to your projects with fine-grained user permissions and user management tools.
  • Auto DevOps: Automatically set up your CI/CD pipeline with minimal configuration.

GitLab is unique in that it provides a single application for the entire software development and operations lifecycle. This can lead to increased efficiency and reduced complexity for teams. It can be used self-hosted on your own servers, or you can use GitLab's hosted option, GitLab.com. Its flexibility and extensive feature set make it a favourite among many organizations, from small teams to large enterprises.

Triggers:

  • Confidential issue event: Triggers when a new confidential issue is created or an existing issue is updated, closed, or reopened.
  • Confidential comment event: Triggers when a new confidential comment is made on commits, merge requests, issues, and code snippets.
  • Deployment event: Triggers when a deployment starts, succeeds, fails or is canceled.
  • Feature flag event: Triggers when a feature flag is turned on or off.
  • Issue flag event: Triggers when a new issue is created or an existing issue is updated, closed, or reopened.
  • Job event: Triggers when the status of a job changes.
  • Merge request event: Triggers when merge request is created, updated, or closed.
  • Comment event: Triggers when a new comment is made on commits, merge requests, issues, and code snippets.
  • Pipeline event: Triggers when the status of a pipeline changes.
  • Push event: Triggers when you push to the repository.
  • Release event: Triggers when a release is created or updated.
  • Tag event: Triggers when you create or delete tags in the repository.
  • Wiki page event: Triggers when a wiki page is created, updated, or deleted.

Connect with GitLab:

INFO

Pop-up windows must be allowed for this browser session to enable the connection of this third-party app with Workflow Automation.

  1. Log in to your GitLab account.

  2. Go to the link to register a new OAuth application and click the Add new application button. GitLab_01.jpg

  3. Fill in the application Name. GitLab_02.jpg

  4. Go to Workflow Automation and navigate to My Apps and Add a new app connection choosing GitLab from the list. GitLab_03.jpg

  5. Copy the OAuth Redirect URL and enter your GitLab instance URL.

    TIP

    The Gitlab default instance URL is https://gitlab.com.

    GitLab_04.jpg

  6. Paste the OAuth Redirect URL value into the Redirect URI field on GitLab. GitLab_05.jpg

  7. Check the Confidential checkbox, and check API and read_user in the Scopes section. GitLab_06.jpg

  8. Click the Save application button at the end of the form.

  9. Copy the Application ID value and save it for later use.

  10. Click the Eye button to reveal the Client Secret and copy it for later use. GitLab_07.jpg

  11. Go to Workflow Automation and paste the Application ID value into the Client ID field.

  12. Paste the Client Secret value into the Client Secret field.

    WARNING

    DO NOT click the Submit button yet!

    GitLab_08.jpg

  13. Click the Continue button on GitLab. GitLab_07.jpg

  14. Your new application on GitLab is set up successfully. GitLab_09.jpg

  15. Now click the Submit button on Workflow Automation. GitLab_08.jpg

  16. A pop-up window appears. Click the Authorize button. GitLab_10.jpg

  17. Your GitLab connection is now established. GitLab_11.jpg

  18. Start using your new GitLab connection with Workflow Automation.