Fortinet white logo
Fortinet white logo
2.0.0

GitLab v2.0.0

About the connector

GitLab is a single application for the entire software development lifecycle. From project planning and source code management to CI/CD, monitoring, and security.

This document provides information about the GitLab Connector, which facilitates automated interactions, with a GitLab server using FortiSOAR™ playbooks. Add the GitLab Connector as a step in FortiSOAR™ playbooks and perform automated operations with GitLab.

Version information

Connector Version: 2.0.0

FortiSOAR™ Version Tested on: 7.4.3-3294

GitLab API Version Tested on: v4

Authored By: Fortinet

Certified: Yes

Release Notes for version 2.0.0

Following enhancements have been made to the GitLab Connector in version 2.0.0:

What's Improved

  • Added configuration parameter Gitlab Username.
  • Added following new actions:
    • Add Member to Repository
    • Clone Repository
    • Create Issue
    • Create Issue Comment
    • Create Merge Request
    • Create Merge Request Comment
    • Create Release
    • Create Repository
    • Create Repository Branch
    • Create Repository Using Templates
    • Delete Repository
    • Delete Repository Branch
    • Fetch Upstream
    • Fork Repository
    • Get Approval State of Merge Request
    • Get Member List of Repository
    • Get Repository Branch
    • List Authenticated User Repositories
    • List Fork Repositories
    • List Group Repositories
    • List Merge Request Comments
    • List Merge Request Reviewers
    • List Releases
    • List Repository Branches
    • List Repository Issues
    • List Repository Merge Requests
    • List Starrers
    • List User Repositories
    • Merge a Merge Request
    • Push Changes
    • Review Merge Request
    • Star Repository
    • Update Issue
    • Update Merge Request
    • Update Remote Repository
    • Update Repository
    • Update Repository Notification Level
    • Get Server URL
  • Following changes have been made to the actions Get File, Create File, Update File, Delete File:
    • Removed the parameter Project ID.
    • Added a new parameter Repository Type. Selecting this parameter introduces following Onchange parameters:
      • Repository Owner parameter appears after selecting User as Repository Type.
      • Organization/Group Name parameter appears after selecting Organization/Group as Repository Type.
  • Added Decode Content parameter in Get File actions.
  • Added new CICD playbooks to support the Continuous Delivery solution pack.

Installing the connector

Use the Content Hub to install the connector. For the detailed procedure to install a connector, click here.

You can also use the yum command as a root user to install the connector:

yum install cyops-connector-gitlab

Prerequisites to configuring the connector

  • You must have the IP address or hostname of GitLab server to connect and perform automated operations.
  • You must have the access token provided to you by a GitLab administrator to access the GitLab REST APIs.
  • To access the FortiSOAR™ UI, ensure that port 443 is open through the firewall for the FortiSOAR™ instance.

Minimum Permissions Required

  • Not applicable

Configuring the connector

For the procedure to configure a connector, click here.

Configuration parameters

In FortiSOAR™, on the Connectors page, click the GitLab connector row (if you are in the Grid view on the Connectors page) and in the Configurations tab enter the required configuration details:

Parameter Description
Server URL IP address or hostname of the GitLab server to which you will connect and perform automated operations.
Gitlab Username Specify the username used to access the GitLab server to connect and perform the automated operations.
Access Token Access Token that is provided to you by a GitLab administrator that you will use to access the GitLab REST API. For information on generating access tokens, refer https://docs.gitlab.com/ee/user/profile/personal_access_tokens.html.
Verify SSL Specifies whether the SSL certificate for the server is to be verified.
By default, this option is set to True.

Actions supported by the connector

The following automated operations can be included in playbooks and you can also use the annotations to access operations:

Function Description Annotation and Category
Create Repository Creates a new repository based on the repository type, repository name, and other input parameters that you have specified. create_repository
Investigation
Create Repository Using Templates Creates a new repository based on the repository type, repository name, a template, and other input parameters that you have specified. create_repository_using_templates
Investigation
List User Repositories Retrieves a list of user repositories filtered by the user ID, visibility, and other filter conditions that you have specified. When accessed without authentication, only public repositories are returned. list_user_repositories
Investigation
List Authenticated User Repositories Retrieves a list of authenticated user repositories filtered by the access level, visibility, and other filter conditions that you have specified. list_authenticated_user_repositories
Investigation
List Group Repositories Retrieves a list of group repositories filtered by the group name, visibility, and other filter conditions that you have specified.. When accessed without authentication, only public repositories are returned. list_group_repositories
Investigation
Update Repository Updates an existing repository based on the repository type, repository name, and other input parameters that you have specified. update_repository
Investigation
Delete Repository Deletes a repository including all associated resources, like issues and merge requests, based on the repository type, repository name, and other input parameters that you have specified. delete_repository
Investigation
Fork Repository Forks a repository into the user namespace based on the repository type, repository name, and other input parameters that you have specified. fork_repository
Investigation
List Fork Repositories Retrieves a list of the projects accessible to the calling user that have an established, forked relationship with the specified project list_fork_repositories
Investigation
Create File Creates a single file in the GitLab repository based on the repository ID, branch name, file name and other input parameters that you have specified.. create_new_file_in_repository
Investigation
Get File Retrieves information such as name, size, content, etc. about a file from the GitLab repository based on the repository ID, branch name, file name, and other input parameters that you have specified. get_file_from_repository
Investigation
Update File Updates a single file in the GitLab repository based on the repository ID, branch name, file name and other input parameters. update_file_in_repository
Investigation
Delete File Deletes a single file in the GitLab repository based on the repository ID, branch name, file name and other input parameters. delete_existing_file_in_repository
Investigation
Add Member to Repository Adds a member to a GitLab project based on the username, access level, and other input parameters that you have specified. add_member_to_repository
Investigation
Get Member List of Repository Retrieves a list of group or repository members viewable by the authenticated user, including inherited members, invited users, and permissions through ancestor groups. get_member_list_of_repository
Investigation
Create Repository Branch Creates a new branch in the repository based on the repository type, branch name, and other input parameters that you have specified. create_repository_branch
Investigation
Get Repository Branch Retrieves a repository branch from a GitLab Repository based on the repository type, branch name, and other input parameters that you have specified. get_repository_branch
Investigation
List Repository Branches Retrieves a list of repository branches from a project, alphabetically sorted by name based on the repository type, branch name, and other input parameters that you have specified. list_repository_branches
Investigation
Delete Repository Branch Deletes a branch from the repository based on the repository type and branch name that you have specified. delete_repository_branch
Investigation
Create Merge Request Creates a new merge request (MR) on a repository based on the repository type, branch name, and other input parameters that you have specified. create_merge_request
Investigation
List Repository Merge Requests Retrieves a list of all merge requests for a project based on the repository type, repository name, and other input parameters that you have specified. list_repository_merge_requests
Investigation
Update Merge Request Updates an existing merge request. You can change the target branch, title, Add Reviewers, Assignees or even close the MR. update_merge_request
Investigation
List Merge Request Reviewers Retrieves a list of merge request reviewers based on the repository type, repository name, and other input parameters that you have specified. list_merge_request_reviewers
Investigation
Create Merge Request Comment Creates a new note/comment on a merge request based on the repository type, repository name, and other input parameters that you have specified. create_merge_request_comment
Investigation
List Merge Request Comments Retrieves a list of all notes/comments for a merge request based on the repository type, repository name, and other input parameters that you have specified. list_merge_request_comments
Investigation
Merge a Merge Request Accept and merge changes in the merge request based on the repository type, repository name, and other input parameters that you have specified. merge_a_merge_request
Investigation
Create Issue Creates a new issue within a GitLab project based on the repository type, repository name, and other input parameters that you have specified. create_issue
Investigation
List Repository Issues Retrieves a list of a project's issues based on the repository type, repository name, and other input parameters that you have specified. list_repository_issues
Investigation
Update Issue Updates an existing issue based on the repository type, repository name, and other input parameters that you have specified. This call is also used to mark an issue as closed. update_issue
Investigation
Create Issue Comment Creates a new note/comment to a single repository issue based on the repository type, repository name, and other input parameters that you have specified. create_issue_comment
Investigation
Create Release Creates a new GitLab release based on the repository type, repository name, and other input parameters that you have specified. Developer level access to the repository is required to create a release. create_release
Investigation
List Releases Retrieves a paginated list of releases, sorted by the date when they were released, based on the repository type, repository name, and other input parameters that you have specified. list_releases
Investigation
Star Repository Stars a given GitLab project based on the repository type and repository name that you have specified. Returns a status code 304 if the repository is already starred. star_repository
Investigation
List Starrers Retrieves a list of users who have starred the specified project based on the repository type, repository name, and other input parameters that you have specified. list_starrers
Investigation
Update Repository Notification Level Updates a repository's notification settings via a specified notification level based on the repository type, repository name, and other input parameters that you have specified. update_repository_notification_level
Investigation
Update Remote Repository Applies changes made in a FortiSOAR™ file to the specified remote repository that is cloned from GitLab based on the file IRI and cloned repository path that you have specified. update_remote_repository
Investigation
Clone Repository Clones the specified repository in a GitLab project based on the repository type, repository name, and other input parameters that you have specified. clone_repository
Investigation
Push Changes Commits the local changes to the specified repository in a GitLab project based on the repository type, organization or repository owner's name, repository name, cloned repository path, and other input parameters you have specified. push_changes
Investigation
Fetch Upstream Creates a merge request for a branch of a forked repository to keep it up-to-date with the upstream repository based on the repository type, repository name, and other input parameters that you have specified. fetch_upstream
Investigation
Review Merge Request Review an merge request based on the repository type, repository name, and other input parameters that you have specified. You can approve or reject an MR. review_merge_request
Investigation
Get Approval State of Merge Request Retrieves information about a merge request's approval state based on the repository type, repository name, and other input parameters that you have specified. get_approval_state_of_merge_request
Investigation
Get Server URL Retrieves the server URL (Web URL) of the configured GitLab server. get_web_url
Investigation

operation: Create Repository

Input parameters

Parameter Description
Repository Type Select the type of the repository to create on GitLab. You can select from the following options:
  • Organization/Group: Specify the name of the organization/group on GitLab, within which to create the repository, in the Organization/Group Name field.
  • User
Repository Name Specify the name of the repository to create.
Description (Optional) Specify a short description of the repository being created on GitLab.
Visibility of Repository (Optional) Specify the scope of the repository. You can select from the following options:
  • Public
  • Private
  • Internal
Issues Access Level (Optional) Select to allow creation of issues on this repository. You can select from the following options:
  • Disabled: Select to disable creation of issues.
  • Private: Select to allow creation of issues only by members of this private project.
  • Enabled: Select to enable creation of issues.
Has Wiki (Optional) Select to create a wiki for this project. You can select from the following options:
  • Disabled: Select to disable the wiki.
  • Private: Select to allow access to the wiki by members of this private project.
  • Enabled: Select to enable the wiki.
Other Fields (Optional) Specify other fields in the JSON format. For more information about other fields, see https://docs.gitlab.com/ee/api/rest/index.html.

Output

The output contains the following populated JSON schema:

{
    "id": "",
    "description": "",
    "name": "",
    "name_with_namespace": "",
    "path": "",
    "path_with_namespace": "",
    "created_at": "",
    "default_branch": "",
    "tag_list": [],
    "topics": [],
    "ssh_url_to_repo": "",
    "http_url_to_repo": "",
    "web_url": "",
    "readme_url": "",
    "forks_count": "",
    "avatar_url": "",
    "star_count": "",
    "last_activity_at": "",
    "namespace": {
        "id": "",
        "name": "",
        "path": "",
        "kind": "",
        "full_path": "",
        "parent_id": "",
        "avatar_url": "",
        "web_url": ""
    },
    "container_registry_image_prefix": "",
    "_links": {
        "self": "",
        "issues": "",
        "merge_requests": "",
        "repo_branches": "",
        "labels": "",
        "events": "",
        "members": "",
        "cluster_agents": ""
    },
    "packages_enabled": "",
    "empty_repo": "",
    "archived": "",
    "visibility": "",
    "owner": {
        "id": "",
        "username": "",
        "name": "",
        "state": "",
        "avatar_url": "",
        "web_url": ""
    },
    "resolve_outdated_diff_discussions": "",
    "container_expiration_policy": {
        "cadence": "",
        "enabled": "",
        "keep_n": "",
        "older_than": "",
        "name_regex": "",
        "name_regex_keep": "",
        "next_run_at": ""
    },
    "issues_enabled": "",
    "merge_requests_enabled": "",
    "wiki_enabled": "",
    "jobs_enabled": "",
    "snippets_enabled": "",
    "container_registry_enabled": "",
    "service_desk_enabled": "",
    "service_desk_address": "",
    "can_create_merge_request_in": "",
    "issues_access_level": "",
    "repository_access_level": "",
    "merge_requests_access_level": "",
    "forking_access_level": "",
    "wiki_access_level": "",
    "builds_access_level": "",
    "snippets_access_level": "",
    "pages_access_level": "",
    "analytics_access_level": "",
    "container_registry_access_level": "",
    "security_and_compliance_access_level": "",
    "releases_access_level": "",
    "environments_access_level": "",
    "feature_flags_access_level": "",
    "infrastructure_access_level": "",
    "monitor_access_level": "",
    "emails_disabled": "",
    "emails_enabled": "",
    "shared_runners_enabled": "",
    "lfs_enabled": "",
    "creator_id": "",
    "import_url": "",
    "import_type": "",
    "import_status": "",
    "import_error": "",
    "open_issues_count": "",
    "description_html": "",
    "updated_at": "",
    "ci_default_git_depth": "",
    "ci_forward_deployment_enabled": "",
    "ci_forward_deployment_rollback_allowed": "",
    "ci_job_token_scope_enabled": "",
    "ci_separated_caches": "",
    "ci_allow_fork_pipelines_to_run_in_parent_project": "",
    "build_git_strategy": "",
    "keep_latest_artifact": "",
    "restrict_user_defined_variables": "",
    "runners_token": "",
    "runner_token_expiration_interval": "",
    "group_runners_enabled": "",
    "auto_cancel_pending_pipelines": "",
    "build_timeout": "",
    "auto_devops_enabled": "",
    "auto_devops_deploy_strategy": "",
    "ci_config_path": "",
    "public_jobs": "",
    "shared_with_groups": [],
    "only_allow_merge_if_pipeline_succeeds": "",
    "allow_merge_on_skipped_pipeline": "",
    "request_access_enabled": "",
    "only_allow_merge_if_all_discussions_are_resolved": "",
    "remove_source_branch_after_merge": "",
    "printing_merge_request_link_enabled": "",
    "merge_method": "",
    "squash_option": "",
    "enforce_auth_checks_on_uploads": "",
    "suggestion_commit_message": "",
    "merge_commit_template": "",
    "squash_commit_template": "",
    "issue_branch_template": "",
    "autoclose_referenced_issues": "",
    "external_authorization_classification_label": "",
    "requirements_enabled": "",
    "requirements_access_level": "",
    "security_and_compliance_enabled": "",
    "compliance_frameworks": []
}

operation: Create Repository Using Templates

Input parameters

Parameter Description
Repository Type Select the type of the repository to create on GitLab. You can select from the following options:
  • Organization/Group: Specify the name of the organization/group on GitLab, within which to create the repository, in the Organization/Group Name field.
  • User
Repository Name Specify the name of the repository to create.
Use Custom Template (Optional) Select to use a custom template (Requires Premium GitLab access). Clear the checkbox to use a built-in template.
Create Repository By Select the method by which to reference the template for creating repository. You can select one of the following options:
  • Template Repository ID: Specify the repository ID to use as a template in the Template Repository ID field.
  • Template Name: Specify the repository name to use as a template in the Template Name field.
Description (Optional) Specify a short description of the repository being created on GitLab.
Visibility of Repository (Optional) Specify the scope of the repository. You can select from the following options:
  • Public
  • Private
  • Internal
Issues Access Level (Optional) Select to allow creation of issues on this repository. You can select from the following options:
  • Disabled: Select to disable creation of issues.
  • Private: Select to allow creation of issues only by members of this private project.
  • Enabled: Select to enable creation of issues.
Has Wiki (Optional) Select to create a wiki for this project. You can select from the following options:
  • Disabled: Select to disable the wiki.
  • Private: Select to allow access to the wiki by members of this private project.
  • Enabled: Select to enable the wiki.
Other Fields (Optional) Specify other fields in the JSON format. For more information about other fields, see https://docs.gitlab.com/ee/api/rest/index.html.

Output

The output contains the following populated JSON schema:

{
    "id": "",
    "description": "",
    "name": "",
    "name_with_namespace": "",
    "path": "",
    "path_with_namespace": "",
    "created_at": "",
    "default_branch": "",
    "tag_list": [],
    "topics": [],
    "ssh_url_to_repo": "",
    "http_url_to_repo": "",
    "web_url": "",
    "readme_url": "",
    "forks_count": "",
    "avatar_url": "",
    "star_count": "",
    "last_activity_at": "",
    "namespace": {
        "id": "",
        "name": "",
        "path": "",
        "kind": "",
        "full_path": "",
        "parent_id": "",
        "avatar_url": "",
        "web_url": ""
    },
    "container_registry_image_prefix": "",
    "_links": {
        "self": "",
        "issues": "",
        "merge_requests": "",
        "repo_branches": "",
        "labels": "",
        "events": "",
        "members": "",
        "cluster_agents": ""
    },
    "packages_enabled": "",
    "empty_repo": "",
    "archived": "",
    "visibility": "",
    "owner": {
        "id": "",
        "username": "",
        "name": "",
        "state": "",
        "avatar_url": "",
        "web_url": ""
    },
    "resolve_outdated_diff_discussions": "",
    "container_expiration_policy": {
        "cadence": "",
        "enabled": "",
        "keep_n": "",
        "older_than": "",
        "name_regex": "",
        "name_regex_keep": "",
        "next_run_at": ""
    },
    "issues_enabled": "",
    "merge_requests_enabled": "",
    "wiki_enabled": "",
    "jobs_enabled": "",
    "snippets_enabled": "",
    "container_registry_enabled": "",
    "service_desk_enabled": "",
    "service_desk_address": "",
    "can_create_merge_request_in": "",
    "issues_access_level": "",
    "repository_access_level": "",
    "merge_requests_access_level": "",
    "forking_access_level": "",
    "wiki_access_level": "",
    "builds_access_level": "",
    "snippets_access_level": "",
    "pages_access_level": "",
    "analytics_access_level": "",
    "container_registry_access_level": "",
    "security_and_compliance_access_level": "",
    "releases_access_level": "",
    "environments_access_level": "",
    "feature_flags_access_level": "",
    "infrastructure_access_level": "",
    "monitor_access_level": "",
    "emails_disabled": "",
    "emails_enabled": "",
    "shared_runners_enabled": "",
    "lfs_enabled": "",
    "creator_id": "",
    "import_url": "",
    "import_type": "",
    "import_status": "",
    "import_error": "",
    "open_issues_count": "",
    "description_html": "",
    "updated_at": "",
    "ci_default_git_depth": "",
    "ci_forward_deployment_enabled": "",
    "ci_forward_deployment_rollback_allowed": "",
    "ci_job_token_scope_enabled": "",
    "ci_separated_caches": "",
    "ci_allow_fork_pipelines_to_run_in_parent_project": "",
    "build_git_strategy": "",
    "keep_latest_artifact": "",
    "restrict_user_defined_variables": "",
    "runners_token": "",
    "runner_token_expiration_interval": "",
    "group_runners_enabled": "",
    "auto_cancel_pending_pipelines": "",
    "build_timeout": "",
    "auto_devops_enabled": "",
    "auto_devops_deploy_strategy": "",
    "ci_config_path": "",
    "public_jobs": "",
    "shared_with_groups": [],
    "only_allow_merge_if_pipeline_succeeds": "",
    "allow_merge_on_skipped_pipeline": "",
    "request_access_enabled": "",
    "only_allow_merge_if_all_discussions_are_resolved": "",
    "remove_source_branch_after_merge": "",
    "printing_merge_request_link_enabled": "",
    "merge_method": "",
    "squash_option": "",
    "enforce_auth_checks_on_uploads": "",
    "suggestion_commit_message": "",
    "merge_commit_template": "",
    "squash_commit_template": "",
    "issue_branch_template": "",
    "autoclose_referenced_issues": "",
    "external_authorization_classification_label": "",
    "requirements_enabled": "",
    "requirements_access_level": "",
    "security_and_compliance_enabled": "",
    "compliance_frameworks": []
}

operation: List User Repositories

Input parameters

Parameter Description
User ID Specify the ID or username of the user whose repositories are to be listed.
Owned by the User (Optional) Select to limit projects explicitly owned by the specified user.
Visibility (Optional) Specify the scope of the repository. You can select from the following options:
  • Public
  • Private
  • Internal
Order By (Optional) Select the sorting criteria to sort the results. You can select from the following options:
  • ID
  • Name
  • Path
  • Created Date
  • Updated Date
  • Last Activity
Default sorting criteria is Created Date.
Sort Order (Optional) Select the sort order to sort the results. You can select from the following options:
  • Ascending
  • Descending
Default sort order is Descending.
Page (Optional) Specify the page number from which to return the results of the operation. By default, this value is set to 1.
Per Page (Optional) Specify the number of results, per page, that this operation should return. By default, this value is set to 20; and the maximum value you can specify for this parameter is 100.
Other Fields (Optional) Specify other fields in the JSON format. For more information about other fields, see https://docs.gitlab.com/ee/api/rest/index.html.

Output

The output contains the following populated JSON schema:

[
    {
        "id": "",
        "description": "",
        "description_html": "",
        "default_branch": "",
        "visibility": "",
        "ssh_url_to_repo": "",
        "http_url_to_repo": "",
        "web_url": "",
        "readme_url": "",
        "tag_list": [],
        "topics": [],
        "owner": {
            "id": "",
            "name": "",
            "created_at": ""
        },
        "name": "",
        "name_with_namespace": "",
        "path": "",
        "path_with_namespace": "",
        "issues_enabled": "",
        "open_issues_count": "",
        "merge_requests_enabled": "",
        "jobs_enabled": "",
        "wiki_enabled": "",
        "snippets_enabled": "",
        "can_create_merge_request_in": "",
        "resolve_outdated_diff_discussions": "",
        "container_registry_enabled": "",
        "container_registry_access_level": "",
        "security_and_compliance_access_level": "",
        "created_at": "",
        "updated_at": "",
        "last_activity_at": "",
        "creator_id": "",
        "import_url": "",
        "import_type": "",
        "import_status": "",
        "import_error": "",
        "namespace": {
            "id": "",
            "name": "",
            "path": "",
            "kind": "",
            "full_path": ""
        },
        "archived": "",
        "avatar_url": "",
        "shared_runners_enabled": "",
        "group_runners_enabled": "",
        "forks_count": "",
        "star_count": "",
        "runners_token": "",
        "ci_default_git_depth": "",
        "ci_forward_deployment_enabled": "",
        "ci_forward_deployment_rollback_allowed": "",
        "ci_allow_fork_pipelines_to_run_in_parent_project": "",
        "ci_separated_caches": "",
        "public_jobs": "",
        "shared_with_groups": [],
        "only_allow_merge_if_pipeline_succeeds": "",
        "allow_merge_on_skipped_pipeline": "",
        "restrict_user_defined_variables": "",
        "only_allow_merge_if_all_discussions_are_resolved": "",
        "remove_source_branch_after_merge": "",
        "request_access_enabled": "",
        "merge_method": "",
        "squash_option": "",
        "autoclose_referenced_issues": "",
        "enforce_auth_checks_on_uploads": "",
        "suggestion_commit_message": "",
        "merge_commit_template": "",
        "squash_commit_template": "",
        "issue_branch_template": "",
        "marked_for_deletion_at": "",
        "marked_for_deletion_on": "",
        "statistics": {
            "commit_count": "",
            "storage_size": "",
            "repository_size": "",
            "wiki_size": "",
            "lfs_objects_size": "",
            "job_artifacts_size": "",
            "pipeline_artifacts_size": "",
            "packages_size": "",
            "snippets_size": "",
            "uploads_size": ""
        },
        "container_registry_image_prefix": "",
        "_links": {
            "self": "",
            "issues": "",
            "merge_requests": "",
            "repo_branches": "",
            "labels": "",
            "events": "",
            "members": "",
            "cluster_agents": ""
        }
    }
]

operation: List Authenticated User Repositories

Input parameters

Parameter Description
Minimum Access Level (Optional) Select the current user's minimal access level to retrieve their repositories. You can select one of the following options:
  • No Access
  • Minimal Access
  • Guest
  • Reporter
  • Developer
  • Maintainer
  • Owner
Visibility (Optional) Specify the scope of the repository. You can select from the following options:
  • Public
  • Private
  • Internal
Order By (Optional) Select the sorting criteria to sort the results. You can select from the following options:
  • ID
  • Name
  • Path
  • Created Date
  • Updated Date
  • Last Activity
Default sorting criteria is Created Date.
Sort Order (Optional) Select the sort order to sort the results. You can select from the following options:
  • Ascending
  • Descending
Default sort order is Descending.
Page (Optional) Specify the page number from which to return the results of the operation. By default, this value is set to 1.
Per Page (Optional) Specify the number of results, per page, that this operation should return. By default, this value is set to 20; and the maximum value you can specify for this parameter is 100.
Other Fields (Optional) Specify other fields in the JSON format. For more information about other fields, see https://docs.gitlab.com/ee/api/rest/index.html.

Output

The output contains the following populated JSON schema:

[
    {
        "id": "",
        "description": "",
        "description_html": "",
        "default_branch": "",
        "visibility": "",
        "ssh_url_to_repo": "",
        "http_url_to_repo": "",
        "web_url": "",
        "readme_url": "",
        "tag_list": [],
        "topics": [],
        "owner": {
            "id": "",
            "name": "",
            "created_at": ""
        },
        "name": "",
        "name_with_namespace": "",
        "path": "",
        "path_with_namespace": "",
        "issues_enabled": "",
        "open_issues_count": "",
        "merge_requests_enabled": "",
        "jobs_enabled": "",
        "wiki_enabled": "",
        "snippets_enabled": "",
        "can_create_merge_request_in": "",
        "resolve_outdated_diff_discussions": "",
        "container_registry_enabled": "",
        "container_registry_access_level": "",
        "security_and_compliance_access_level": "",
        "created_at": "",
        "updated_at": "",
        "last_activity_at": "",
        "creator_id": "",
        "import_url": "",
        "import_type": "",
        "import_status": "",
        "import_error": "",
        "namespace": {
            "id": "",
            "name": "",
            "path": "",
            "kind": "",
            "full_path": ""
        },
        "archived": "",
        "avatar_url": "",
        "shared_runners_enabled": "",
        "group_runners_enabled": "",
        "forks_count": "",
        "star_count": "",
        "runners_token": "",
        "ci_default_git_depth": "",
        "ci_forward_deployment_enabled": "",
        "ci_forward_deployment_rollback_allowed": "",
        "ci_allow_fork_pipelines_to_run_in_parent_project": "",
        "ci_separated_caches": "",
        "public_jobs": "",
        "shared_with_groups": [],
        "only_allow_merge_if_pipeline_succeeds": "",
        "allow_merge_on_skipped_pipeline": "",
        "restrict_user_defined_variables": "",
        "only_allow_merge_if_all_discussions_are_resolved": "",
        "remove_source_branch_after_merge": "",
        "request_access_enabled": "",
        "merge_method": "",
        "squash_option": "",
        "autoclose_referenced_issues": "",
        "enforce_auth_checks_on_uploads": "",
        "suggestion_commit_message": "",
        "merge_commit_template": "",
        "squash_commit_template": "",
        "issue_branch_template": "",
        "marked_for_deletion_at": "",
        "marked_for_deletion_on": "",
        "statistics": {
            "commit_count": "",
            "storage_size": "",
            "repository_size": "",
            "wiki_size": "",
            "lfs_objects_size": "",
            "job_artifacts_size": "",
            "pipeline_artifacts_size": "",
            "packages_size": "",
            "snippets_size": "",
            "uploads_size": ""
        },
        "container_registry_image_prefix": "",
        "_links": {
            "self": "",
            "issues": "",
            "merge_requests": "",
            "repo_branches": "",
            "labels": "",
            "events": "",
            "members": "",
            "cluster_agents": ""
        }
    }
]

operation: List Group Repositories

Input parameters

Parameter Description
Group Name Specify the name of the group whose repositories to retrieve from GitLab.
Visibility (Optional) Specify the scope of the repository. You can select from the following options:
  • Public
  • Private
  • Internal
Order By (Optional) Select the sorting criteria to sort the results. You can select from the following options:
  • ID
  • Name
  • Path
  • Created Date
  • Updated Date
  • Last Activity
Default sorting criteria is Created Date.
Sort Order (Optional) Select the sort order to sort the results. You can select from the following options:
  • Ascending
  • Descending
Default sort order is Descending.
Page (Optional) Specify the page number from which to return the results of the operation. By default, this value is set to 1.
Per Page (Optional) Specify the number of results, per page, that this operation should return. By default, this value is set to 20; and the maximum value you can specify for this parameter is 100.
Other Fields (Optional) Specify other fields in the JSON format. For more information about other fields, see https://docs.gitlab.com/ee/api/rest/index.html.

Output

The output contains the following populated JSON schema:

[
    {
        "id": "",
        "description": "",
        "default_branch": "",
        "tag_list": [],
        "topics": [],
        "archived": "",
        "visibility": "",
        "ssh_url_to_repo": "",
        "http_url_to_repo": "",
        "web_url": "",
        "name": "",
        "name_with_namespace": "",
        "path": "",
        "path_with_namespace": "",
        "issues_enabled": "",
        "merge_requests_enabled": "",
        "wiki_enabled": "",
        "jobs_enabled": "",
        "snippets_enabled": "",
        "created_at": "",
        "last_activity_at": "",
        "shared_runners_enabled": "",
        "creator_id": "",
        "namespace": {
            "id": "",
            "name": "",
            "path": "",
            "kind": ""
        },
        "avatar_url": "",
        "star_count": "",
        "forks_count": "",
        "open_issues_count": "",
        "public_jobs": "",
        "shared_with_groups": [],
        "request_access_enabled": ""
    }
]

operation: Update Repository

Input parameters

Parameter Description
Repository Type Select the type of the repository to update on GitLab. You can select from the following options:
  • Organization/Group: Specify the name of the organization/group on GitLab, within which to update the repository, in the Organization/Group Name field.
  • Repository Owner: Specify the owner, whose repository is to be updated, in the Repository Owner field.
Repository Name Specify the name of the repository to update on GitLab.
New Repository Name (Optional) Specify the new name of the repository to update on GitLab.
Description (Optional) Specify a short description of the repository to update on GitLab.
Visibility of Repository (Optional) Specify the scope of the repository. You can select from the following options:
  • Public
  • Private
  • Internal
Issues Access Level (Optional) Select to update creation of issues on this repository. You can select from the following options:
  • Disabled: Select to disable creation of issues.
  • Private: Select to allow creation of issues only by members of this private project.
  • Enabled: Select to enable creation of issues.
Has Wiki (Optional) Select to update the wiki status for this project. You can select from the following options:
  • Disabled: Select to disable the wiki.
  • Private: Select to allow access to the wiki by members of this private project.
  • Enabled: Select to enable the wiki.
Other Fields (Optional) Specify other fields in the JSON format. For more information about other fields, see https://docs.gitlab.com/ee/api/rest/index.html.

Output

The output contains the following populated JSON schema:

{
    "id": "",
    "description": "",
    "name": "",
    "name_with_namespace": "",
    "path": "",
    "path_with_namespace": "",
    "created_at": "",
    "default_branch": "",
    "tag_list": [],
    "topics": [],
    "ssh_url_to_repo": "",
    "http_url_to_repo": "",
    "web_url": "",
    "readme_url": "",
    "forks_count": "",
    "avatar_url": "",
    "star_count": "",
    "last_activity_at": "",
    "namespace": {
        "id": "",
        "name": "",
        "path": "",
        "kind": "",
        "full_path": "",
        "parent_id": "",
        "avatar_url": "",
        "web_url": ""
    },
    "container_registry_image_prefix": "",
    "_links": {
        "self": "",
        "issues": "",
        "merge_requests": "",
        "repo_branches": "",
        "labels": "",
        "events": "",
        "members": "",
        "cluster_agents": ""
    },
    "packages_enabled": "",
    "empty_repo": "",
    "archived": "",
    "visibility": "",
    "owner": {
        "id": "",
        "username": "",
        "name": "",
        "state": "",
        "avatar_url": "",
        "web_url": ""
    },
    "resolve_outdated_diff_discussions": "",
    "container_expiration_policy": {
        "cadence": "",
        "enabled": "",
        "keep_n": "",
        "older_than": "",
        "name_regex": "",
        "name_regex_keep": "",
        "next_run_at": ""
    },
    "issues_enabled": "",
    "merge_requests_enabled": "",
    "wiki_enabled": "",
    "jobs_enabled": "",
    "snippets_enabled": "",
    "container_registry_enabled": "",
    "service_desk_enabled": "",
    "service_desk_address": "",
    "can_create_merge_request_in": "",
    "issues_access_level": "",
    "repository_access_level": "",
    "merge_requests_access_level": "",
    "forking_access_level": "",
    "wiki_access_level": "",
    "builds_access_level": "",
    "snippets_access_level": "",
    "pages_access_level": "",
    "analytics_access_level": "",
    "container_registry_access_level": "",
    "security_and_compliance_access_level": "",
    "releases_access_level": "",
    "environments_access_level": "",
    "feature_flags_access_level": "",
    "infrastructure_access_level": "",
    "monitor_access_level": "",
    "emails_disabled": "",
    "emails_enabled": "",
    "shared_runners_enabled": "",
    "lfs_enabled": "",
    "creator_id": "",
    "import_url": "",
    "import_type": "",
    "import_status": "",
    "import_error": "",
    "open_issues_count": "",
    "description_html": "",
    "updated_at": "",
    "ci_default_git_depth": "",
    "ci_forward_deployment_enabled": "",
    "ci_forward_deployment_rollback_allowed": "",
    "ci_job_token_scope_enabled": "",
    "ci_separated_caches": "",
    "ci_allow_fork_pipelines_to_run_in_parent_project": "",
    "build_git_strategy": "",
    "keep_latest_artifact": "",
    "restrict_user_defined_variables": "",
    "runners_token": "",
    "runner_token_expiration_interval": "",
    "group_runners_enabled": "",
    "auto_cancel_pending_pipelines": "",
    "build_timeout": "",
    "auto_devops_enabled": "",
    "auto_devops_deploy_strategy": "",
    "ci_config_path": "",
    "public_jobs": "",
    "shared_with_groups": [],
    "only_allow_merge_if_pipeline_succeeds": "",
    "allow_merge_on_skipped_pipeline": "",
    "request_access_enabled": "",
    "only_allow_merge_if_all_discussions_are_resolved": "",
    "remove_source_branch_after_merge": "",
    "printing_merge_request_link_enabled": "",
    "merge_method": "",
    "squash_option": "",
    "enforce_auth_checks_on_uploads": "",
    "suggestion_commit_message": "",
    "merge_commit_template": "",
    "squash_commit_template": "",
    "issue_branch_template": "",
    "autoclose_referenced_issues": "",
    "external_authorization_classification_label": "",
    "requirements_enabled": "",
    "requirements_access_level": "",
    "security_and_compliance_enabled": "",
    "compliance_frameworks": []
}

operation: Delete Repository

Input parameters

Parameter Description
Repository Type Select the type of the repository to delete on GitLab. You can select from the following options:
  • Organization/Group: Specify the name of the organization/group on GitLab, within which to delete the repository, in the Organization/Group Name field.
  • User: Specify the name of the repository owner on GitLab, whose repository is to be deleted, in the Repository Owner field.
Repository Name Specify the name of the repository to delete.

Output

The output contains the following populated JSON schema:

{
    "message": ""
}

operation: Fork Repository

Input parameters

Parameter Description
Repository Type Select the type of the repository to fork on GitLab. You can select from the following options:
  • Organization/Group: Specify the name of the organization/group on GitLab, within which to fork the repository, in the Organization/Group Name field.
  • User: Specify the name of the repository owner on GitLab, whose repository is to be forked, in the Repository Owner field.
Repository Name Specify the name of the repository in GitLab to fork.
New Repository Name (Optional) Specify the name to assign to the resultant repository after forking.
Description (Optional) Specify a short description to the resultant repository after forking.
Visibility of Repository (Optional) Specify the scope of the repository. You can select from the following options:
  • Public
  • Private
  • Internal
Other Fields (Optional) Specify other fields in the JSON format. For more information about other fields, see https://docs.gitlab.com/ee/api/rest/index.html.

Output

The output contains the following populated JSON schema:

{
    "id": "",
    "description": "",
    "name": "",
    "name_with_namespace": "",
    "path": "",
    "path_with_namespace": "",
    "created_at": "",
    "default_branch": "",
    "tag_list": [],
    "topics": [],
    "ssh_url_to_repo": "",
    "http_url_to_repo": "",
    "web_url": "",
    "readme_url": "",
    "forks_count": "",
    "avatar_url": "",
    "star_count": "",
    "last_activity_at": "",
    "namespace": {
        "id": "",
        "name": "",
        "path": "",
        "kind": "",
        "full_path": "",
        "parent_id": "",
        "avatar_url": "",
        "web_url": ""
    },
    "container_registry_image_prefix": "",
    "_links": {
        "self": "",
        "issues": "",
        "merge_requests": "",
        "repo_branches": "",
        "labels": "",
        "events": "",
        "members": "",
        "cluster_agents": ""
    },
    "packages_enabled": "",
    "empty_repo": "",
    "archived": "",
    "visibility": "",
    "owner": {
        "id": "",
        "username": "",
        "name": "",
        "state": "",
        "avatar_url": "",
        "web_url": ""
    },
    "resolve_outdated_diff_discussions": "",
    "container_expiration_policy": {
        "cadence": "",
        "enabled": "",
        "keep_n": "",
        "older_than": "",
        "name_regex": "",
        "name_regex_keep": "",
        "next_run_at": ""
    },
    "issues_enabled": "",
    "merge_requests_enabled": "",
    "wiki_enabled": "",
    "jobs_enabled": "",
    "snippets_enabled": "",
    "container_registry_enabled": "",
    "service_desk_enabled": "",
    "service_desk_address": "",
    "can_create_merge_request_in": "",
    "issues_access_level": "",
    "repository_access_level": "",
    "merge_requests_access_level": "",
    "forking_access_level": "",
    "wiki_access_level": "",
    "builds_access_level": "",
    "snippets_access_level": "",
    "pages_access_level": "",
    "analytics_access_level": "",
    "container_registry_access_level": "",
    "security_and_compliance_access_level": "",
    "releases_access_level": "",
    "environments_access_level": "",
    "feature_flags_access_level": "",
    "infrastructure_access_level": "",
    "monitor_access_level": "",
    "emails_disabled": "",
    "emails_enabled": "",
    "shared_runners_enabled": "",
    "lfs_enabled": "",
    "creator_id": "",
    "forked_from_project": {
        "id": "",
        "description": "",
        "name": "",
        "name_with_namespace": "",
        "path": "",
        "path_with_namespace": "",
        "created_at": "",
        "default_branch": "",
        "tag_list": [],
        "topics": [],
        "ssh_url_to_repo": "",
        "http_url_to_repo": "",
        "web_url": "",
        "readme_url": "",
        "forks_count": "",
        "avatar_url": "",
        "star_count": "",
        "last_activity_at": "",
        "namespace": {
            "id": "",
            "name": "",
            "path": "",
            "kind": "",
            "full_path": "",
            "parent_id": "",
            "avatar_url": "",
            "web_url": ""
        }
    },
    "mr_default_target_self": "",
    "import_url": "",
    "import_type": "",
    "import_status": "",
    "import_error": "",
    "open_issues_count": "",
    "description_html": "",
    "updated_at": "",
    "ci_default_git_depth": "",
    "ci_forward_deployment_enabled": "",
    "ci_forward_deployment_rollback_allowed": "",
    "ci_job_token_scope_enabled": "",
    "ci_separated_caches": "",
    "ci_allow_fork_pipelines_to_run_in_parent_project": "",
    "build_git_strategy": "",
    "keep_latest_artifact": "",
    "restrict_user_defined_variables": "",
    "runners_token": "",
    "runner_token_expiration_interval": "",
    "group_runners_enabled": "",
    "auto_cancel_pending_pipelines": "",
    "build_timeout": "",
    "auto_devops_enabled": "",
    "auto_devops_deploy_strategy": "",
    "ci_config_path": "",
    "public_jobs": "",
    "shared_with_groups": [],
    "only_allow_merge_if_pipeline_succeeds": "",
    "allow_merge_on_skipped_pipeline": "",
    "request_access_enabled": "",
    "only_allow_merge_if_all_discussions_are_resolved": "",
    "remove_source_branch_after_merge": "",
    "printing_merge_request_link_enabled": "",
    "merge_method": "",
    "squash_option": "",
    "enforce_auth_checks_on_uploads": "",
    "suggestion_commit_message": "",
    "merge_commit_template": "",
    "squash_commit_template": "",
    "issue_branch_template": "",
    "autoclose_referenced_issues": "",
    "external_authorization_classification_label": "",
    "requirements_enabled": "",
    "requirements_access_level": "",
    "security_and_compliance_enabled": "",
    "compliance_frameworks": []
}

operation: List Fork Repositories

Input parameters

Parameter Description
Repository Type Select the type of the repository to retrieve from GitLab. You can select from the following options:
  • Organization/Group: Specify the name of the organization/group on GitLab, from which to retrieve the repository forks, in the Organization/Group Name field.
  • User: Specify the name of the repository owner on GitLab, whose forked repositories are to be retrieved, in the Repository Owner field.
Repository Name Specify the name of the repository whose forks are to be retrieved.
Order By (Optional) Select the sorting criteria to sort the results. You can select from the following options:
  • ID
  • Name
  • Path
  • Created Date
  • Updated Date
  • Last Activity
Default sorting criteria is Created Date.
Sort Order (Optional) Select the sort order to sort the results. You can select from the following options:
  • Ascending
  • Descending
Default sort order is Descending.
Page (Optional) Specify the page number from which to return the results of the operation. By default, this value is set to 1.
Per Page (Optional) Specify the number of results, per page, that this operation should return. By default, this value is set to 20; and the maximum value you can specify for this parameter is 100.
Other Fields (Optional) Specify other fields in the JSON format. For more information about other fields, see https://docs.gitlab.com/ee/api/rest/index.html.

Output

The output contains the following populated JSON schema:

[
    {
        "id": "",
        "description": "",
        "description_html": "",
        "default_branch": "",
        "visibility": "",
        "ssh_url_to_repo": "",
        "http_url_to_repo": "",
        "web_url": "",
        "readme_url": "",
        "tag_list": [],
        "topics": [],
        "name": "",
        "name_with_namespace": "",
        "path": "",
        "path_with_namespace": "",
        "issues_enabled": "",
        "open_issues_count": "",
        "merge_requests_enabled": "",
        "jobs_enabled": "",
        "wiki_enabled": "",
        "snippets_enabled": "",
        "can_create_merge_request_in": "",
        "resolve_outdated_diff_discussions": "",
        "container_registry_enabled": "",
        "container_registry_access_level": "",
        "security_and_compliance_access_level": "",
        "created_at": "",
        "updated_at": "",
        "last_activity_at": "",
        "creator_id": "",
        "namespace": {
            "id": "",
            "name": "",
            "path": "",
            "kind": "",
            "full_path": ""
        },
        "import_status": "",
        "archived": "",
        "avatar_url": "",
        "shared_runners_enabled": "",
        "group_runners_enabled": "",
        "forks_count": "",
        "star_count": "",
        "public_jobs": "",
        "shared_with_groups": [],
        "only_allow_merge_if_pipeline_succeeds": "",
        "allow_merge_on_skipped_pipeline": "",
        "restrict_user_defined_variables": "",
        "only_allow_merge_if_all_discussions_are_resolved": "",
        "remove_source_branch_after_merge": "",
        "request_access_enabled": "",
        "merge_method": "",
        "squash_option": "",
        "autoclose_referenced_issues": "",
        "enforce_auth_checks_on_uploads": "",
        "suggestion_commit_message": "",
        "merge_commit_template": "",
        "container_registry_image_prefix": "",
        "_links": {
            "self": "",
            "issues": "",
            "merge_requests": "",
            "repo_branches": "",
            "labels": "",
            "events": "",
            "members": "",
            "cluster_agents": ""
        }
    }
]

operation: Create File

Input parameters

Parameter Description
Repository Type Select the type of the repository on which to create the file. You can select from the following options:
  • Organization/Group: Specify the name of the organization/group on GitLab, within whose repository the file is to be created, in the Organization/Group Name field.
  • User: Specify the name of the repository owner on GitLab, within whose repository the file is to be created, in the Repository Owner field.
Repository Name Specify the name of the repository within which the file is to be created.
Branch Name Specify the name of the branch in which to create the file.
File Name Specify the name of the file to create.
Content Information Specify the contents to add to the file being created.
Commit Message Specify the commit message to add while creating the file.
Author Email ID (Optional) Specify the email address of the commit author to add while creating the file.
Author Name (Optional) Specify the name of the commit author to add while creating the file.

Output

The output contains the following populated JSON schema:

{
    "file_path": "",
    "branch": ""
}

operation: Get File

Input parameters

Parameter Description
Repository Type Select the type of the repository from which to retrieve the file. You can select from the following options:
  • Organization/Group: Specify the name of the organization/group on GitLab, within whose repository the file is to be retrieved, in the Organization/Group Name field.
  • User: Specify the name of the repository owner on GitLab, within whose repository the file is to be retrieved, in the Repository Owner field.
Repository Name Specify the name of the repository from which the file is to be retrieved.
Branch Name Specify the name of the branch from which to retrieve the file.
File Name Specify the name of the file to retrieve.
Decode Content (Optional) Select to decode the file contents. The files are Base64 encoded.

Output

The output contains the following populated JSON schema:

{
    "file_name": "",
    "file_path": "",
    "size": "",
    "encoding": "",
    "content_sha256": "",
    "ref": "",
    "blob_id": "",
    "commit_id": "",
    "last_commit_id": "",
    "content": ""
}

operation: Update File

Input parameters

Parameter Description
Repository Type Select the type of the repository in which to update the file. You can select from the following options:
  • Organization/Group: Specify the name of the organization/group on GitLab, within whose repository the file is to be updated, in the Organization/Group Name field.
  • User: Specify the name of the repository owner on GitLab, within whose repository the file is to be updated, in the Repository Owner field.
Repository Name Specify the name of the repository in which the file is to be updated.
Branch Name Specify the name of the branch in which to update the file.
File Name Specify the name of the file to update.
Content Information Specify the contents to update in the file being updated.
Operation Select the operation to perform on the existing content. You can choose from following options:
  • Append: Select this option to append the information specified in the Content Information parameter to the specified file's contents.
  • Overwrite: Select this option to overwrite the specified file's contents with information specified in the Content Information parameter.
Commit Message Specify the commit message for updating the file.

Output

The output contains the following populated JSON schema:

{
    "file_path": "",
    "branch": ""
}

operation: Delete File

Input parameters

Parameter Description
Repository Type Select the type of the repository from which to delete the file. You can select from the following options:
  • Organization/Group: Specify the name of the organization/group on GitLab, within whose repository the file is to be deleted, in the Organization/Group Name field.
  • User: Specify the name of the repository owner on GitLab, within whose repository the file is to be deleted, in the Repository Owner field.
Repository Name Specify the name of the repository in which the file is to be deleted.
Branch Name Specify the name of the branch in which to delete the file.
File Name Specify the name of the file to delete.
Commit Message Specify the commit message for deleting the file.
Author Email ID (Optional) Specify the email address of the commit author to add while deleting the file.
Author Name (Optional) Specify the name of the commit author to add while deleting the file.

Output

The output contains a non-dictionary value.

operation: Add Member to Repository

Input parameters

Parameter Description
Add Member To Select where you want to add the specified collaborator. You can select from the following options:
  • Group: Specify the name of the group in the Group Name field.
  • Repository: Select the repository type in which to add the collaborator. You can select from the following options:
    • Organization/Group: Specify the name of the organization/group on GitLab, within whose repository the collaborator is to be added, in the Organization/Group Name field.
    • User: Specify the name of the repository owner on GitLab, within whose repository the collaborator is to be added, in the Repository Owner field.
    • Repository Name: Specify the name of the repository in which to add the collaborator.
Username Specify the username of the member to add as a collaborator in the project.
Access Level Select the access level to grant to the specified collaborator. You can select from following options:
  • No Access
  • Minimal Access
  • Guest
  • Reporter
  • Developer
  • Maintainer
  • Owner

NOTE: Permissions are applicable only on organization-owned repositories.

Other Fields (Optional) Specify other fields in the JSON format. For more information about other fields, see https://docs.gitlab.com/ee/api/rest/index.html.

Output

The output contains the following populated JSON schema:

{
    "id": "",
    "username": "",
    "name": "",
    "state": "",
    "avatar_url": "",
    "web_url": "",
    "created_at": "",
    "created_by": {
        "id": "",
        "username": "",
        "name": "",
        "state": "",
        "avatar_url": "",
        "web_url": ""
    },
    "expires_at": "",
    "access_level": "",
    "email": "",
    "group_saml_identity": ""
}

operation: Get Member List of Repository

Input parameters

Parameter Description
Repository Type Select the type of the repository to retrieve its collaborators. You can select from the following options:
  • Organization/Group: Specify the name of the organization/group on GitLab, from which to retrieve the collaborators, in the Organization/Group Name field.
  • User: Specify the name of the repository owner on GitLab, from which to retrieve the collaborators, in the Repository Owner field.
Repository Name Specify the name of the repository from which to retrieve the collaborators.
Page (Optional) Specify the page number from which to return the results of the operation. By default, this value is set to 1.
Per Page (Optional) Specify the number of results, per page, that this operation should return. By default, this value is set to 20; and the maximum value you can specify for this parameter is 100.
Other Fields (Optional) Specify other fields in the JSON format. For more information about other fields, see https://docs.gitlab.com/ee/api/rest/index.html.

Output

The output contains the following populated JSON schema:

[
    {
        "id": "",
        "username": "",
        "name": "",
        "state": "",
        "avatar_url": "",
        "web_url": "",
        "created_at": "",
        "created_by": {
            "id": "",
            "username": "",
            "name": "",
            "state": "",
            "avatar_url": "",
            "web_url": ""
        },
        "expires_at": "",
        "access_level": "",
        "group_saml_identity": ""
    }
]

operation: Create Repository Branch

Input parameters

Parameter Description
Repository Type Select the type of the repository in which to create the branch. You can select from the following options:
  • Organization/Group: Specify the name of the organization/group on GitLab, in which to create the branch, in the Organization/Group Name field.
  • User: Specify the name of the repository owner on GitLab, in which to create the branch, in the Repository Owner field.
Repository Name Specify the name of the repository in which to create the branch.
Branch Specify the URL-encoded name of the branch to create. For more information on URL-encoded name on GitLab, refer https://docs.gitlab.com/ee/api/rest/index.html#namespaced-path-encoding.
Reference Branch Specify the branch name or the commit SHA from which to create the new branch.

Output

The output contains the following populated JSON schema:

{
    "commit": {
        "id": "",
        "short_id": "",
        "created_at": "",
        "parent_ids": [],
        "title": "",
        "message": "",
        "author_name": "",
        "author_email": "",
        "authored_date": "",
        "committer_name": "",
        "committer_email": "",
        "committed_date": "",
        "trailers": {},
        "web_url": ""
    },
    "name": "",
    "merged": "",
    "protected": "",
    "default": "",
    "developers_can_push": "",
    "developers_can_merge": "",
    "can_push": "",
    "web_url": ""
}

operation: Get Repository Branch

Input parameters

Parameter Description
Repository Type Select the type of the repository from which to retrieve the branch. You can select from the following options:
  • Organization/Group: Specify the name of the organization/group on GitLab, from which to retrieve the branch, in the Organization/Group Name field.
  • User: Specify the name of the repository owner on GitLab, from which to create the branch, in the Repository Owner field.
Repository Name Specify the name of the repository from which to retrieve the branch.
Branch Specify the URL-encoded name of the branch to retrieve. For more information on URL-encoded name on GitLab, refer https://docs.gitlab.com/ee/api/rest/index.html#namespaced-path-encoding.

Output

The output contains the following populated JSON schema:

{
    "name": "",
    "merged": "",
    "protected": "",
    "default": "",
    "developers_can_push": "",
    "developers_can_merge": "",
    "can_push": "",
    "web_url": "",
    "commit": {
        "id": "",
        "short_id": "",
        "created_at": "",
        "parent_ids": [],
        "title": "",
        "message": "",
        "author_name": "",
        "author_email": "",
        "authored_date": "",
        "committer_name": "",
        "committer_email": "",
        "committed_date": "",
        "trailers": {},
        "web_url": ""
    }
}

operation: List Repository Branches

Input parameters

Parameter Description
Repository Type Select the type of the repository whose branches to retrieve. You can select from the following options:
  • Organization/Group: Specify the name of the organization/group on GitLab, whose branches to retrieve, in the Organization/Group Name field.
  • User: Specify the name of the repository owner on GitLab, whose branches to retrieve in the Repository Owner field.
Repository Name Specify the name of the repository from which to retrieve the branches.
RE2 Regex Expression (Optional) Specify a re2 regular expression to filter and return the list of branches with names matching the expression. For example, ^release\/(\d+\.\d+)$ retrieves branches matching release/2.0, release/3.5, release/4.2, release/3.14 etc. For more information about re2 regular expression syntax, see https://github.com/google/re2/wiki/Syntax.

Output

The output contains the following populated JSON schema:

[
    {
        "name": "",
        "merged": "",
        "protected": "",
        "default": "",
        "developers_can_push": "",
        "developers_can_merge": "",
        "can_push": "",
        "web_url": "",
        "commit": {
            "id": "",
            "short_id": "",
            "created_at": "",
            "parent_ids": [],
            "title": "",
            "message": "",
            "author_name": "",
            "author_email": "",
            "authored_date": "",
            "committer_name": "",
            "committer_email": "",
            "committed_date": "",
            "trailers": {},
            "web_url": ""
        }
    }
]

operation: Delete Repository Branch

Input parameters

Parameter Description
Repository Type Select the type of the repository in which to delete the branch. You can select from the following options:
  • Organization/Group: Specify the name of the organization/group on GitLab, in which to delete the branch, in the Organization/Group Name field.
  • User: Specify the name of the repository owner on GitLab, in which to delete the branch, in the Repository Owner field.
Repository Name Specify the name of the repository in which to delete the branch.
Branch Specify the URL-encoded name of the branch to delete. For more information on URL-encoded name on GitLab, refer https://docs.gitlab.com/ee/api/rest/index.html#namespaced-path-encoding.

Output

The output contains a non-dictionary value.

operation: Create Merge Request

Input parameters

Parameter Description
Repository Type Select the type of the repository in which to create the merge request. You can select from the following options:
  • Organization/Group: Specify the name of the organization/group on GitLab, in which to create the merge request, in the Organization/Group Name field.
  • User: Specify the name of the repository owner on GitLab, in which to create the merge request, in the Repository Owner field.
Repository Name Specify the name of the repository in which to create the merge request.
Source Branch Specify the source branch, from where to pull the changes, for the merge request.
Target Branch Specify the target branch, in which to merge the changes, for the merge request.
Merge Request Title Specify a title for the merge request being created in the GitLab repository.
Description (Optional) Specify a short description for the merge request being created in the GitLab repository.
Target Repository ID (Optional) Specify the project ID of the forked repository to create a merge request.
Remove Source Branch after Merging (Optional) Select if the source branch is to be deleted after merge completes.
Other Fields (Optional) Specify other fields in the JSON format. For more information about other fields, see https://docs.gitlab.com/ee/api/rest/index.html.

Output

The output contains the following populated JSON schema:

{
    "id": "",
    "iid": "",
    "project_id": "",
    "title": "",
    "description": "",
    "state": "",
    "created_at": "",
    "updated_at": "",
    "target_branch": "",
    "source_branch": "",
    "upvotes": "",
    "downvotes": "",
    "author": {
        "id": "",
        "name": "",
        "username": "",
        "state": "",
        "avatar_url": "",
        "web_url": ""
    },
    "assignee": {
        "id": "",
        "name": "",
        "username": "",
        "state": "",
        "avatar_url": "",
        "web_url": ""
    },
    "source_project_id": "",
    "target_project_id": "",
    "labels": [],
    "draft": "",
    "work_in_progress": "",
    "milestone": {
        "id": "",
        "iid": "",
        "project_id": "",
        "title": "",
        "description": "",
        "state": "",
        "created_at": "",
        "updated_at": "",
        "due_date": "",
        "start_date": "",
        "web_url": ""
    },
    "merge_when_pipeline_succeeds": "",
    "merge_status": "",
    "detailed_merge_status": "",
    "merge_error": "",
    "sha": "",
    "merge_commit_sha": "",
    "squash_commit_sha": "",
    "user_notes_count": "",
    "discussion_locked": "",
    "should_remove_source_branch": "",
    "force_remove_source_branch": "",
    "allow_collaboration": "",
    "allow_maintainer_to_push": "",
    "web_url": "",
    "references": {
        "short": "",
        "relative": "",
        "full": ""
    },
    "time_stats": {
        "time_estimate": "",
        "total_time_spent": "",
        "human_time_estimate": "",
        "human_total_time_spent": ""
    },
    "squash": "",
    "subscribed": "",
    "changes_count": "",
    "merged_by": {
        "id": "",
        "name": "",
        "username": "",
        "state": "",
        "avatar_url": "",
        "web_url": ""
    },
    "merge_user": {
        "id": "",
        "name": "",
        "username": "",
        "state": "",
        "avatar_url": "",
        "web_url": ""
    },
    "merged_at": "",
    "prepared_at": "",
    "closed_by": "",
    "closed_at": "",
    "latest_build_started_at": "",
    "latest_build_finished_at": "",
    "first_deployed_to_production_at": "",
    "pipeline": {
        "id": "",
        "sha": "",
        "ref": "",
        "status": "",
        "web_url": ""
    },
    "diff_refs": {
        "base_sha": "",
        "head_sha": "",
        "start_sha": ""
    },
    "diverged_commits_count": "",
    "task_completion_status": {
        "count": "",
        "completed_count": ""
    }
}

operation: List Repository Merge Requests

Input parameters

Parameter Description
Repository Type Select the type of the repository from which to retrieve the list of merge requests. You can select from the following options:
  • Organization/Group: Specify the name of the organization/group on GitLab, from which to retrieve the list of merge requests, in the Organization/Group Name field.
  • User: Specify the name of the repository owner on GitLab, from which to retrieve the list of merge requests, in the Repository Owner field.
Repository Name Specify the name of the repository from which to retrieve the list of merge requests.
State (Optional) Select an option to retrieve all merge requests with the selected status. You can select one of the following options:
  • Opened
  • Closed
  • Locked
  • Merged
Leave the parameter blank to fetch all merge requests regardless of their state.
Source Branch (Optional) Specify the source branch of the merge requests to filter the results.
Target Branch (Optional) Specify the target branch of the merge requests to filter the results.
Order By (Optional) Select the sorting criteria to sort the results. You can select from the following options:
  • ID
  • Name
  • Path
  • Created Date
  • Updated Date
  • Last Activity
Default sorting criteria is Created Date.
Sort Order (Optional) Select the sort order to sort the results. You can select from the following options:
  • Ascending
  • Descending
Default sort order is Descending.
Page (Optional) Specify the page number from which to return the results of the operation. By default, this value is set to 1.
Per Page (Optional) Specify the number of results, per page, that this operation should return. By default, this value is set to 20; and the maximum value you can specify for this parameter is 100.
Other Fields (Optional) Specify other fields in the JSON format. For more information about other fields, see https://docs.gitlab.com/ee/api/rest/index.html.

Output

The output contains the following populated JSON schema:

[
    {
        "id": "",
        "iid": "",
        "project_id": "",
        "title": "",
        "description": "",
        "state": "",
        "merged_by": {
            "id": "",
            "name": "",
            "username": "",
            "state": "",
            "avatar_url": "",
            "web_url": ""
        },
        "merge_user": {
            "id": "",
            "name": "",
            "username": "",
            "state": "",
            "avatar_url": "",
            "web_url": ""
        },
        "merged_at": "",
        "prepared_at": "",
        "closed_by": "",
        "closed_at": "",
        "created_at": "",
        "updated_at": "",
        "target_branch": "",
        "source_branch": "",
        "upvotes": "",
        "downvotes": "",
        "author": {
            "id": "",
            "name": "",
            "username": "",
            "state": "",
            "avatar_url": "",
            "web_url": ""
        },
        "assignee": {
            "id": "",
            "name": "",
            "username": "",
            "state": "",
            "avatar_url": "",
            "web_url": ""
        },
        "assignees": [
            {
                "name": "",
                "username": "",
                "id": "",
                "state": "",
                "avatar_url": "",
                "web_url": ""
            }
        ],
        "reviewers": [
            {
                "id": "",
                "name": "",
                "username": "",
                "state": "",
                "avatar_url": "",
                "web_url": ""
            }
        ],
        "source_project_id": "",
        "target_project_id": "",
        "labels": [],
        "draft": "",
        "work_in_progress": "",
        "milestone": {
            "id": "",
            "iid": "",
            "project_id": "",
            "title": "",
            "description": "",
            "state": "",
            "created_at": "",
            "updated_at": "",
            "due_date": "",
            "start_date": "",
            "web_url": ""
        },
        "merge_when_pipeline_succeeds": "",
        "merge_status": "",
        "detailed_merge_status": "",
        "sha": "",
        "merge_commit_sha": "",
        "squash_commit_sha": "",
        "user_notes_count": "",
        "discussion_locked": "",
        "should_remove_source_branch": "",
        "force_remove_source_branch": "",
        "allow_collaboration": "",
        "allow_maintainer_to_push": "",
        "web_url": "",
        "references": {
            "short": "",
            "relative": "",
            "full": ""
        },
        "time_stats": {
            "time_estimate": "",
            "total_time_spent": "",
            "human_time_estimate": "",
            "human_total_time_spent": ""
        },
        "squash": "",
        "task_completion_status": {
            "count": "",
            "completed_count": ""
        },
        "has_conflicts": "",
        "blocking_discussions_resolved": ""
    }
]

operation: Update Merge Request

Input parameters

Parameter Description
Repository Type Select the type of the repository in which to update the merge request. You can select from the following options:
  • Organization/Group: Specify the name of the organization/group on GitLab, in which to update the merge request, in the Organization/Group Name field.
  • User: Specify the name of the repository owner on GitLab, in which to update the merge request, in the Repository Owner field.
Repository Name Specify the name of the repository in which to update the merge request.
Merge Request IID Specify The internal ID (IID) of a merge request to update.
Title of MR Specify a title to update in the merge request being updated in the GitLab repository.
Assignee Names (Optional) Specify the comma separated value of the names of the users to assign the merge request to. Set to 0 to unassign all assignees.
Reviewer Names (Optional) Specify the comma separated value of the names of the users to set as a reviewer to the merge request. Set the value to 0 to unset all reviewers.
Target Branch Specify the target branch, in which to merge the changes, to update in the merge request.
State (Optional) Select to update the state of the merge request. You can select from following options:
  • Reopen
  • Close
Description (Optional) Specify a short description to update in the merge request being updated in the GitLab repository.
Remove Source Branch after Merging (Optional) Select if the source branch is to be deleted after the merge completes.
Other Fields (Optional) Specify other fields in the JSON format. For more information about other fields, see https://docs.gitlab.com/ee/api/rest/index.html.

Output

The output contains the following populated JSON schema:

{
    "id": "",
    "iid": "",
    "project_id": "",
    "title": "",
    "description": "",
    "state": "",
    "created_at": "",
    "updated_at": "",
    "target_branch": "",
    "source_branch": "",
    "upvotes": "",
    "downvotes": "",
    "author": {
        "id": "",
        "name": "",
        "username": "",
        "state": "",
        "avatar_url": "",
        "web_url": ""
    },
    "assignee": {
        "id": "",
        "name": "",
        "username": "",
        "state": "",
        "avatar_url": "",
        "web_url": ""
    },
    "assignees": [
        {
            "name": "",
            "username": "",
            "id": "",
            "state": "",
            "avatar_url": "",
            "web_url": ""
        }
    ],
    "reviewers": [
        {
            "name": "",
            "username": "",
            "id": "",
            "state": "",
            "avatar_url": "",
            "web_url": ""
        }
    ],
    "source_project_id": "",
    "target_project_id": "",
    "labels": [],
    "draft": "",
    "work_in_progress": "",
    "milestone": {
        "id": "",
        "iid": "",
        "project_id": "",
        "title": "",
        "description": "",
        "state": "",
        "created_at": "",
        "updated_at": "",
        "due_date": "",
        "start_date": "",
        "web_url": ""
    },
    "merge_when_pipeline_succeeds": "",
    "merge_status": "",
    "detailed_merge_status": "",
    "merge_error": "",
    "sha": "",
    "merge_commit_sha": "",
    "squash_commit_sha": "",
    "user_notes_count": "",
    "discussion_locked": "",
    "should_remove_source_branch": "",
    "force_remove_source_branch": "",
    "allow_collaboration": "",
    "allow_maintainer_to_push": "",
    "web_url": "",
    "references": {
        "short": "",
        "relative": "",
        "full": ""
    },
    "time_stats": {
        "time_estimate": "",
        "total_time_spent": "",
        "human_time_estimate": "",
        "human_total_time_spent": ""
    },
    "squash": "",
    "subscribed": "",
    "changes_count": "",
    "merged_by": {
        "id": "",
        "name": "",
        "username": "",
        "state": "",
        "avatar_url": "",
        "web_url": ""
    },
    "merge_user": {
        "id": "",
        "name": "",
        "username": "",
        "state": "",
        "avatar_url": "",
        "web_url": ""
    },
    "merged_at": "",
    "prepared_at": "",
    "closed_by": "",
    "closed_at": "",
    "latest_build_started_at": "",
    "latest_build_finished_at": "",
    "first_deployed_to_production_at": "",
    "pipeline": {
        "id": "",
        "sha": "",
        "ref": "",
        "status": "",
        "web_url": ""
    },
    "diff_refs": {
        "base_sha": "",
        "head_sha": "",
        "start_sha": ""
    },
    "diverged_commits_count": "",
    "task_completion_status": {
        "count": "",
        "completed_count": ""
    }
}

operation: List Merge Request Reviewers

Input parameters

Parameter Description
Repository Type Select the type of the repository from which to retrieve the list of merge request reviewers. You can select from the following options:
  • Organization/Group: Specify the name of the organization/group on GitLab, from which to retrieve the list of merge request reviewers, in the Organization/Group Name field.
  • User: Specify the name of the repository owner on GitLab, from which to create the list of merge request reviewers, in the Repository Owner field.
Repository Name Specify the name of the repository from which to retrieve the list of merge request reviewers.
Merge Request IID Specify The internal ID (IID) of a merge request to retrieve its reviewers.

Output

The output contains the following populated JSON schema:

[
    {
        "user": {
            "id": "",
            "name": "",
            "username": "",
            "state": "",
            "avatar_url": "",
            "web_url": ""
        },
        "state": "",
        "created_at": ""
    }
]

operation: Create Merge Request Comment

Input parameters

Parameter Description
Repository Type Select the type of the repository in which to create a merge request comment. You can select from the following options:
  • Organization/Group: Specify the name of the organization/group on GitLab, in which to create a merge request comment, in the Organization/Group Name field.
  • User: Specify the name of the repository owner on GitLab, in which to create a merge request comment, in the Repository Owner field.
Repository Name Specify the name of the repository in which to create the merge request comment.
Merge Request IID Specify The internal ID (IID) of a merge request to create the comment.
Description Specify text for the merge request comment. The maximum limit is 1,000,000 characters.
Other Fields (Optional) Specify other fields in the JSON format. For more information about other fields, see https://docs.gitlab.com/ee/api/rest/index.html.

Output

The output contains the following populated JSON schema:

{
    "project_id": "",
    "id": "",
    "created_at": "",
    "iid": "",
    "title": "",
    "state": "",
    "assignees": [],
    "assignee": "",
    "type": "",
    "labels": [],
    "upvotes": "",
    "downvotes": "",
    "merge_requests_count": "",
    "author": {
        "name": "",
        "avatar_url": "",
        "state": "",
        "web_url": "",
        "id": "",
        "username": ""
    },
    "description": "",
    "updated_at": "",
    "closed_at": "",
    "closed_by": "",
    "milestone": "",
    "subscribed": "",
    "user_notes_count": "",
    "due_date": "",
    "web_url": "",
    "references": {
        "short": "",
        "relative": "",
        "full": ""
    },
    "time_stats": {
        "time_estimate": "",
        "total_time_spent": "",
        "human_time_estimate": "",
        "human_total_time_spent": ""
    },
    "confidential": "",
    "discussion_locked": "",
    "issue_type": "",
    "severity": "",
    "_links": {
        "self": "",
        "notes": "",
        "award_emoji": "",
        "project": "",
        "closed_as_duplicate_of": ""
    },
    "task_completion_status": {
        "count": "",
        "completed_count": ""
    }
}

operation: List Merge Request Comments

Input parameters

Parameter Description
Repository Type Select the type of the repository from which to retrieve the merge request comments. You can select from the following options:
  • Organization/Group: Specify the name of the organization/group on GitLab, from which to retrieve the merge request comments, in the Organization/Group Name field.
  • User: Specify the name of the repository owner on GitLab, from which to retrieve the merge request comments, in the Repository Owner field.
Repository Name Specify the name of the repository from whose merge request the comments are to be retrieved.
Merge Request IID Specify The internal ID (IID) of a merge request whose comments are to be retrieved.
Order By (Optional) Select the sorting criteria to sort the results. You can select from the following options:
  • Created Date
  • Updated Date
Default sorting criteria is Created Date.
Sort Order (Optional) Select the sort order to sort the results. You can select from the following options:
  • Ascending
  • Descending
Default sort order is Descending.

Output

The output contains the following populated JSON schema:

[
    {
        "id": "",
        "body": "",
        "attachment": "",
        "author": {
            "id": "",
            "username": "",
            "email": "",
            "name": "",
            "state": "",
            "created_at": ""
        },
        "created_at": "",
        "updated_at": "",
        "system": "",
        "noteable_id": "",
        "noteable_type": "",
        "project_id": "",
        "noteable_iid": "",
        "resolvable": "",
        "confidential": "",
        "internal": ""
    }
]

operation: Merge a Merge Request

Input parameters

Parameter Description
Repository Type Select the type of the repository in which to merge the merge request. You can select from the following options:
  • Organization/Group: Specify the name of the organization/group on GitLab, in which to merge the merge request, in the Organization/Group Name field.
  • User: Specify the name of the repository owner on GitLab, in which to merge the merge request, in the Repository Owner field.
Repository Name Specify the name of the repository in which to merge the merge request.
Merge Request IID Specify The internal ID (IID) of a merge request to merge.
Merge Commit Message (Optional) Specify a message to attach to the merge commit.
Remove Source Branch after Merging (Optional) Select if the source branch is to be deleted after the merge completes.
Other Fields (Optional) Specify other fields in the JSON format. For more information about other fields, see https://docs.gitlab.com/ee/api/rest/index.html.

Output

The output contains the following populated JSON schema:

{
    "id": "",
    "iid": "",
    "project_id": "",
    "title": "",
    "description": "",
    "state": "",
    "created_at": "",
    "updated_at": "",
    "target_branch": "",
    "source_branch": "",
    "upvotes": "",
    "downvotes": "",
    "author": {
        "id": "",
        "name": "",
        "username": "",
        "state": "",
        "avatar_url": "",
        "web_url": ""
    },
    "assignee": {
        "id": "",
        "name": "",
        "username": "",
        "state": "",
        "avatar_url": "",
        "web_url": ""
    },
    "assignees": [
        {
            "name": "",
            "username": "",
            "id": "",
            "state": "",
            "avatar_url": "",
            "web_url": ""
        }
    ],
    "reviewers": [
        {
            "name": "",
            "username": "",
            "id": "",
            "state": "",
            "avatar_url": "",
            "web_url": ""
        }
    ],
    "source_project_id": "",
    "target_project_id": "",
    "labels": [],
    "draft": "",
    "work_in_progress": "",
    "milestone": {
        "id": "",
        "iid": "",
        "project_id": "",
        "title": "",
        "description": "",
        "state": "",
        "created_at": "",
        "updated_at": "",
        "due_date": "",
        "start_date": "",
        "web_url": ""
    },
    "merge_when_pipeline_succeeds": "",
    "merge_status": "",
    "detailed_merge_status": "",
    "merge_error": "",
    "sha": "",
    "merge_commit_sha": "",
    "squash_commit_sha": "",
    "user_notes_count": "",
    "discussion_locked": "",
    "should_remove_source_branch": "",
    "force_remove_source_branch": "",
    "allow_collaboration": "",
    "allow_maintainer_to_push": "",
    "web_url": "",
    "references": {
        "short": "",
        "relative": "",
        "full": ""
    },
    "time_stats": {
        "time_estimate": "",
        "total_time_spent": "",
        "human_time_estimate": "",
        "human_total_time_spent": ""
    },
    "squash": "",
    "subscribed": "",
    "changes_count": "",
    "merged_by": {
        "id": "",
        "name": "",
        "username": "",
        "state": "",
        "avatar_url": "",
        "web_url": ""
    },
    "merge_user": {
        "id": "",
        "name": "",
        "username": "",
        "state": "",
        "avatar_url": "",
        "web_url": ""
    },
    "merged_at": "",
    "prepared_at": "",
    "closed_by": "",
    "closed_at": "",
    "latest_build_started_at": "",
    "latest_build_finished_at": "",
    "first_deployed_to_production_at": "",
    "pipeline": {
        "id": "",
        "sha": "",
        "ref": "",
        "status": "",
        "web_url": ""
    },
    "diff_refs": {
        "base_sha": "",
        "head_sha": "",
        "start_sha": ""
    },
    "diverged_commits_count": "",
    "task_completion_status": {
        "count": "",
        "completed_count": ""
    }
}

operation: Create Issue

Input parameters

Parameter Description
Repository Type Select the type of the repository in which to create the issue. You can select from the following options:
  • Organization/Group: Specify the name of the organization/group on GitLab, in which to create the issue, in the Organization/Group Name field.
  • User: Specify the name of the repository owner on GitLab, in which to create the issue, in the Repository Owner field.
Repository Name Specify the name of the repository in which to create the issue.
Title of Issue Specify title of issue being created in the GitLab repository.
Description (Optional) Specify a short description for the issue being created.
Assignee Name (Optional) Specify the the name of the user to whom to assign the issue.
Assignee Names (Optional) Specify a comma-separated list of users to whom to assign the issue.
Labels (Optional) Specify a comma-separated list of label names to be assigned to the issue.
Other Fields (Optional) Specify other fields in the JSON format. For more information about other fields, see https://docs.gitlab.com/ee/api/rest/index.html.

Output

The output contains the following populated JSON schema:

{
    "project_id": "",
    "id": "",
    "created_at": "",
    "iid": "",
    "title": "",
    "state": "",
    "assignees": [],
    "assignee": "",
    "type": "",
    "labels": [],
    "upvotes": "",
    "downvotes": "",
    "merge_requests_count": "",
    "author": {
        "name": "",
        "avatar_url": "",
        "state": "",
        "web_url": "",
        "id": "",
        "username": ""
    },
    "description": "",
    "updated_at": "",
    "closed_at": "",
    "closed_by": "",
    "milestone": "",
    "subscribed": "",
    "user_notes_count": "",
    "due_date": "",
    "web_url": "",
    "references": {
        "short": "",
        "relative": "",
        "full": ""
    },
    "time_stats": {
        "time_estimate": "",
        "total_time_spent": "",
        "human_time_estimate": "",
        "human_total_time_spent": ""
    },
    "confidential": "",
    "discussion_locked": "",
    "issue_type": "",
    "severity": "",
    "_links": {
        "self": "",
        "notes": "",
        "award_emoji": "",
        "project": "",
        "closed_as_duplicate_of": ""
    },
    "task_completion_status": {
        "count": "",
        "completed_count": ""
    }
}

operation: List Repository Issues

Input parameters

Parameter Description
Repository Type Select the type of the repository from which to retrieve the list of issues. You can select from the following options:
  • Organization/Group: Specify the name of the organization/group on GitLab, from which to retrieve the list of issues, in the Organization/Group Name field.
  • User: Specify the name of the repository owner on GitLab, from which to retrieve the list of issues, in the Repository Owner field.
Repository Name Specify the name of the repository from which to retrieve the list of issues.
Assignee Name (Optional) Specify the the name of the user whose assigned issues are to be retrieved.
State (Optional) Select the state of the issues to retrieve. You can select from the following options:
  • Opened
  • Closed
Leave the parameter blank to fetch all issues regardless of their state.
Created After (Optional) Specify the time to retrieve issues which were created after the specified time.
Since (Optional) Specify the time to retrieve the issues which is updated after specified time.
Order By (Optional) Select the sorting criteria to sort the results. You can select from the following options:
  • Created Date
  • Updated Date
  • Priority
  • Due Date
  • Relative Position
  • Label Priority
  • Milestone Due
  • Popularity
  • Weight
  • Default is Created Date.
Default sorting criteria is Created Date.
Sort Order (Optional) Select the sort order to sort the results. You can select from the following options:
  • Ascending
  • Descending
Default sort order is Descending.
Page (Optional) Specify the page number from which to return the results of the operation. By default, this value is set to 1.
Per Page (Optional) Specify the number of results, per page, that this operation should return. By default, this value is set to 20; and the maximum value you can specify for this parameter is 100.
Other Fields (Optional) Specify other fields in the JSON format. For more information about other fields, see https://docs.gitlab.com/ee/api/rest/index.html.

Output

The output contains the following populated JSON schema:

[
    {
        "project_id": "",
        "milestone": {
            "due_date": "",
            "project_id": "",
            "state": "",
            "description": "",
            "iid": "",
            "id": "",
            "title": "",
            "created_at": "",
            "updated_at": ""
        },
        "author": {
            "state": "",
            "web_url": "",
            "avatar_url": "",
            "username": "",
            "id": "",
            "name": ""
        },
        "description": "",
        "state": "",
        "iid": "",
        "assignees": [
            {
                "avatar_url": "",
                "web_url": "",
                "state": "",
                "username": "",
                "id": "",
                "name": ""
            }
        ],
        "assignee": {
            "avatar_url": "",
            "web_url": "",
            "state": "",
            "username": "",
            "id": "",
            "name": ""
        },
        "type": "",
        "labels": [],
        "upvotes": "",
        "downvotes": "",
        "merge_requests_count": "",
        "id": "",
        "title": "",
        "updated_at": "",
        "created_at": "",
        "closed_at": "",
        "closed_by": {
            "state": "",
            "web_url": "",
            "avatar_url": "",
            "username": "",
            "id": "",
            "name": ""
        },
        "user_notes_count": "",
        "due_date": "",
        "web_url": "",
        "references": {
            "short": "",
            "relative": "",
            "full": ""
        },
        "time_stats": {
            "time_estimate": "",
            "total_time_spent": "",
            "human_time_estimate": "",
            "human_total_time_spent": ""
        },
        "has_tasks": "",
        "task_status": "",
        "confidential": "",
        "discussion_locked": "",
        "issue_type": "",
        "severity": "",
        "_links": {
            "self": "",
            "notes": "",
            "award_emoji": "",
            "project": "",
            "closed_as_duplicate_of": ""
        },
        "task_completion_status": {
            "count": "",
            "completed_count": ""
        }
    }
]

operation: Update Issue

Input parameters

Parameter Description
Repository Type Select the type of the repository in which to update the issue. You can select from the following options:
  • Organization/Group: Specify the name of the organization/group on GitLab, in which to update the issue, in the Organization/Group Name field.
  • User: Specify the name of the repository owner on GitLab, in which to update the issue, in the Repository Owner field.
Repository Name Specify the name of the repository whose issues are to be updated on GitLab.
Issue IID Specify The internal ID (IID) of the issue to update.
Title of Issue Specify title of issue to update.
Description (Optional) Specify a short updated description of the issue to update.
Assignee Names (Optional) Specify a comma-separated list of users to whom to assign the issue. Set to 0 or leave the parameter blank to remove all assignees.
Confidential (Optional) Select True if the issue is to be marked confidential, select False to mark the issue as non-confidential, or leave it blank to ignore the confidentiality status.
Issue Type (Optional) Select the type of the issue to update. You can choose from the following options:
  • Issue
  • Incident
  • Test Case
State (Optional) Select the state of the issue to update. You can choose from the following options:
  • Close
  • Reopen
Labels (Optional) Specify a comma-separated list of label names to be assigned to an issue.

NOTE: Existing labels are removed when applying the specified list.

Due Date (Optional) Specify a due date for the issue.
Other Fields (Optional) Specify other fields in the JSON format. For more information about other fields, see https://docs.gitlab.com/ee/api/rest/index.html.

Output

The output contains the following populated JSON schema:

{
    "project_id": "",
    "id": "",
    "created_at": "",
    "iid": "",
    "title": "",
    "state": "",
    "assignees": [],
    "assignee": "",
    "type": "",
    "labels": [],
    "upvotes": "",
    "downvotes": "",
    "merge_requests_count": "",
    "author": {
        "name": "",
        "avatar_url": "",
        "state": "",
        "web_url": "",
        "id": "",
        "username": ""
    },
    "description": "",
    "updated_at": "",
    "closed_at": "",
    "closed_by": "",
    "milestone": "",
    "subscribed": "",
    "user_notes_count": "",
    "due_date": "",
    "web_url": "",
    "references": {
        "short": "",
        "relative": "",
        "full": ""
    },
    "time_stats": {
        "time_estimate": "",
        "total_time_spent": "",
        "human_time_estimate": "",
        "human_total_time_spent": ""
    },
    "confidential": "",
    "discussion_locked": "",
    "issue_type": "",
    "severity": "",
    "_links": {
        "self": "",
        "notes": "",
        "award_emoji": "",
        "project": "",
        "closed_as_duplicate_of": ""
    },
    "task_completion_status": {
        "count": "",
        "completed_count": ""
    }
}

operation: Create Issue Comment

Input parameters

Parameter Description
Repository Type Select the type of the repository in which to create the issue comment. You can select from the following options:
  • Organization/Group: Specify the name of the organization/group on GitLab, in which to create the issue comment, in the Organization/Group Name field.
  • User: Specify the name of the repository owner on GitLab, in which to create the issue comment, in the Repository Owner field.
Repository Name Specify the name of the repository in which to create the issue comment.
Issue IID Specify The internal ID (IID) of issue to create the comment.
Comment Specify the text for the issue comment. The maximum limit is 1,000,000 characters.
Confidential (Optional) Select True if the issue is to be marked confidential, select False to mark the issue as non-confidential, or leave it blank to ignore the confidentiality status.
Other Fields (Optional) Specify other fields in the JSON format. For more information about other fields, see https://docs.gitlab.com/ee/api/rest/index.html.

Output

The output contains the following populated JSON schema:

{
    "project_id": "",
    "id": "",
    "created_at": "",
    "iid": "",
    "title": "",
    "state": "",
    "assignees": [],
    "assignee": "",
    "type": "",
    "labels": [],
    "upvotes": "",
    "downvotes": "",
    "merge_requests_count": "",
    "author": {
        "name": "",
        "avatar_url": "",
        "state": "",
        "web_url": "",
        "id": "",
        "username": ""
    },
    "description": "",
    "updated_at": "",
    "closed_at": "",
    "closed_by": "",
    "milestone": "",
    "subscribed": "",
    "user_notes_count": "",
    "due_date": "",
    "web_url": "",
    "references": {
        "short": "",
        "relative": "",
        "full": ""
    },
    "time_stats": {
        "time_estimate": "",
        "total_time_spent": "",
        "human_time_estimate": "",
        "human_total_time_spent": ""
    },
    "confidential": "",
    "discussion_locked": "",
    "issue_type": "",
    "severity": "",
    "_links": {
        "self": "",
        "notes": "",
        "award_emoji": "",
        "project": "",
        "closed_as_duplicate_of": ""
    },
    "task_completion_status": {
        "count": "",
        "completed_count": ""
    }
}

operation: Create Release

Input parameters

Parameter Description
Repository Type Select the type of the repository in which to create the release. You can select from the following options:
  • Organization/Group: Specify the name of the organization/group on GitLab, in which to create the release, in the Organization/Group Name field.
  • User: Specify the name of the repository owner on GitLab, in which to create the release, in the Repository Owner field.
Repository Name Specify the name of the repository in which to create the release.
Tag Name Specify the tag from where the release is created.
Target Branch (Optional) Specify the branch name from where the release tag is to be created.

NOTE: This field is mandatory if no tags exist. If a tag exists, it does not update the existing tag.

Tag Message (Optional) Specify the message to use if creating a new annotated tag.
Name of Release (Optional) Specify a name of release that you want to create in the GitLab repository.
Description (Optional) Specify a short description of the release you want to create on GitLab
Other Fields (Optional) Specify other fields in the JSON format. For more information about other fields, see https://docs.gitlab.com/ee/api/rest/index.html.

Output

The output contains the following populated JSON schema:

{
    "tag_name": "",
    "description": "",
    "name": "",
    "created_at": "",
    "released_at": "",
    "author": {
        "id": "",
        "name": "",
        "username": "",
        "state": "",
        "avatar_url": "",
        "web_url": ""
    },
    "commit": {
        "id": "",
        "short_id": "",
        "title": "",
        "created_at": "",
        "parent_ids": [],
        "message": "",
        "author_name": "",
        "author_email": "",
        "authored_date": "",
        "committer_name": "",
        "committer_email": "",
        "committed_date": ""
    },
    "milestones": [
        {
            "id": "",
            "iid": "",
            "project_id": "",
            "title": "",
            "description": "",
            "state": "",
            "created_at": "",
            "updated_at": "",
            "due_date": "",
            "start_date": "",
            "web_url": "",
            "issue_stats": {
                "total": "",
                "closed": ""
            }
        }
    ],
    "commit_path": "",
    "tag_path": "",
    "evidence_sha": "",
    "assets": {
        "count": "",
        "sources": [
            {
                "format": "",
                "url": ""
            }
        ],
        "links": [
            {
                "id": "",
                "name": "",
                "url": "",
                "link_type": ""
            }
        ],
        "evidence_file_path": ""
    }
}

operation: List Releases

Input parameters

Parameter Description
Repository Type Select the type of the repository from which to retrieve the list of releases. You can select from the following options:
  • Organization/Group: Specify the name of the organization/group on GitLab, from which to retrieve the list of releases, in the Organization/Group Name field.
  • User: Specify the name of the repository owner on GitLab, from which to retrieve the list of releases, in the Repository Owner field.
Repository Name Specify the name of the repository from which to retrieve the list of releases.
Order By (Optional) Select the sorting criteria to sort the results. You can select from the following options:
  • Released Date
  • Created Date
Default sorting criteria is Released Date.
Sort Order (Optional) Select the sort order to sort the results. You can select from the following options:
  • Ascending
  • Descending
Default sort order is Descending.
Page (Optional) Specify the page number from which to return the results of the operation. By default, this value is set to 1.
Per Page (Optional) Specify the number of results, per page, that this operation should return. By default, this value is set to 20; and the maximum value you can specify for this parameter is 100.
Other Fields (Optional) Specify other fields in the JSON format. For more information about other fields, see https://docs.gitlab.com/ee/api/rest/index.html.

Output

The output contains the following populated JSON schema:

[
    {
        "tag_name": "",
        "description": "",
        "name": "",
        "created_at": "",
        "released_at": "",
        "author": {
            "id": "",
            "name": "",
            "username": "",
            "state": "",
            "avatar_url": "",
            "web_url": ""
        },
        "commit": {
            "id": "",
            "short_id": "",
            "title": "",
            "created_at": "",
            "parent_ids": [],
            "message": "",
            "author_name": "",
            "author_email": "",
            "authored_date": "",
            "committer_name": "",
            "committer_email": "",
            "committed_date": ""
        },
        "milestones": [
            {
                "id": "",
                "iid": "",
                "project_id": "",
                "title": "",
                "description": "",
                "state": "",
                "created_at": "",
                "updated_at": "",
                "due_date": "",
                "start_date": "",
                "web_url": "",
                "issue_stats": {
                    "total": "",
                    "closed": ""
                }
            }
        ],
        "commit_path": "",
        "tag_path": "",
        "assets": {
            "count": "",
            "sources": [
                {
                    "format": "",
                    "url": ""
                }
            ],
            "links": [
                {
                    "id": "",
                    "name": "",
                    "url": "",
                    "link_type": ""
                }
            ],
            "evidence_file_path": ""
        },
        "evidences": [
            {
                "sha": "",
                "filepath": "",
                "collected_at": ""
            }
        ]
    }
]

operation: Star Repository

Input parameters

Parameter Description
Repository Type Select the type of the repository which is to be starred. You can select from the following options:
  • Organization/Group: Specify the name of the organization/group on GitLab, which is to be starred, in the Organization/Group Name field.
  • User: Specify the name of the repository owner on GitLab, which is to be starred, in the Repository Owner field.
Repository Name Specify the name of the repository which is to be starred.

Output

The output contains the following populated JSON schema:

{
    "id": "",
    "description": "",
    "description_html": "",
    "default_branch": "",
    "visibility": "",
    "ssh_url_to_repo": "",
    "http_url_to_repo": "",
    "web_url": "",
    "readme_url": "",
    "tag_list": [],
    "topics": [],
    "name": "",
    "name_with_namespace": "",
    "path": "",
    "path_with_namespace": "",
    "issues_enabled": "",
    "open_issues_count": "",
    "merge_requests_enabled": "",
    "jobs_enabled": "",
    "wiki_enabled": "",
    "snippets_enabled": "",
    "can_create_merge_request_in": "",
    "resolve_outdated_diff_discussions": "",
    "container_registry_enabled": "",
    "container_registry_access_level": "",
    "security_and_compliance_access_level": "",
    "created_at": "",
    "updated_at": "",
    "last_activity_at": "",
    "creator_id": "",
    "namespace": {
        "id": "",
        "name": "",
        "path": "",
        "kind": "",
        "full_path": ""
    },
    "import_status": "",
    "archived": "",
    "avatar_url": "",
    "license_url": "",
    "license": {
        "key": "",
        "name": "",
        "nickname": "",
        "html_url": "",
        "source_url": ""
    },
    "shared_runners_enabled": "",
    "group_runners_enabled": "",
    "forks_count": "",
    "star_count": "",
    "public_jobs": "",
    "shared_with_groups": [],
    "only_allow_merge_if_pipeline_succeeds": "",
    "allow_merge_on_skipped_pipeline": "",
    "restrict_user_defined_variables": "",
    "only_allow_merge_if_all_discussions_are_resolved": "",
    "remove_source_branch_after_merge": "",
    "request_access_enabled": "",
    "merge_method": "",
    "squash_option": "",
    "autoclose_referenced_issues": "",
    "enforce_auth_checks_on_uploads": "",
    "suggestion_commit_message": "",
    "merge_commit_template": "",
    "container_registry_image_prefix": "",
    "_links": {
        "self": "",
        "issues": "",
        "merge_requests": "",
        "repo_branches": "",
        "labels": "",
        "events": "",
        "members": "",
        "cluster_agents": ""
    }
}

operation: List Starrers

Input parameters

Parameter Description
Repository Type Select the type of the repository from which to retrieve the list of starrers (users who have starred a repository). You can select from the following options:
  • Organization/Group: Specify the name of the organization/group on GitLab, from which to retrieve the list of starrers, in the Organization/Group Name field.
  • User: Specify the name of the repository owner on GitLab, from which to retrieve the list of starrers, in the Repository Owner field.
Repository Name Specify the name of the repository from which to retrieve the list of starrers.
Search (Optional) Specify a search string using which to search for specific users.

Output

The output contains the following populated JSON schema:

[
    {
        "starred_since": "",
        "user": {
            "id": "",
            "username": "",
            "name": "",
            "state": "",
            "avatar_url": "",
            "web_url": ""
        }
    }
]

operation: Update Repository Notification Level

Input parameters

Parameter Description
Repository Type Select the type of the repository whose notification level is to be updated. You can select from the following options:
  • Organization/Group: Specify the name of the organization/group on GitLab, whose notification level is to be updated, in the Organization/Group Name field.
  • User: Specify the name of the repository owner on GitLab, whose notification level is to be updated, in the Repository Owner field.
Repository Name Specify the name of the repository whose notification level is to be updated.
Notification Level Specify the notification level to be updated. You can select from following options:
  • Disabled: Select this option to stop notifications.
  • Participating: Select this option to receive notifications for threads in which users have participated.
  • Watch: Select this option to receive notifications for any activity.
  • Global: Select this option to apply user's global settings.
  • Mention: Select this option to receive notifications when users are mentioned in a comment.
  • Custom: Select this option to receive notifications for selected events and threads in which users have participated. Select one or more from the following options:
    • Added as approver
    • Change reviewer merge request
    • Close issue
    • Close merge request
    • Failed pipeline
    • Fixed pipeline
    • Issue due
    • Merge merge request
    • Merge when pipeline succeeds
    • Moved project
    • New epic
    • New issue
    • New merge request
    • New note
    • New release
    • Push to merge request
    • Reassign issue
    • Reassign merge request
    • Reopen issue
    • Reopen merge request
    • Successful pipeline
Other Fields (Optional) Specify other fields in the JSON format. For more information about other fields, see https://docs.gitlab.com/ee/api/rest/index.html.

Output

The output contains the following populated JSON schema:

{
    "level": "",
    "events": {
        "new_note": "",
        "new_issue": "",
        "reopen_issue": "",
        "close_issue": "",
        "reassign_issue": "",
        "issue_due": "",
        "new_merge_request": "",
        "push_to_merge_request": "",
        "reopen_merge_request": "",
        "close_merge_request": "",
        "reassign_merge_request": "",
        "merge_merge_request": "",
        "failed_pipeline": "",
        "fixed_pipeline": "",
        "success_pipeline": ""
    }
}

operation: Update Remote Repository

Input parameters

Parameter Description
FortiSOAR File IRI Specify the FortiSOAR file IRI whose changes replace in the specified local repository.
Cloned Repository Path Specify the path of the cloned repository to which to apply the changes of the specified FortiSOAR file.

Output

The output contains a non-dictionary value.

operation: Clone Repository

Input parameters

Parameter Description
Repository Type Select the type of the repository to clone. You can select from the following options:
  • Organization/Group: Specify the name of the organization/group on GitLab, to clone, in the Organization/Group Name field.
  • User: Specify the name of the repository owner on GitLab, to clone, in the Repository Owner field.
Repository Name Specify the name of the repository to clone.
Branch Name Specify the branch name of the repository to clone.
Clone As ZIP Select this option to clone the specified repository as a zip file.
  • Archive Format: Select an archive format from the following options:
    • zip
    • tar.gz
    • tar
    • tar.bz2

Output

The output contains the following populated JSON schema:

{
    "path": ""
}

operation: Push Changes

Input parameters

Parameter Description
Repository Type Select the type of the repository in which to push the changes. You can select from the following options:
  • Organization/Group: Specify the name of the organization/group on GitLab, in which to push the changes, in the Organization/Group Name field.
  • User: Specify the name of the repository owner on GitLab, in which to push the changes, in the Repository Owner field.
Repository Name Specify the name of the repository in which to push the changes.
Cloned Repository Path Specify the path of the cloned repository in which to push the changes.
Branch Name Specify the name of the branch in which to push the changes.
Commit Message Specify the commit message to be used for pushing the changes.
Commit Description Specify the commit description to be used for pushing changes.

Output

The output contains the following populated JSON schema:

{
    "add": "",
    "commit": "",
    "push": ""
}

operation: Fetch Upstream

Input parameters

Parameter Description
Repository Type Select the type of the forked repository in which to fetch upstream changes. You can select from the following options:
  • Organization/Group: Specify the name of the organization/group on GitLab, in whose forked repository the upstream is to be fetched, in the Organization/Group Name field.
  • User: Specify the name of the repository owner on GitLab, in whose forked repository the upstream is to be fetched, in the Repository Owner field.
Repository Name Specify the name of the forked repository in which to fetch upstream changes.
Title of MR Specify a title of the merge request to create for the fork.
Source Branch Specify the source branch of the merge request to create for the fork.
Target Branch Specify the target branch of the merge request to create for the fork.
Description (Optional) Specify a short description of the merge request to create for the fork.

Output

The output contains the following populated JSON schema:

{
    "id": "",
    "iid": "",
    "project_id": "",
    "title": "",
    "description": "",
    "state": "",
    "created_at": "",
    "updated_at": "",
    "target_branch": "",
    "source_branch": "",
    "upvotes": "",
    "downvotes": "",
    "author": {
        "id": "",
        "name": "",
        "username": "",
        "state": "",
        "avatar_url": "",
        "web_url": ""
    },
    "assignee": {
        "id": "",
        "name": "",
        "username": "",
        "state": "",
        "avatar_url": "",
        "web_url": ""
    },
    "source_project_id": "",
    "target_project_id": "",
    "labels": [],
    "draft": "",
    "work_in_progress": "",
    "milestone": {
        "id": "",
        "iid": "",
        "project_id": "",
        "title": "",
        "description": "",
        "state": "",
        "created_at": "",
        "updated_at": "",
        "due_date": "",
        "start_date": "",
        "web_url": ""
    },
    "merge_when_pipeline_succeeds": "",
    "merge_status": "",
    "detailed_merge_status": "",
    "merge_error": "",
    "sha": "",
    "merge_commit_sha": "",
    "squash_commit_sha": "",
    "user_notes_count": "",
    "discussion_locked": "",
    "should_remove_source_branch": "",
    "force_remove_source_branch": "",
    "allow_collaboration": "",
    "allow_maintainer_to_push": "",
    "web_url": "",
    "references": {
        "short": "",
        "relative": "",
        "full": ""
    },
    "time_stats": {
        "time_estimate": "",
        "total_time_spent": "",
        "human_time_estimate": "",
        "human_total_time_spent": ""
    },
    "squash": "",
    "subscribed": "",
    "changes_count": "",
    "merged_by": {
        "id": "",
        "name": "",
        "username": "",
        "state": "",
        "avatar_url": "",
        "web_url": ""
    },
    "merge_user": {
        "id": "",
        "name": "",
        "username": "",
        "state": "",
        "avatar_url": "",
        "web_url": ""
    },
    "merged_at": "",
    "prepared_at": "",
    "closed_by": "",
    "closed_at": "",
    "latest_build_started_at": "",
    "latest_build_finished_at": "",
    "first_deployed_to_production_at": "",
    "pipeline": {
        "id": "",
        "sha": "",
        "ref": "",
        "status": "",
        "web_url": ""
    },
    "diff_refs": {
        "base_sha": "",
        "head_sha": "",
        "start_sha": ""
    },
    "diverged_commits_count": "",
    "task_completion_status": {
        "count": "",
        "completed_count": ""
    }
}

operation: Review Merge Request

Input parameters

Parameter Description
Repository Type Select the type of the repository in which to review the merge request. You can select from the following options:
  • Organization/Group: Specify the name of the organization/group on GitLab, in which to review the merge request, in the Organization/Group Name field.
  • User: Specify the name of the repository owner on GitLab, in which to review the merge request, in the Repository Owner field.
Repository Name Specify the name of the repository in which to review the merge request.
Merge Request IID Specify The internal ID (IID) of a merge request to review.
Action Select the action which you want to perform on the merge request. You can choose from following options:
  • Approve
  • Unapprove

Output

The output contains the following populated JSON schema:

Output schema when you choose "Action" "Approve":

{
    "id": "",
    "iid": "",
    "project_id": "",
    "title": "",
    "description": "",
    "state": "",
    "created_at": "",
    "updated_at": "",
    "merge_status": "",
    "approved": "",
    "approvals_required": "",
    "approvals_left": "",
    "require_password_to_approve": "",
    "approved_by": [
        {
            "user": {
                "id": "",
                "username": "",
                "name": "",
                "state": "",
                "locked": "",
                "avatar_url": "",
                "web_url": ""
            }
        }
    ],
    "suggested_approvers": [],
    "approvers": [],
    "approver_groups": [],
    "user_has_approved": "",
    "user_can_approve": "",
    "approval_rules_left": [],
    "has_approval_rules": "",
    "merge_request_approvers_available": "",
    "multiple_approval_rules_available": "",
    "invalid_approvers_rules": []
}

Output schema when you choose "Action" "Unapprove":

{
    "id": "",
    "iid": "",
    "project_id": "",
    "title": "",
    "description": "",
    "state": "",
    "created_at": "",
    "updated_at": "",
    "merge_status": "",
    "approved": "",
    "approvals_required": "",
    "approvals_left": "",
    "require_password_to_approve": "",
    "approved_by": [],
    "suggested_approvers": [],
    "approvers": [],
    "approver_groups": [],
    "user_has_approved": "",
    "user_can_approve": "",
    "approval_rules_left": [],
    "has_approval_rules": "",
    "merge_request_approvers_available": "",
    "multiple_approval_rules_available": "",
    "invalid_approvers_rules": []
}

operation: Get Approval State of Merge Request

Input parameters

Parameter Description
Repository Type Select the type of the repository from which to retrieve the merge request's approval state. You can select from the following options:
  • Organization/Group: Specify the name of the organization/group on GitLab, from which to retrieve the merge request's approval state, in the Organization/Group Name field.
  • User: Specify the name of the repository owner on GitLab, from which to retrieve the merge request's approval state, in the Repository Owner field.
Repository Name Specify the name of the repository from which to retrieve the merge request's approval state.
Merge Request IID Specify The internal ID (IID) of a merge request to retrieve its approval state.

Output

The output contains the following populated JSON schema:

{
    "rules": [
        {
            "id": "",
            "name": "",
            "users": [],
            "groups": [],
            "section": "",
            "approved": "",
            "rule_type": "",
            "code_owner": "",
            "overridden": "",
            "approved_by": [
                {
                    "id": "",
                    "name": "",
                    "state": "",
                    "locked": "",
                    "web_url": "",
                    "username": "",
                    "avatar_url": ""
                }
            ],
            "source_rule": "",
            "approvals_required": "",
            "eligible_approvers": [],
            "contains_hidden_groups": ""
        }
    ],
    "approval_rules_overwritten": ""
}

operation: Get Server URL

Input parameters

None.

Output

The output contains the following populated JSON schema:

{
    "server_url": ""
}

Included playbooks

The Sample - GitLab - 2.0.0 playbook collection comes bundled with the GitLab connector. These playbooks contain steps using which you can perform all supported actions. You can see bundled playbooks in the Automation > Playbooks section in FortiSOAR™ after importing the GitLab connector.

  • Add Member to Repository
  • Clone Repository
  • Create File
  • Create Issue
  • Create Issue Comment
  • Create Merge Request
  • Create Merge Request Comment
  • Create Release
  • Create Repository
  • Create Repository Branch
  • Create Repository Using Templates
  • Delete File
  • Delete Repository
  • Delete Repository Branch
  • Fetch Upstream
  • Fork Repository
  • Get Approval State of Merge Request
  • Get File
  • Get Member List of Repository
  • Get Repository Branch
  • GitLab - Add Pull Request Review
  • GitLab - Add Repository Collaborator
  • GitLab - Add Reviewers for a Pull Request
  • GitLab - Clone Repository
  • GitLab - Create Branch
  • GitLab - Create Issue
  • GitLab - Create Issue Comment
  • GitLab - Create Pull Request
  • GitLab - Create Release
  • GitLab - Create Repository
  • GitLab - Create or Update File Content
  • GitLab - Delete Branch
  • GitLab - Fetch Release
  • GitLab - List Pull Request
  • GitLab - List Pull Request Reviews
  • GitLab - List Repository Collaborator
  • GitLab - List Repository Issue
  • GitLab - Merge Pull Request
  • GitLab - Push Changes
  • GitLab - Update Issue
  • GitLab - Update Remote Repository
  • List Authenticated User Repositories
  • List Fork Repositories
  • List Group Repositories
  • List Merge Request Comments
  • List Merge Request Reviewers
  • List Releases
  • List Repository Branches
  • List Repository Issues
  • List Repository Merge Requests
  • List Starrers
  • List User Repositories
  • Merge a Merge Request
  • Push Changes
  • Review Merge Request
  • Star Repository
  • Update File
  • Update Issue
  • Update Merge Request
  • Update Remote Repository
  • Update Repository
  • Update Repository Notification Level
  • Get Server URL
  • GitLab - Get Server URL

Note: If you are planning to use any of the sample playbooks in your environment, ensure that you clone those playbooks and move them to a different collection since the sample playbook collection gets deleted during connector upgrade and delete.

Pluggable Source Control

NOTE: To use GitLab as a source control platform, all its associated playbooks must be in an active state.

The Sample - GitLab - 2.0.0 playbook collection contains pluggable source control that are used to perform actions through the Continuous Delivery solution pack. The pluggable source control playbooks are in the format: GitLab - playbookName. For example, GitLab - Create Repository.

Every playbook expects two input parameters:

  1. The first parameter should be connector_config_id which is used in connector actions' Configuration parameter.
  2. The second parameter is a dictionary containing connector action parameter names mapped to respective connector action parameters. Refer to the following table for more information on pluggable source control playbooks.

NOTE: To use GitLab as a source control platform, following playbooks must be in an active state.

Playbook Name Parameter Name Dictionary Required Tag Additional Information
GitLab - Add Pull Request Review add_pr_review_params
{ "org_name": "", "repo_name": "", "pull_number": "", "state": "" }
GitLab-AddPullRequestReview Not Required
GitLab - Update Issue update_issue_params
{ "org_name":"", "repo_name":"", "issue_no":"", "contents":"", "state":"" }
GitLab-UpdateIssue This playbook updates an issue and adds a comment using specified contents.
GitLab - Create Issue create_issue_params
{ "org_name":"", "repo_name":"", "issue_title":"", "issue_content":"", "issue_assignee":" " }
GitLab-CreateIssue This playbook creates issue and Add comment which will be provided in issue_content. Then we need to add new key "number" in response and map it with "iid" field from the response.
GitLab - List Repository Issue list_repo_issues_params
{ "org_name":"", "repo_name":"", "state":"", "created_after":"" }
GitLab-ListRepositoryIssue The last step of this playbook should be "Set Variable" step, where user should need to map the response of the "List Repository Issue" action with the following keys:
{"id": "", "html_url": "", "number": "", "title": "", "body": "", "reporterUsername": "", "assigneeUsername": "", "state": "", "repository_url": "" }
GitLab - Create Issue Comment add_issue_comment_params
{ "org_name":"", "repo_name":"", "cr_number":"", "commit_message":"" }
GitLab-CreateIssueComment Not Required
GitLab - Create Repository create_repo_params
{ "org_name":"", "repo_name":" " }
GitLab-CreateRepository "Create Repository" step should be set to Ignore Error Yes
GitLab - Create Branch create_branch_params
{ "org_name":"", "repo_name":"", "new_branch":"", "branch_name":"" }
GitLab-CreateBranch "Create Branch" step should be set Ignore Error Yes
GitLab - List Pull Request list_pr_params
{ "org_name": "", "repo_name": "", "state": "", "pull_number": "", }
GitLab-ListPullRequest The last step of this playbook should be "Set Variable" step, where user should need to map the response of "List Pull Request" action with below keys: { "reviewer_names": "", "html_url": "", "state": "", "body": "", "reporterUsername": "", "assigneeUsername": "", "repository_url": "" }
GitLab - Create Release create_release_params
{ "org_name":"", "repo_name":"", "tag_name":"", "base_branch":"", "release_description":"" }
GitLab-CreateRelease Not Required
GitLab - Delete Branch delete_branch_params
{ "org_name":"", "repo_name":"", "branch_name":"" }
GitLab-DeleteBranch Not Required
GitLab - Fetch Release fetch_release_params
{ "org_name":"", "repo_name":"", "release_name":"" }
GitLab-FetchRelease The last step of the playbook should be "Set Variable" step where user should return the Release matching the release_name key from input.
GitLab - Add Reviewers for a Pull Request add_reviewers_for_pr_params
{ "org_name":"", "repo_name":"", "pull_number":"", "reviewers":"" }
GitLab-PullRequestAddReviewers Note: This playbook will use "Update Merge Request" action to add reviewer
GitLab - List Pull Request Reviews list_pr_reviews_params
{ "org_name":"", "repo_name":"", "pull_number":"" }
GitLab-ListPullRequestReviews Keep Set Variable as the last step of this playbook where the key state has values APPROVED, if the pull request can be merged, or UNAPPROVED, if the PR cannot be merged.
GitLab - Create Pull Request create_pr_params
{ "org_name":"", "repo_name":"", "head_repo":"", "base_branch":"", "pr_title":"", "pr_comments":"" }
GitLab-CreatePullRequest Set Ignore Error flag to the step Create Pull Request to handle the scenario where if pull request is already created, the Create Pull Request action fails. If the playbook step executes successfully, we need to add new keys number and html_url in response and map it with the iid and web_url fields from the responses.
GitLab - Merge Pull Request merge_pr_params
{ "org_name":"", "repo_name":"", "pull_number":"" }
GitLab-MergePullRequest Not Required
GitLab - List Repository Collaborator list_repo_collaborator_params
{ "org_name":"", "repo_name":"" }
GitLab-ListRepositoryCollaborator Playbook will return list of users. Then we need to add new key "login" in response and map it with the "username" field from the response.
GitLab - Add Repository Collaborator add_repo_collaborator_params
{ "org_name":"", "repo_name":"", "username":"" }
GitLab-AddRepositoryCollaborator Not Required
GitLab - Clone Repository clone_repo_params
{ "org_name":"", "repo_name":"", "branch_name":"", "clone_as_zip":"" }
GitLab-CloneRepository Not Required
GitLab - Get Server URL Not Required Not Required GitLab-GetServerURL Not Required
GitLab - Update Remote Repository update_remote_repo_params
{"file_iri": "", "clone_path": ""}
GitLab-UpdateRemoteRepository Not Required
GitLab - Push Changes push_changes_params
{
    "org_name": "",
    "branch_name": "",
    "repo_type": "",
    "repo_name": "",
    "cloned_repo_path": "",
    "commit_message": "",
    "commit_description": ""
}
GitLab-PushChanges Not Required
GitLab - Create or Update File Content create_update_file_content_params
{ 
    "org_name": "",
    "file_name": "",
    "repo_name": "",
    "branch_name": "",
    "file_content": "",
    "commit_message": ""                
}
GitLab-CreateUpdateFileContent This playbook creates a file. The step Create Step has an Ignore Error flag set to Yes. If file exists, the step fails and the existing file is updated, otherwise a new file is created.

When a file is created, this playbook returns the result and status of the step Create File, otherwise it returns the result and status of the step Update File.

Previous
Next

GitLab v2.0.0

About the connector

GitLab is a single application for the entire software development lifecycle. From project planning and source code management to CI/CD, monitoring, and security.

This document provides information about the GitLab Connector, which facilitates automated interactions, with a GitLab server using FortiSOAR™ playbooks. Add the GitLab Connector as a step in FortiSOAR™ playbooks and perform automated operations with GitLab.

Version information

Connector Version: 2.0.0

FortiSOAR™ Version Tested on: 7.4.3-3294

GitLab API Version Tested on: v4

Authored By: Fortinet

Certified: Yes

Release Notes for version 2.0.0

Following enhancements have been made to the GitLab Connector in version 2.0.0:

What's Improved

Installing the connector

Use the Content Hub to install the connector. For the detailed procedure to install a connector, click here.

You can also use the yum command as a root user to install the connector:

yum install cyops-connector-gitlab

Prerequisites to configuring the connector

Minimum Permissions Required

Configuring the connector

For the procedure to configure a connector, click here.

Configuration parameters

In FortiSOAR™, on the Connectors page, click the GitLab connector row (if you are in the Grid view on the Connectors page) and in the Configurations tab enter the required configuration details:

Parameter Description
Server URL IP address or hostname of the GitLab server to which you will connect and perform automated operations.
Gitlab Username Specify the username used to access the GitLab server to connect and perform the automated operations.
Access Token Access Token that is provided to you by a GitLab administrator that you will use to access the GitLab REST API. For information on generating access tokens, refer https://docs.gitlab.com/ee/user/profile/personal_access_tokens.html.
Verify SSL Specifies whether the SSL certificate for the server is to be verified.
By default, this option is set to True.

Actions supported by the connector

The following automated operations can be included in playbooks and you can also use the annotations to access operations:

Function Description Annotation and Category
Create Repository Creates a new repository based on the repository type, repository name, and other input parameters that you have specified. create_repository
Investigation
Create Repository Using Templates Creates a new repository based on the repository type, repository name, a template, and other input parameters that you have specified. create_repository_using_templates
Investigation
List User Repositories Retrieves a list of user repositories filtered by the user ID, visibility, and other filter conditions that you have specified. When accessed without authentication, only public repositories are returned. list_user_repositories
Investigation
List Authenticated User Repositories Retrieves a list of authenticated user repositories filtered by the access level, visibility, and other filter conditions that you have specified. list_authenticated_user_repositories
Investigation
List Group Repositories Retrieves a list of group repositories filtered by the group name, visibility, and other filter conditions that you have specified.. When accessed without authentication, only public repositories are returned. list_group_repositories
Investigation
Update Repository Updates an existing repository based on the repository type, repository name, and other input parameters that you have specified. update_repository
Investigation
Delete Repository Deletes a repository including all associated resources, like issues and merge requests, based on the repository type, repository name, and other input parameters that you have specified. delete_repository
Investigation
Fork Repository Forks a repository into the user namespace based on the repository type, repository name, and other input parameters that you have specified. fork_repository
Investigation
List Fork Repositories Retrieves a list of the projects accessible to the calling user that have an established, forked relationship with the specified project list_fork_repositories
Investigation
Create File Creates a single file in the GitLab repository based on the repository ID, branch name, file name and other input parameters that you have specified.. create_new_file_in_repository
Investigation
Get File Retrieves information such as name, size, content, etc. about a file from the GitLab repository based on the repository ID, branch name, file name, and other input parameters that you have specified. get_file_from_repository
Investigation
Update File Updates a single file in the GitLab repository based on the repository ID, branch name, file name and other input parameters. update_file_in_repository
Investigation
Delete File Deletes a single file in the GitLab repository based on the repository ID, branch name, file name and other input parameters. delete_existing_file_in_repository
Investigation
Add Member to Repository Adds a member to a GitLab project based on the username, access level, and other input parameters that you have specified. add_member_to_repository
Investigation
Get Member List of Repository Retrieves a list of group or repository members viewable by the authenticated user, including inherited members, invited users, and permissions through ancestor groups. get_member_list_of_repository
Investigation
Create Repository Branch Creates a new branch in the repository based on the repository type, branch name, and other input parameters that you have specified. create_repository_branch
Investigation
Get Repository Branch Retrieves a repository branch from a GitLab Repository based on the repository type, branch name, and other input parameters that you have specified. get_repository_branch
Investigation
List Repository Branches Retrieves a list of repository branches from a project, alphabetically sorted by name based on the repository type, branch name, and other input parameters that you have specified. list_repository_branches
Investigation
Delete Repository Branch Deletes a branch from the repository based on the repository type and branch name that you have specified. delete_repository_branch
Investigation
Create Merge Request Creates a new merge request (MR) on a repository based on the repository type, branch name, and other input parameters that you have specified. create_merge_request
Investigation
List Repository Merge Requests Retrieves a list of all merge requests for a project based on the repository type, repository name, and other input parameters that you have specified. list_repository_merge_requests
Investigation
Update Merge Request Updates an existing merge request. You can change the target branch, title, Add Reviewers, Assignees or even close the MR. update_merge_request
Investigation
List Merge Request Reviewers Retrieves a list of merge request reviewers based on the repository type, repository name, and other input parameters that you have specified. list_merge_request_reviewers
Investigation
Create Merge Request Comment Creates a new note/comment on a merge request based on the repository type, repository name, and other input parameters that you have specified. create_merge_request_comment
Investigation
List Merge Request Comments Retrieves a list of all notes/comments for a merge request based on the repository type, repository name, and other input parameters that you have specified. list_merge_request_comments
Investigation
Merge a Merge Request Accept and merge changes in the merge request based on the repository type, repository name, and other input parameters that you have specified. merge_a_merge_request
Investigation
Create Issue Creates a new issue within a GitLab project based on the repository type, repository name, and other input parameters that you have specified. create_issue
Investigation
List Repository Issues Retrieves a list of a project's issues based on the repository type, repository name, and other input parameters that you have specified. list_repository_issues
Investigation
Update Issue Updates an existing issue based on the repository type, repository name, and other input parameters that you have specified. This call is also used to mark an issue as closed. update_issue
Investigation
Create Issue Comment Creates a new note/comment to a single repository issue based on the repository type, repository name, and other input parameters that you have specified. create_issue_comment
Investigation
Create Release Creates a new GitLab release based on the repository type, repository name, and other input parameters that you have specified. Developer level access to the repository is required to create a release. create_release
Investigation
List Releases Retrieves a paginated list of releases, sorted by the date when they were released, based on the repository type, repository name, and other input parameters that you have specified. list_releases
Investigation
Star Repository Stars a given GitLab project based on the repository type and repository name that you have specified. Returns a status code 304 if the repository is already starred. star_repository
Investigation
List Starrers Retrieves a list of users who have starred the specified project based on the repository type, repository name, and other input parameters that you have specified. list_starrers
Investigation
Update Repository Notification Level Updates a repository's notification settings via a specified notification level based on the repository type, repository name, and other input parameters that you have specified. update_repository_notification_level
Investigation
Update Remote Repository Applies changes made in a FortiSOAR™ file to the specified remote repository that is cloned from GitLab based on the file IRI and cloned repository path that you have specified. update_remote_repository
Investigation
Clone Repository Clones the specified repository in a GitLab project based on the repository type, repository name, and other input parameters that you have specified. clone_repository
Investigation
Push Changes Commits the local changes to the specified repository in a GitLab project based on the repository type, organization or repository owner's name, repository name, cloned repository path, and other input parameters you have specified. push_changes
Investigation
Fetch Upstream Creates a merge request for a branch of a forked repository to keep it up-to-date with the upstream repository based on the repository type, repository name, and other input parameters that you have specified. fetch_upstream
Investigation
Review Merge Request Review an merge request based on the repository type, repository name, and other input parameters that you have specified. You can approve or reject an MR. review_merge_request
Investigation
Get Approval State of Merge Request Retrieves information about a merge request's approval state based on the repository type, repository name, and other input parameters that you have specified. get_approval_state_of_merge_request
Investigation
Get Server URL Retrieves the server URL (Web URL) of the configured GitLab server. get_web_url
Investigation

operation: Create Repository

Input parameters

Parameter Description
Repository Type Select the type of the repository to create on GitLab. You can select from the following options:
  • Organization/Group: Specify the name of the organization/group on GitLab, within which to create the repository, in the Organization/Group Name field.
  • User
Repository Name Specify the name of the repository to create.
Description (Optional) Specify a short description of the repository being created on GitLab.
Visibility of Repository (Optional) Specify the scope of the repository. You can select from the following options:
  • Public
  • Private
  • Internal
Issues Access Level (Optional) Select to allow creation of issues on this repository. You can select from the following options:
  • Disabled: Select to disable creation of issues.
  • Private: Select to allow creation of issues only by members of this private project.
  • Enabled: Select to enable creation of issues.
Has Wiki (Optional) Select to create a wiki for this project. You can select from the following options:
  • Disabled: Select to disable the wiki.
  • Private: Select to allow access to the wiki by members of this private project.
  • Enabled: Select to enable the wiki.
Other Fields (Optional) Specify other fields in the JSON format. For more information about other fields, see https://docs.gitlab.com/ee/api/rest/index.html.

Output

The output contains the following populated JSON schema:

{
    "id": "",
    "description": "",
    "name": "",
    "name_with_namespace": "",
    "path": "",
    "path_with_namespace": "",
    "created_at": "",
    "default_branch": "",
    "tag_list": [],
    "topics": [],
    "ssh_url_to_repo": "",
    "http_url_to_repo": "",
    "web_url": "",
    "readme_url": "",
    "forks_count": "",
    "avatar_url": "",
    "star_count": "",
    "last_activity_at": "",
    "namespace": {
        "id": "",
        "name": "",
        "path": "",
        "kind": "",
        "full_path": "",
        "parent_id": "",
        "avatar_url": "",
        "web_url": ""
    },
    "container_registry_image_prefix": "",
    "_links": {
        "self": "",
        "issues": "",
        "merge_requests": "",
        "repo_branches": "",
        "labels": "",
        "events": "",
        "members": "",
        "cluster_agents": ""
    },
    "packages_enabled": "",
    "empty_repo": "",
    "archived": "",
    "visibility": "",
    "owner": {
        "id": "",
        "username": "",
        "name": "",
        "state": "",
        "avatar_url": "",
        "web_url": ""
    },
    "resolve_outdated_diff_discussions": "",
    "container_expiration_policy": {
        "cadence": "",
        "enabled": "",
        "keep_n": "",
        "older_than": "",
        "name_regex": "",
        "name_regex_keep": "",
        "next_run_at": ""
    },
    "issues_enabled": "",
    "merge_requests_enabled": "",
    "wiki_enabled": "",
    "jobs_enabled": "",
    "snippets_enabled": "",
    "container_registry_enabled": "",
    "service_desk_enabled": "",
    "service_desk_address": "",
    "can_create_merge_request_in": "",
    "issues_access_level": "",
    "repository_access_level": "",
    "merge_requests_access_level": "",
    "forking_access_level": "",
    "wiki_access_level": "",
    "builds_access_level": "",
    "snippets_access_level": "",
    "pages_access_level": "",
    "analytics_access_level": "",
    "container_registry_access_level": "",
    "security_and_compliance_access_level": "",
    "releases_access_level": "",
    "environments_access_level": "",
    "feature_flags_access_level": "",
    "infrastructure_access_level": "",
    "monitor_access_level": "",
    "emails_disabled": "",
    "emails_enabled": "",
    "shared_runners_enabled": "",
    "lfs_enabled": "",
    "creator_id": "",
    "import_url": "",
    "import_type": "",
    "import_status": "",
    "import_error": "",
    "open_issues_count": "",
    "description_html": "",
    "updated_at": "",
    "ci_default_git_depth": "",
    "ci_forward_deployment_enabled": "",
    "ci_forward_deployment_rollback_allowed": "",
    "ci_job_token_scope_enabled": "",
    "ci_separated_caches": "",
    "ci_allow_fork_pipelines_to_run_in_parent_project": "",
    "build_git_strategy": "",
    "keep_latest_artifact": "",
    "restrict_user_defined_variables": "",
    "runners_token": "",
    "runner_token_expiration_interval": "",
    "group_runners_enabled": "",
    "auto_cancel_pending_pipelines": "",
    "build_timeout": "",
    "auto_devops_enabled": "",
    "auto_devops_deploy_strategy": "",
    "ci_config_path": "",
    "public_jobs": "",
    "shared_with_groups": [],
    "only_allow_merge_if_pipeline_succeeds": "",
    "allow_merge_on_skipped_pipeline": "",
    "request_access_enabled": "",
    "only_allow_merge_if_all_discussions_are_resolved": "",
    "remove_source_branch_after_merge": "",
    "printing_merge_request_link_enabled": "",
    "merge_method": "",
    "squash_option": "",
    "enforce_auth_checks_on_uploads": "",
    "suggestion_commit_message": "",
    "merge_commit_template": "",
    "squash_commit_template": "",
    "issue_branch_template": "",
    "autoclose_referenced_issues": "",
    "external_authorization_classification_label": "",
    "requirements_enabled": "",
    "requirements_access_level": "",
    "security_and_compliance_enabled": "",
    "compliance_frameworks": []
}

operation: Create Repository Using Templates

Input parameters

Parameter Description
Repository Type Select the type of the repository to create on GitLab. You can select from the following options:
  • Organization/Group: Specify the name of the organization/group on GitLab, within which to create the repository, in the Organization/Group Name field.
  • User
Repository Name Specify the name of the repository to create.
Use Custom Template (Optional) Select to use a custom template (Requires Premium GitLab access). Clear the checkbox to use a built-in template.
Create Repository By Select the method by which to reference the template for creating repository. You can select one of the following options:
  • Template Repository ID: Specify the repository ID to use as a template in the Template Repository ID field.
  • Template Name: Specify the repository name to use as a template in the Template Name field.
Description (Optional) Specify a short description of the repository being created on GitLab.
Visibility of Repository (Optional) Specify the scope of the repository. You can select from the following options:
  • Public
  • Private
  • Internal
Issues Access Level (Optional) Select to allow creation of issues on this repository. You can select from the following options:
  • Disabled: Select to disable creation of issues.
  • Private: Select to allow creation of issues only by members of this private project.
  • Enabled: Select to enable creation of issues.
Has Wiki (Optional) Select to create a wiki for this project. You can select from the following options:
  • Disabled: Select to disable the wiki.
  • Private: Select to allow access to the wiki by members of this private project.
  • Enabled: Select to enable the wiki.
Other Fields (Optional) Specify other fields in the JSON format. For more information about other fields, see https://docs.gitlab.com/ee/api/rest/index.html.

Output

The output contains the following populated JSON schema:

{
    "id": "",
    "description": "",
    "name": "",
    "name_with_namespace": "",
    "path": "",
    "path_with_namespace": "",
    "created_at": "",
    "default_branch": "",
    "tag_list": [],
    "topics": [],
    "ssh_url_to_repo": "",
    "http_url_to_repo": "",
    "web_url": "",
    "readme_url": "",
    "forks_count": "",
    "avatar_url": "",
    "star_count": "",
    "last_activity_at": "",
    "namespace": {
        "id": "",
        "name": "",
        "path": "",
        "kind": "",
        "full_path": "",
        "parent_id": "",
        "avatar_url": "",
        "web_url": ""
    },
    "container_registry_image_prefix": "",
    "_links": {
        "self": "",
        "issues": "",
        "merge_requests": "",
        "repo_branches": "",
        "labels": "",
        "events": "",
        "members": "",
        "cluster_agents": ""
    },
    "packages_enabled": "",
    "empty_repo": "",
    "archived": "",
    "visibility": "",
    "owner": {
        "id": "",
        "username": "",
        "name": "",
        "state": "",
        "avatar_url": "",
        "web_url": ""
    },
    "resolve_outdated_diff_discussions": "",
    "container_expiration_policy": {
        "cadence": "",
        "enabled": "",
        "keep_n": "",
        "older_than": "",
        "name_regex": "",
        "name_regex_keep": "",
        "next_run_at": ""
    },
    "issues_enabled": "",
    "merge_requests_enabled": "",
    "wiki_enabled": "",
    "jobs_enabled": "",
    "snippets_enabled": "",
    "container_registry_enabled": "",
    "service_desk_enabled": "",
    "service_desk_address": "",
    "can_create_merge_request_in": "",
    "issues_access_level": "",
    "repository_access_level": "",
    "merge_requests_access_level": "",
    "forking_access_level": "",
    "wiki_access_level": "",
    "builds_access_level": "",
    "snippets_access_level": "",
    "pages_access_level": "",
    "analytics_access_level": "",
    "container_registry_access_level": "",
    "security_and_compliance_access_level": "",
    "releases_access_level": "",
    "environments_access_level": "",
    "feature_flags_access_level": "",
    "infrastructure_access_level": "",
    "monitor_access_level": "",
    "emails_disabled": "",
    "emails_enabled": "",
    "shared_runners_enabled": "",
    "lfs_enabled": "",
    "creator_id": "",
    "import_url": "",
    "import_type": "",
    "import_status": "",
    "import_error": "",
    "open_issues_count": "",
    "description_html": "",
    "updated_at": "",
    "ci_default_git_depth": "",
    "ci_forward_deployment_enabled": "",
    "ci_forward_deployment_rollback_allowed": "",
    "ci_job_token_scope_enabled": "",
    "ci_separated_caches": "",
    "ci_allow_fork_pipelines_to_run_in_parent_project": "",
    "build_git_strategy": "",
    "keep_latest_artifact": "",
    "restrict_user_defined_variables": "",
    "runners_token": "",
    "runner_token_expiration_interval": "",
    "group_runners_enabled": "",
    "auto_cancel_pending_pipelines": "",
    "build_timeout": "",
    "auto_devops_enabled": "",
    "auto_devops_deploy_strategy": "",
    "ci_config_path": "",
    "public_jobs": "",
    "shared_with_groups": [],
    "only_allow_merge_if_pipeline_succeeds": "",
    "allow_merge_on_skipped_pipeline": "",
    "request_access_enabled": "",
    "only_allow_merge_if_all_discussions_are_resolved": "",
    "remove_source_branch_after_merge": "",
    "printing_merge_request_link_enabled": "",
    "merge_method": "",
    "squash_option": "",
    "enforce_auth_checks_on_uploads": "",
    "suggestion_commit_message": "",
    "merge_commit_template": "",
    "squash_commit_template": "",
    "issue_branch_template": "",
    "autoclose_referenced_issues": "",
    "external_authorization_classification_label": "",
    "requirements_enabled": "",
    "requirements_access_level": "",
    "security_and_compliance_enabled": "",
    "compliance_frameworks": []
}

operation: List User Repositories

Input parameters

Parameter Description
User ID Specify the ID or username of the user whose repositories are to be listed.
Owned by the User (Optional) Select to limit projects explicitly owned by the specified user.
Visibility (Optional) Specify the scope of the repository. You can select from the following options:
  • Public
  • Private
  • Internal
Order By (Optional) Select the sorting criteria to sort the results. You can select from the following options:
  • ID
  • Name
  • Path
  • Created Date
  • Updated Date
  • Last Activity
Default sorting criteria is Created Date.
Sort Order (Optional) Select the sort order to sort the results. You can select from the following options:
  • Ascending
  • Descending
Default sort order is Descending.
Page (Optional) Specify the page number from which to return the results of the operation. By default, this value is set to 1.
Per Page (Optional) Specify the number of results, per page, that this operation should return. By default, this value is set to 20; and the maximum value you can specify for this parameter is 100.
Other Fields (Optional) Specify other fields in the JSON format. For more information about other fields, see https://docs.gitlab.com/ee/api/rest/index.html.

Output

The output contains the following populated JSON schema:

[
    {
        "id": "",
        "description": "",
        "description_html": "",
        "default_branch": "",
        "visibility": "",
        "ssh_url_to_repo": "",
        "http_url_to_repo": "",
        "web_url": "",
        "readme_url": "",
        "tag_list": [],
        "topics": [],
        "owner": {
            "id": "",
            "name": "",
            "created_at": ""
        },
        "name": "",
        "name_with_namespace": "",
        "path": "",
        "path_with_namespace": "",
        "issues_enabled": "",
        "open_issues_count": "",
        "merge_requests_enabled": "",
        "jobs_enabled": "",
        "wiki_enabled": "",
        "snippets_enabled": "",
        "can_create_merge_request_in": "",
        "resolve_outdated_diff_discussions": "",
        "container_registry_enabled": "",
        "container_registry_access_level": "",
        "security_and_compliance_access_level": "",
        "created_at": "",
        "updated_at": "",
        "last_activity_at": "",
        "creator_id": "",
        "import_url": "",
        "import_type": "",
        "import_status": "",
        "import_error": "",
        "namespace": {
            "id": "",
            "name": "",
            "path": "",
            "kind": "",
            "full_path": ""
        },
        "archived": "",
        "avatar_url": "",
        "shared_runners_enabled": "",
        "group_runners_enabled": "",
        "forks_count": "",
        "star_count": "",
        "runners_token": "",
        "ci_default_git_depth": "",
        "ci_forward_deployment_enabled": "",
        "ci_forward_deployment_rollback_allowed": "",
        "ci_allow_fork_pipelines_to_run_in_parent_project": "",
        "ci_separated_caches": "",
        "public_jobs": "",
        "shared_with_groups": [],
        "only_allow_merge_if_pipeline_succeeds": "",
        "allow_merge_on_skipped_pipeline": "",
        "restrict_user_defined_variables": "",
        "only_allow_merge_if_all_discussions_are_resolved": "",
        "remove_source_branch_after_merge": "",
        "request_access_enabled": "",
        "merge_method": "",
        "squash_option": "",
        "autoclose_referenced_issues": "",
        "enforce_auth_checks_on_uploads": "",
        "suggestion_commit_message": "",
        "merge_commit_template": "",
        "squash_commit_template": "",
        "issue_branch_template": "",
        "marked_for_deletion_at": "",
        "marked_for_deletion_on": "",
        "statistics": {
            "commit_count": "",
            "storage_size": "",
            "repository_size": "",
            "wiki_size": "",
            "lfs_objects_size": "",
            "job_artifacts_size": "",
            "pipeline_artifacts_size": "",
            "packages_size": "",
            "snippets_size": "",
            "uploads_size": ""
        },
        "container_registry_image_prefix": "",
        "_links": {
            "self": "",
            "issues": "",
            "merge_requests": "",
            "repo_branches": "",
            "labels": "",
            "events": "",
            "members": "",
            "cluster_agents": ""
        }
    }
]

operation: List Authenticated User Repositories

Input parameters

Parameter Description
Minimum Access Level (Optional) Select the current user's minimal access level to retrieve their repositories. You can select one of the following options:
  • No Access
  • Minimal Access
  • Guest
  • Reporter
  • Developer
  • Maintainer
  • Owner
Visibility (Optional) Specify the scope of the repository. You can select from the following options:
  • Public
  • Private
  • Internal
Order By (Optional) Select the sorting criteria to sort the results. You can select from the following options:
  • ID
  • Name
  • Path
  • Created Date
  • Updated Date
  • Last Activity
Default sorting criteria is Created Date.
Sort Order (Optional) Select the sort order to sort the results. You can select from the following options:
  • Ascending
  • Descending
Default sort order is Descending.
Page (Optional) Specify the page number from which to return the results of the operation. By default, this value is set to 1.
Per Page (Optional) Specify the number of results, per page, that this operation should return. By default, this value is set to 20; and the maximum value you can specify for this parameter is 100.
Other Fields (Optional) Specify other fields in the JSON format. For more information about other fields, see https://docs.gitlab.com/ee/api/rest/index.html.

Output

The output contains the following populated JSON schema:

[
    {
        "id": "",
        "description": "",
        "description_html": "",
        "default_branch": "",
        "visibility": "",
        "ssh_url_to_repo": "",
        "http_url_to_repo": "",
        "web_url": "",
        "readme_url": "",
        "tag_list": [],
        "topics": [],
        "owner": {
            "id": "",
            "name": "",
            "created_at": ""
        },
        "name": "",
        "name_with_namespace": "",
        "path": "",
        "path_with_namespace": "",
        "issues_enabled": "",
        "open_issues_count": "",
        "merge_requests_enabled": "",
        "jobs_enabled": "",
        "wiki_enabled": "",
        "snippets_enabled": "",
        "can_create_merge_request_in": "",
        "resolve_outdated_diff_discussions": "",
        "container_registry_enabled": "",
        "container_registry_access_level": "",
        "security_and_compliance_access_level": "",
        "created_at": "",
        "updated_at": "",
        "last_activity_at": "",
        "creator_id": "",
        "import_url": "",
        "import_type": "",
        "import_status": "",
        "import_error": "",
        "namespace": {
            "id": "",
            "name": "",
            "path": "",
            "kind": "",
            "full_path": ""
        },
        "archived": "",
        "avatar_url": "",
        "shared_runners_enabled": "",
        "group_runners_enabled": "",
        "forks_count": "",
        "star_count": "",
        "runners_token": "",
        "ci_default_git_depth": "",
        "ci_forward_deployment_enabled": "",
        "ci_forward_deployment_rollback_allowed": "",
        "ci_allow_fork_pipelines_to_run_in_parent_project": "",
        "ci_separated_caches": "",
        "public_jobs": "",
        "shared_with_groups": [],
        "only_allow_merge_if_pipeline_succeeds": "",
        "allow_merge_on_skipped_pipeline": "",
        "restrict_user_defined_variables": "",
        "only_allow_merge_if_all_discussions_are_resolved": "",
        "remove_source_branch_after_merge": "",
        "request_access_enabled": "",
        "merge_method": "",
        "squash_option": "",
        "autoclose_referenced_issues": "",
        "enforce_auth_checks_on_uploads": "",
        "suggestion_commit_message": "",
        "merge_commit_template": "",
        "squash_commit_template": "",
        "issue_branch_template": "",
        "marked_for_deletion_at": "",
        "marked_for_deletion_on": "",
        "statistics": {
            "commit_count": "",
            "storage_size": "",
            "repository_size": "",
            "wiki_size": "",
            "lfs_objects_size": "",
            "job_artifacts_size": "",
            "pipeline_artifacts_size": "",
            "packages_size": "",
            "snippets_size": "",
            "uploads_size": ""
        },
        "container_registry_image_prefix": "",
        "_links": {
            "self": "",
            "issues": "",
            "merge_requests": "",
            "repo_branches": "",
            "labels": "",
            "events": "",
            "members": "",
            "cluster_agents": ""
        }
    }
]

operation: List Group Repositories

Input parameters

Parameter Description
Group Name Specify the name of the group whose repositories to retrieve from GitLab.
Visibility (Optional) Specify the scope of the repository. You can select from the following options:
  • Public
  • Private
  • Internal
Order By (Optional) Select the sorting criteria to sort the results. You can select from the following options:
  • ID
  • Name
  • Path
  • Created Date
  • Updated Date
  • Last Activity
Default sorting criteria is Created Date.
Sort Order (Optional) Select the sort order to sort the results. You can select from the following options:
  • Ascending
  • Descending
Default sort order is Descending.
Page (Optional) Specify the page number from which to return the results of the operation. By default, this value is set to 1.
Per Page (Optional) Specify the number of results, per page, that this operation should return. By default, this value is set to 20; and the maximum value you can specify for this parameter is 100.
Other Fields (Optional) Specify other fields in the JSON format. For more information about other fields, see https://docs.gitlab.com/ee/api/rest/index.html.

Output

The output contains the following populated JSON schema:

[
    {
        "id": "",
        "description": "",
        "default_branch": "",
        "tag_list": [],
        "topics": [],
        "archived": "",
        "visibility": "",
        "ssh_url_to_repo": "",
        "http_url_to_repo": "",
        "web_url": "",
        "name": "",
        "name_with_namespace": "",
        "path": "",
        "path_with_namespace": "",
        "issues_enabled": "",
        "merge_requests_enabled": "",
        "wiki_enabled": "",
        "jobs_enabled": "",
        "snippets_enabled": "",
        "created_at": "",
        "last_activity_at": "",
        "shared_runners_enabled": "",
        "creator_id": "",
        "namespace": {
            "id": "",
            "name": "",
            "path": "",
            "kind": ""
        },
        "avatar_url": "",
        "star_count": "",
        "forks_count": "",
        "open_issues_count": "",
        "public_jobs": "",
        "shared_with_groups": [],
        "request_access_enabled": ""
    }
]

operation: Update Repository

Input parameters

Parameter Description
Repository Type Select the type of the repository to update on GitLab. You can select from the following options:
  • Organization/Group: Specify the name of the organization/group on GitLab, within which to update the repository, in the Organization/Group Name field.
  • Repository Owner: Specify the owner, whose repository is to be updated, in the Repository Owner field.
Repository Name Specify the name of the repository to update on GitLab.
New Repository Name (Optional) Specify the new name of the repository to update on GitLab.
Description (Optional) Specify a short description of the repository to update on GitLab.
Visibility of Repository (Optional) Specify the scope of the repository. You can select from the following options:
  • Public
  • Private
  • Internal
Issues Access Level (Optional) Select to update creation of issues on this repository. You can select from the following options:
  • Disabled: Select to disable creation of issues.
  • Private: Select to allow creation of issues only by members of this private project.
  • Enabled: Select to enable creation of issues.
Has Wiki (Optional) Select to update the wiki status for this project. You can select from the following options:
  • Disabled: Select to disable the wiki.
  • Private: Select to allow access to the wiki by members of this private project.
  • Enabled: Select to enable the wiki.
Other Fields (Optional) Specify other fields in the JSON format. For more information about other fields, see https://docs.gitlab.com/ee/api/rest/index.html.

Output

The output contains the following populated JSON schema:

{
    "id": "",
    "description": "",
    "name": "",
    "name_with_namespace": "",
    "path": "",
    "path_with_namespace": "",
    "created_at": "",
    "default_branch": "",
    "tag_list": [],
    "topics": [],
    "ssh_url_to_repo": "",
    "http_url_to_repo": "",
    "web_url": "",
    "readme_url": "",
    "forks_count": "",
    "avatar_url": "",
    "star_count": "",
    "last_activity_at": "",
    "namespace": {
        "id": "",
        "name": "",
        "path": "",
        "kind": "",
        "full_path": "",
        "parent_id": "",
        "avatar_url": "",
        "web_url": ""
    },
    "container_registry_image_prefix": "",
    "_links": {
        "self": "",
        "issues": "",
        "merge_requests": "",
        "repo_branches": "",
        "labels": "",
        "events": "",
        "members": "",
        "cluster_agents": ""
    },
    "packages_enabled": "",
    "empty_repo": "",
    "archived": "",
    "visibility": "",
    "owner": {
        "id": "",
        "username": "",
        "name": "",
        "state": "",
        "avatar_url": "",
        "web_url": ""
    },
    "resolve_outdated_diff_discussions": "",
    "container_expiration_policy": {
        "cadence": "",
        "enabled": "",
        "keep_n": "",
        "older_than": "",
        "name_regex": "",
        "name_regex_keep": "",
        "next_run_at": ""
    },
    "issues_enabled": "",
    "merge_requests_enabled": "",
    "wiki_enabled": "",
    "jobs_enabled": "",
    "snippets_enabled": "",
    "container_registry_enabled": "",
    "service_desk_enabled": "",
    "service_desk_address": "",
    "can_create_merge_request_in": "",
    "issues_access_level": "",
    "repository_access_level": "",
    "merge_requests_access_level": "",
    "forking_access_level": "",
    "wiki_access_level": "",
    "builds_access_level": "",
    "snippets_access_level": "",
    "pages_access_level": "",
    "analytics_access_level": "",
    "container_registry_access_level": "",
    "security_and_compliance_access_level": "",
    "releases_access_level": "",
    "environments_access_level": "",
    "feature_flags_access_level": "",
    "infrastructure_access_level": "",
    "monitor_access_level": "",
    "emails_disabled": "",
    "emails_enabled": "",
    "shared_runners_enabled": "",
    "lfs_enabled": "",
    "creator_id": "",
    "import_url": "",
    "import_type": "",
    "import_status": "",
    "import_error": "",
    "open_issues_count": "",
    "description_html": "",
    "updated_at": "",
    "ci_default_git_depth": "",
    "ci_forward_deployment_enabled": "",
    "ci_forward_deployment_rollback_allowed": "",
    "ci_job_token_scope_enabled": "",
    "ci_separated_caches": "",
    "ci_allow_fork_pipelines_to_run_in_parent_project": "",
    "build_git_strategy": "",
    "keep_latest_artifact": "",
    "restrict_user_defined_variables": "",
    "runners_token": "",
    "runner_token_expiration_interval": "",
    "group_runners_enabled": "",
    "auto_cancel_pending_pipelines": "",
    "build_timeout": "",
    "auto_devops_enabled": "",
    "auto_devops_deploy_strategy": "",
    "ci_config_path": "",
    "public_jobs": "",
    "shared_with_groups": [],
    "only_allow_merge_if_pipeline_succeeds": "",
    "allow_merge_on_skipped_pipeline": "",
    "request_access_enabled": "",
    "only_allow_merge_if_all_discussions_are_resolved": "",
    "remove_source_branch_after_merge": "",
    "printing_merge_request_link_enabled": "",
    "merge_method": "",
    "squash_option": "",
    "enforce_auth_checks_on_uploads": "",
    "suggestion_commit_message": "",
    "merge_commit_template": "",
    "squash_commit_template": "",
    "issue_branch_template": "",
    "autoclose_referenced_issues": "",
    "external_authorization_classification_label": "",
    "requirements_enabled": "",
    "requirements_access_level": "",
    "security_and_compliance_enabled": "",
    "compliance_frameworks": []
}

operation: Delete Repository

Input parameters

Parameter Description
Repository Type Select the type of the repository to delete on GitLab. You can select from the following options:
  • Organization/Group: Specify the name of the organization/group on GitLab, within which to delete the repository, in the Organization/Group Name field.
  • User: Specify the name of the repository owner on GitLab, whose repository is to be deleted, in the Repository Owner field.
Repository Name Specify the name of the repository to delete.

Output

The output contains the following populated JSON schema:

{
    "message": ""
}

operation: Fork Repository

Input parameters

Parameter Description
Repository Type Select the type of the repository to fork on GitLab. You can select from the following options:
  • Organization/Group: Specify the name of the organization/group on GitLab, within which to fork the repository, in the Organization/Group Name field.
  • User: Specify the name of the repository owner on GitLab, whose repository is to be forked, in the Repository Owner field.
Repository Name Specify the name of the repository in GitLab to fork.
New Repository Name (Optional) Specify the name to assign to the resultant repository after forking.
Description (Optional) Specify a short description to the resultant repository after forking.
Visibility of Repository (Optional) Specify the scope of the repository. You can select from the following options:
  • Public
  • Private
  • Internal
Other Fields (Optional) Specify other fields in the JSON format. For more information about other fields, see https://docs.gitlab.com/ee/api/rest/index.html.

Output

The output contains the following populated JSON schema:

{
    "id": "",
    "description": "",
    "name": "",
    "name_with_namespace": "",
    "path": "",
    "path_with_namespace": "",
    "created_at": "",
    "default_branch": "",
    "tag_list": [],
    "topics": [],
    "ssh_url_to_repo": "",
    "http_url_to_repo": "",
    "web_url": "",
    "readme_url": "",
    "forks_count": "",
    "avatar_url": "",
    "star_count": "",
    "last_activity_at": "",
    "namespace": {
        "id": "",
        "name": "",
        "path": "",
        "kind": "",
        "full_path": "",
        "parent_id": "",
        "avatar_url": "",
        "web_url": ""
    },
    "container_registry_image_prefix": "",
    "_links": {
        "self": "",
        "issues": "",
        "merge_requests": "",
        "repo_branches": "",
        "labels": "",
        "events": "",
        "members": "",
        "cluster_agents": ""
    },
    "packages_enabled": "",
    "empty_repo": "",
    "archived": "",
    "visibility": "",
    "owner": {
        "id": "",
        "username": "",
        "name": "",
        "state": "",
        "avatar_url": "",
        "web_url": ""
    },
    "resolve_outdated_diff_discussions": "",
    "container_expiration_policy": {
        "cadence": "",
        "enabled": "",
        "keep_n": "",
        "older_than": "",
        "name_regex": "",
        "name_regex_keep": "",
        "next_run_at": ""
    },
    "issues_enabled": "",
    "merge_requests_enabled": "",
    "wiki_enabled": "",
    "jobs_enabled": "",
    "snippets_enabled": "",
    "container_registry_enabled": "",
    "service_desk_enabled": "",
    "service_desk_address": "",
    "can_create_merge_request_in": "",
    "issues_access_level": "",
    "repository_access_level": "",
    "merge_requests_access_level": "",
    "forking_access_level": "",
    "wiki_access_level": "",
    "builds_access_level": "",
    "snippets_access_level": "",
    "pages_access_level": "",
    "analytics_access_level": "",
    "container_registry_access_level": "",
    "security_and_compliance_access_level": "",
    "releases_access_level": "",
    "environments_access_level": "",
    "feature_flags_access_level": "",
    "infrastructure_access_level": "",
    "monitor_access_level": "",
    "emails_disabled": "",
    "emails_enabled": "",
    "shared_runners_enabled": "",
    "lfs_enabled": "",
    "creator_id": "",
    "forked_from_project": {
        "id": "",
        "description": "",
        "name": "",
        "name_with_namespace": "",
        "path": "",
        "path_with_namespace": "",
        "created_at": "",
        "default_branch": "",
        "tag_list": [],
        "topics": [],
        "ssh_url_to_repo": "",
        "http_url_to_repo": "",
        "web_url": "",
        "readme_url": "",
        "forks_count": "",
        "avatar_url": "",
        "star_count": "",
        "last_activity_at": "",
        "namespace": {
            "id": "",
            "name": "",
            "path": "",
            "kind": "",
            "full_path": "",
            "parent_id": "",
            "avatar_url": "",
            "web_url": ""
        }
    },
    "mr_default_target_self": "",
    "import_url": "",
    "import_type": "",
    "import_status": "",
    "import_error": "",
    "open_issues_count": "",
    "description_html": "",
    "updated_at": "",
    "ci_default_git_depth": "",
    "ci_forward_deployment_enabled": "",
    "ci_forward_deployment_rollback_allowed": "",
    "ci_job_token_scope_enabled": "",
    "ci_separated_caches": "",
    "ci_allow_fork_pipelines_to_run_in_parent_project": "",
    "build_git_strategy": "",
    "keep_latest_artifact": "",
    "restrict_user_defined_variables": "",
    "runners_token": "",
    "runner_token_expiration_interval": "",
    "group_runners_enabled": "",
    "auto_cancel_pending_pipelines": "",
    "build_timeout": "",
    "auto_devops_enabled": "",
    "auto_devops_deploy_strategy": "",
    "ci_config_path": "",
    "public_jobs": "",
    "shared_with_groups": [],
    "only_allow_merge_if_pipeline_succeeds": "",
    "allow_merge_on_skipped_pipeline": "",
    "request_access_enabled": "",
    "only_allow_merge_if_all_discussions_are_resolved": "",
    "remove_source_branch_after_merge": "",
    "printing_merge_request_link_enabled": "",
    "merge_method": "",
    "squash_option": "",
    "enforce_auth_checks_on_uploads": "",
    "suggestion_commit_message": "",
    "merge_commit_template": "",
    "squash_commit_template": "",
    "issue_branch_template": "",
    "autoclose_referenced_issues": "",
    "external_authorization_classification_label": "",
    "requirements_enabled": "",
    "requirements_access_level": "",
    "security_and_compliance_enabled": "",
    "compliance_frameworks": []
}

operation: List Fork Repositories

Input parameters

Parameter Description
Repository Type Select the type of the repository to retrieve from GitLab. You can select from the following options:
  • Organization/Group: Specify the name of the organization/group on GitLab, from which to retrieve the repository forks, in the Organization/Group Name field.
  • User: Specify the name of the repository owner on GitLab, whose forked repositories are to be retrieved, in the Repository Owner field.
Repository Name Specify the name of the repository whose forks are to be retrieved.
Order By (Optional) Select the sorting criteria to sort the results. You can select from the following options:
  • ID
  • Name
  • Path
  • Created Date
  • Updated Date
  • Last Activity
Default sorting criteria is Created Date.
Sort Order (Optional) Select the sort order to sort the results. You can select from the following options:
  • Ascending
  • Descending
Default sort order is Descending.
Page (Optional) Specify the page number from which to return the results of the operation. By default, this value is set to 1.
Per Page (Optional) Specify the number of results, per page, that this operation should return. By default, this value is set to 20; and the maximum value you can specify for this parameter is 100.
Other Fields (Optional) Specify other fields in the JSON format. For more information about other fields, see https://docs.gitlab.com/ee/api/rest/index.html.

Output

The output contains the following populated JSON schema:

[
    {
        "id": "",
        "description": "",
        "description_html": "",
        "default_branch": "",
        "visibility": "",
        "ssh_url_to_repo": "",
        "http_url_to_repo": "",
        "web_url": "",
        "readme_url": "",
        "tag_list": [],
        "topics": [],
        "name": "",
        "name_with_namespace": "",
        "path": "",
        "path_with_namespace": "",
        "issues_enabled": "",
        "open_issues_count": "",
        "merge_requests_enabled": "",
        "jobs_enabled": "",
        "wiki_enabled": "",
        "snippets_enabled": "",
        "can_create_merge_request_in": "",
        "resolve_outdated_diff_discussions": "",
        "container_registry_enabled": "",
        "container_registry_access_level": "",
        "security_and_compliance_access_level": "",
        "created_at": "",
        "updated_at": "",
        "last_activity_at": "",
        "creator_id": "",
        "namespace": {
            "id": "",
            "name": "",
            "path": "",
            "kind": "",
            "full_path": ""
        },
        "import_status": "",
        "archived": "",
        "avatar_url": "",
        "shared_runners_enabled": "",
        "group_runners_enabled": "",
        "forks_count": "",
        "star_count": "",
        "public_jobs": "",
        "shared_with_groups": [],
        "only_allow_merge_if_pipeline_succeeds": "",
        "allow_merge_on_skipped_pipeline": "",
        "restrict_user_defined_variables": "",
        "only_allow_merge_if_all_discussions_are_resolved": "",
        "remove_source_branch_after_merge": "",
        "request_access_enabled": "",
        "merge_method": "",
        "squash_option": "",
        "autoclose_referenced_issues": "",
        "enforce_auth_checks_on_uploads": "",
        "suggestion_commit_message": "",
        "merge_commit_template": "",
        "container_registry_image_prefix": "",
        "_links": {
            "self": "",
            "issues": "",
            "merge_requests": "",
            "repo_branches": "",
            "labels": "",
            "events": "",
            "members": "",
            "cluster_agents": ""
        }
    }
]

operation: Create File

Input parameters

Parameter Description
Repository Type Select the type of the repository on which to create the file. You can select from the following options:
  • Organization/Group: Specify the name of the organization/group on GitLab, within whose repository the file is to be created, in the Organization/Group Name field.
  • User: Specify the name of the repository owner on GitLab, within whose repository the file is to be created, in the Repository Owner field.
Repository Name Specify the name of the repository within which the file is to be created.
Branch Name Specify the name of the branch in which to create the file.
File Name Specify the name of the file to create.
Content Information Specify the contents to add to the file being created.
Commit Message Specify the commit message to add while creating the file.
Author Email ID (Optional) Specify the email address of the commit author to add while creating the file.
Author Name (Optional) Specify the name of the commit author to add while creating the file.

Output

The output contains the following populated JSON schema:

{
    "file_path": "",
    "branch": ""
}

operation: Get File

Input parameters

Parameter Description
Repository Type Select the type of the repository from which to retrieve the file. You can select from the following options:
  • Organization/Group: Specify the name of the organization/group on GitLab, within whose repository the file is to be retrieved, in the Organization/Group Name field.
  • User: Specify the name of the repository owner on GitLab, within whose repository the file is to be retrieved, in the Repository Owner field.
Repository Name Specify the name of the repository from which the file is to be retrieved.
Branch Name Specify the name of the branch from which to retrieve the file.
File Name Specify the name of the file to retrieve.
Decode Content (Optional) Select to decode the file contents. The files are Base64 encoded.

Output

The output contains the following populated JSON schema:

{
    "file_name": "",
    "file_path": "",
    "size": "",
    "encoding": "",
    "content_sha256": "",
    "ref": "",
    "blob_id": "",
    "commit_id": "",
    "last_commit_id": "",
    "content": ""
}

operation: Update File

Input parameters

Parameter Description
Repository Type Select the type of the repository in which to update the file. You can select from the following options:
  • Organization/Group: Specify the name of the organization/group on GitLab, within whose repository the file is to be updated, in the Organization/Group Name field.
  • User: Specify the name of the repository owner on GitLab, within whose repository the file is to be updated, in the Repository Owner field.
Repository Name Specify the name of the repository in which the file is to be updated.
Branch Name Specify the name of the branch in which to update the file.
File Name Specify the name of the file to update.
Content Information Specify the contents to update in the file being updated.
Operation Select the operation to perform on the existing content. You can choose from following options:
  • Append: Select this option to append the information specified in the Content Information parameter to the specified file's contents.
  • Overwrite: Select this option to overwrite the specified file's contents with information specified in the Content Information parameter.
Commit Message Specify the commit message for updating the file.

Output

The output contains the following populated JSON schema:

{
    "file_path": "",
    "branch": ""
}

operation: Delete File

Input parameters

Parameter Description
Repository Type Select the type of the repository from which to delete the file. You can select from the following options:
  • Organization/Group: Specify the name of the organization/group on GitLab, within whose repository the file is to be deleted, in the Organization/Group Name field.
  • User: Specify the name of the repository owner on GitLab, within whose repository the file is to be deleted, in the Repository Owner field.
Repository Name Specify the name of the repository in which the file is to be deleted.
Branch Name Specify the name of the branch in which to delete the file.
File Name Specify the name of the file to delete.
Commit Message Specify the commit message for deleting the file.
Author Email ID (Optional) Specify the email address of the commit author to add while deleting the file.
Author Name (Optional) Specify the name of the commit author to add while deleting the file.

Output

The output contains a non-dictionary value.

operation: Add Member to Repository

Input parameters

Parameter Description
Add Member To Select where you want to add the specified collaborator. You can select from the following options:
  • Group: Specify the name of the group in the Group Name field.
  • Repository: Select the repository type in which to add the collaborator. You can select from the following options:
    • Organization/Group: Specify the name of the organization/group on GitLab, within whose repository the collaborator is to be added, in the Organization/Group Name field.
    • User: Specify the name of the repository owner on GitLab, within whose repository the collaborator is to be added, in the Repository Owner field.
    • Repository Name: Specify the name of the repository in which to add the collaborator.
Username Specify the username of the member to add as a collaborator in the project.
Access Level Select the access level to grant to the specified collaborator. You can select from following options:
  • No Access
  • Minimal Access
  • Guest
  • Reporter
  • Developer
  • Maintainer
  • Owner

NOTE: Permissions are applicable only on organization-owned repositories.

Other Fields (Optional) Specify other fields in the JSON format. For more information about other fields, see https://docs.gitlab.com/ee/api/rest/index.html.

Output

The output contains the following populated JSON schema:

{
    "id": "",
    "username": "",
    "name": "",
    "state": "",
    "avatar_url": "",
    "web_url": "",
    "created_at": "",
    "created_by": {
        "id": "",
        "username": "",
        "name": "",
        "state": "",
        "avatar_url": "",
        "web_url": ""
    },
    "expires_at": "",
    "access_level": "",
    "email": "",
    "group_saml_identity": ""
}

operation: Get Member List of Repository

Input parameters

Parameter Description
Repository Type Select the type of the repository to retrieve its collaborators. You can select from the following options:
  • Organization/Group: Specify the name of the organization/group on GitLab, from which to retrieve the collaborators, in the Organization/Group Name field.
  • User: Specify the name of the repository owner on GitLab, from which to retrieve the collaborators, in the Repository Owner field.
Repository Name Specify the name of the repository from which to retrieve the collaborators.
Page (Optional) Specify the page number from which to return the results of the operation. By default, this value is set to 1.
Per Page (Optional) Specify the number of results, per page, that this operation should return. By default, this value is set to 20; and the maximum value you can specify for this parameter is 100.
Other Fields (Optional) Specify other fields in the JSON format. For more information about other fields, see https://docs.gitlab.com/ee/api/rest/index.html.

Output

The output contains the following populated JSON schema:

[
    {
        "id": "",
        "username": "",
        "name": "",
        "state": "",
        "avatar_url": "",
        "web_url": "",
        "created_at": "",
        "created_by": {
            "id": "",
            "username": "",
            "name": "",
            "state": "",
            "avatar_url": "",
            "web_url": ""
        },
        "expires_at": "",
        "access_level": "",
        "group_saml_identity": ""
    }
]

operation: Create Repository Branch

Input parameters

Parameter Description
Repository Type Select the type of the repository in which to create the branch. You can select from the following options:
  • Organization/Group: Specify the name of the organization/group on GitLab, in which to create the branch, in the Organization/Group Name field.
  • User: Specify the name of the repository owner on GitLab, in which to create the branch, in the Repository Owner field.
Repository Name Specify the name of the repository in which to create the branch.
Branch Specify the URL-encoded name of the branch to create. For more information on URL-encoded name on GitLab, refer https://docs.gitlab.com/ee/api/rest/index.html#namespaced-path-encoding.
Reference Branch Specify the branch name or the commit SHA from which to create the new branch.

Output

The output contains the following populated JSON schema:

{
    "commit": {
        "id": "",
        "short_id": "",
        "created_at": "",
        "parent_ids": [],
        "title": "",
        "message": "",
        "author_name": "",
        "author_email": "",
        "authored_date": "",
        "committer_name": "",
        "committer_email": "",
        "committed_date": "",
        "trailers": {},
        "web_url": ""
    },
    "name": "",
    "merged": "",
    "protected": "",
    "default": "",
    "developers_can_push": "",
    "developers_can_merge": "",
    "can_push": "",
    "web_url": ""
}

operation: Get Repository Branch

Input parameters

Parameter Description
Repository Type Select the type of the repository from which to retrieve the branch. You can select from the following options:
  • Organization/Group: Specify the name of the organization/group on GitLab, from which to retrieve the branch, in the Organization/Group Name field.
  • User: Specify the name of the repository owner on GitLab, from which to create the branch, in the Repository Owner field.
Repository Name Specify the name of the repository from which to retrieve the branch.
Branch Specify the URL-encoded name of the branch to retrieve. For more information on URL-encoded name on GitLab, refer https://docs.gitlab.com/ee/api/rest/index.html#namespaced-path-encoding.

Output

The output contains the following populated JSON schema:

{
    "name": "",
    "merged": "",
    "protected": "",
    "default": "",
    "developers_can_push": "",
    "developers_can_merge": "",
    "can_push": "",
    "web_url": "",
    "commit": {
        "id": "",
        "short_id": "",
        "created_at": "",
        "parent_ids": [],
        "title": "",
        "message": "",
        "author_name": "",
        "author_email": "",
        "authored_date": "",
        "committer_name": "",
        "committer_email": "",
        "committed_date": "",
        "trailers": {},
        "web_url": ""
    }
}

operation: List Repository Branches

Input parameters

Parameter Description
Repository Type Select the type of the repository whose branches to retrieve. You can select from the following options:
  • Organization/Group: Specify the name of the organization/group on GitLab, whose branches to retrieve, in the Organization/Group Name field.
  • User: Specify the name of the repository owner on GitLab, whose branches to retrieve in the Repository Owner field.
Repository Name Specify the name of the repository from which to retrieve the branches.
RE2 Regex Expression (Optional) Specify a re2 regular expression to filter and return the list of branches with names matching the expression. For example, ^release\/(\d+\.\d+)$ retrieves branches matching release/2.0, release/3.5, release/4.2, release/3.14 etc. For more information about re2 regular expression syntax, see https://github.com/google/re2/wiki/Syntax.

Output

The output contains the following populated JSON schema:

[
    {
        "name": "",
        "merged": "",
        "protected": "",
        "default": "",
        "developers_can_push": "",
        "developers_can_merge": "",
        "can_push": "",
        "web_url": "",
        "commit": {
            "id": "",
            "short_id": "",
            "created_at": "",
            "parent_ids": [],
            "title": "",
            "message": "",
            "author_name": "",
            "author_email": "",
            "authored_date": "",
            "committer_name": "",
            "committer_email": "",
            "committed_date": "",
            "trailers": {},
            "web_url": ""
        }
    }
]

operation: Delete Repository Branch

Input parameters

Parameter Description
Repository Type Select the type of the repository in which to delete the branch. You can select from the following options:
  • Organization/Group: Specify the name of the organization/group on GitLab, in which to delete the branch, in the Organization/Group Name field.
  • User: Specify the name of the repository owner on GitLab, in which to delete the branch, in the Repository Owner field.
Repository Name Specify the name of the repository in which to delete the branch.
Branch Specify the URL-encoded name of the branch to delete. For more information on URL-encoded name on GitLab, refer https://docs.gitlab.com/ee/api/rest/index.html#namespaced-path-encoding.

Output

The output contains a non-dictionary value.

operation: Create Merge Request

Input parameters

Parameter Description
Repository Type Select the type of the repository in which to create the merge request. You can select from the following options:
  • Organization/Group: Specify the name of the organization/group on GitLab, in which to create the merge request, in the Organization/Group Name field.
  • User: Specify the name of the repository owner on GitLab, in which to create the merge request, in the Repository Owner field.
Repository Name Specify the name of the repository in which to create the merge request.
Source Branch Specify the source branch, from where to pull the changes, for the merge request.
Target Branch Specify the target branch, in which to merge the changes, for the merge request.
Merge Request Title Specify a title for the merge request being created in the GitLab repository.
Description (Optional) Specify a short description for the merge request being created in the GitLab repository.
Target Repository ID (Optional) Specify the project ID of the forked repository to create a merge request.
Remove Source Branch after Merging (Optional) Select if the source branch is to be deleted after merge completes.
Other Fields (Optional) Specify other fields in the JSON format. For more information about other fields, see https://docs.gitlab.com/ee/api/rest/index.html.

Output

The output contains the following populated JSON schema:

{
    "id": "",
    "iid": "",
    "project_id": "",
    "title": "",
    "description": "",
    "state": "",
    "created_at": "",
    "updated_at": "",
    "target_branch": "",
    "source_branch": "",
    "upvotes": "",
    "downvotes": "",
    "author": {
        "id": "",
        "name": "",
        "username": "",
        "state": "",
        "avatar_url": "",
        "web_url": ""
    },
    "assignee": {
        "id": "",
        "name": "",
        "username": "",
        "state": "",
        "avatar_url": "",
        "web_url": ""
    },
    "source_project_id": "",
    "target_project_id": "",
    "labels": [],
    "draft": "",
    "work_in_progress": "",
    "milestone": {
        "id": "",
        "iid": "",
        "project_id": "",
        "title": "",
        "description": "",
        "state": "",
        "created_at": "",
        "updated_at": "",
        "due_date": "",
        "start_date": "",
        "web_url": ""
    },
    "merge_when_pipeline_succeeds": "",
    "merge_status": "",
    "detailed_merge_status": "",
    "merge_error": "",
    "sha": "",
    "merge_commit_sha": "",
    "squash_commit_sha": "",
    "user_notes_count": "",
    "discussion_locked": "",
    "should_remove_source_branch": "",
    "force_remove_source_branch": "",
    "allow_collaboration": "",
    "allow_maintainer_to_push": "",
    "web_url": "",
    "references": {
        "short": "",
        "relative": "",
        "full": ""
    },
    "time_stats": {
        "time_estimate": "",
        "total_time_spent": "",
        "human_time_estimate": "",
        "human_total_time_spent": ""
    },
    "squash": "",
    "subscribed": "",
    "changes_count": "",
    "merged_by": {
        "id": "",
        "name": "",
        "username": "",
        "state": "",
        "avatar_url": "",
        "web_url": ""
    },
    "merge_user": {
        "id": "",
        "name": "",
        "username": "",
        "state": "",
        "avatar_url": "",
        "web_url": ""
    },
    "merged_at": "",
    "prepared_at": "",
    "closed_by": "",
    "closed_at": "",
    "latest_build_started_at": "",
    "latest_build_finished_at": "",
    "first_deployed_to_production_at": "",
    "pipeline": {
        "id": "",
        "sha": "",
        "ref": "",
        "status": "",
        "web_url": ""
    },
    "diff_refs": {
        "base_sha": "",
        "head_sha": "",
        "start_sha": ""
    },
    "diverged_commits_count": "",
    "task_completion_status": {
        "count": "",
        "completed_count": ""
    }
}

operation: List Repository Merge Requests

Input parameters

Parameter Description
Repository Type Select the type of the repository from which to retrieve the list of merge requests. You can select from the following options:
  • Organization/Group: Specify the name of the organization/group on GitLab, from which to retrieve the list of merge requests, in the Organization/Group Name field.
  • User: Specify the name of the repository owner on GitLab, from which to retrieve the list of merge requests, in the Repository Owner field.
Repository Name Specify the name of the repository from which to retrieve the list of merge requests.
State (Optional) Select an option to retrieve all merge requests with the selected status. You can select one of the following options:
  • Opened
  • Closed
  • Locked
  • Merged
Leave the parameter blank to fetch all merge requests regardless of their state.
Source Branch (Optional) Specify the source branch of the merge requests to filter the results.
Target Branch (Optional) Specify the target branch of the merge requests to filter the results.
Order By (Optional) Select the sorting criteria to sort the results. You can select from the following options:
  • ID
  • Name
  • Path
  • Created Date
  • Updated Date
  • Last Activity
Default sorting criteria is Created Date.
Sort Order (Optional) Select the sort order to sort the results. You can select from the following options:
  • Ascending
  • Descending
Default sort order is Descending.
Page (Optional) Specify the page number from which to return the results of the operation. By default, this value is set to 1.
Per Page (Optional) Specify the number of results, per page, that this operation should return. By default, this value is set to 20; and the maximum value you can specify for this parameter is 100.
Other Fields (Optional) Specify other fields in the JSON format. For more information about other fields, see https://docs.gitlab.com/ee/api/rest/index.html.

Output

The output contains the following populated JSON schema:

[
    {
        "id": "",
        "iid": "",
        "project_id": "",
        "title": "",
        "description": "",
        "state": "",
        "merged_by": {
            "id": "",
            "name": "",
            "username": "",
            "state": "",
            "avatar_url": "",
            "web_url": ""
        },
        "merge_user": {
            "id": "",
            "name": "",
            "username": "",
            "state": "",
            "avatar_url": "",
            "web_url": ""
        },
        "merged_at": "",
        "prepared_at": "",
        "closed_by": "",
        "closed_at": "",
        "created_at": "",
        "updated_at": "",
        "target_branch": "",
        "source_branch": "",
        "upvotes": "",
        "downvotes": "",
        "author": {
            "id": "",
            "name": "",
            "username": "",
            "state": "",
            "avatar_url": "",
            "web_url": ""
        },
        "assignee": {
            "id": "",
            "name": "",
            "username": "",
            "state": "",
            "avatar_url": "",
            "web_url": ""
        },
        "assignees": [
            {
                "name": "",
                "username": "",
                "id": "",
                "state": "",
                "avatar_url": "",
                "web_url": ""
            }
        ],
        "reviewers": [
            {
                "id": "",
                "name": "",
                "username": "",
                "state": "",
                "avatar_url": "",
                "web_url": ""
            }
        ],
        "source_project_id": "",
        "target_project_id": "",
        "labels": [],
        "draft": "",
        "work_in_progress": "",
        "milestone": {
            "id": "",
            "iid": "",
            "project_id": "",
            "title": "",
            "description": "",
            "state": "",
            "created_at": "",
            "updated_at": "",
            "due_date": "",
            "start_date": "",
            "web_url": ""
        },
        "merge_when_pipeline_succeeds": "",
        "merge_status": "",
        "detailed_merge_status": "",
        "sha": "",
        "merge_commit_sha": "",
        "squash_commit_sha": "",
        "user_notes_count": "",
        "discussion_locked": "",
        "should_remove_source_branch": "",
        "force_remove_source_branch": "",
        "allow_collaboration": "",
        "allow_maintainer_to_push": "",
        "web_url": "",
        "references": {
            "short": "",
            "relative": "",
            "full": ""
        },
        "time_stats": {
            "time_estimate": "",
            "total_time_spent": "",
            "human_time_estimate": "",
            "human_total_time_spent": ""
        },
        "squash": "",
        "task_completion_status": {
            "count": "",
            "completed_count": ""
        },
        "has_conflicts": "",
        "blocking_discussions_resolved": ""
    }
]

operation: Update Merge Request

Input parameters

Parameter Description
Repository Type Select the type of the repository in which to update the merge request. You can select from the following options:
  • Organization/Group: Specify the name of the organization/group on GitLab, in which to update the merge request, in the Organization/Group Name field.
  • User: Specify the name of the repository owner on GitLab, in which to update the merge request, in the Repository Owner field.
Repository Name Specify the name of the repository in which to update the merge request.
Merge Request IID Specify The internal ID (IID) of a merge request to update.
Title of MR Specify a title to update in the merge request being updated in the GitLab repository.
Assignee Names (Optional) Specify the comma separated value of the names of the users to assign the merge request to. Set to 0 to unassign all assignees.
Reviewer Names (Optional) Specify the comma separated value of the names of the users to set as a reviewer to the merge request. Set the value to 0 to unset all reviewers.
Target Branch Specify the target branch, in which to merge the changes, to update in the merge request.
State (Optional) Select to update the state of the merge request. You can select from following options:
  • Reopen
  • Close
Description (Optional) Specify a short description to update in the merge request being updated in the GitLab repository.
Remove Source Branch after Merging (Optional) Select if the source branch is to be deleted after the merge completes.
Other Fields (Optional) Specify other fields in the JSON format. For more information about other fields, see https://docs.gitlab.com/ee/api/rest/index.html.

Output

The output contains the following populated JSON schema:

{
    "id": "",
    "iid": "",
    "project_id": "",
    "title": "",
    "description": "",
    "state": "",
    "created_at": "",
    "updated_at": "",
    "target_branch": "",
    "source_branch": "",
    "upvotes": "",
    "downvotes": "",
    "author": {
        "id": "",
        "name": "",
        "username": "",
        "state": "",
        "avatar_url": "",
        "web_url": ""
    },
    "assignee": {
        "id": "",
        "name": "",
        "username": "",
        "state": "",
        "avatar_url": "",
        "web_url": ""
    },
    "assignees": [
        {
            "name": "",
            "username": "",
            "id": "",
            "state": "",
            "avatar_url": "",
            "web_url": ""
        }
    ],
    "reviewers": [
        {
            "name": "",
            "username": "",
            "id": "",
            "state": "",
            "avatar_url": "",
            "web_url": ""
        }
    ],
    "source_project_id": "",
    "target_project_id": "",
    "labels": [],
    "draft": "",
    "work_in_progress": "",
    "milestone": {
        "id": "",
        "iid": "",
        "project_id": "",
        "title": "",
        "description": "",
        "state": "",
        "created_at": "",
        "updated_at": "",
        "due_date": "",
        "start_date": "",
        "web_url": ""
    },
    "merge_when_pipeline_succeeds": "",
    "merge_status": "",
    "detailed_merge_status": "",
    "merge_error": "",
    "sha": "",
    "merge_commit_sha": "",
    "squash_commit_sha": "",
    "user_notes_count": "",
    "discussion_locked": "",
    "should_remove_source_branch": "",
    "force_remove_source_branch": "",
    "allow_collaboration": "",
    "allow_maintainer_to_push": "",
    "web_url": "",
    "references": {
        "short": "",
        "relative": "",
        "full": ""
    },
    "time_stats": {
        "time_estimate": "",
        "total_time_spent": "",
        "human_time_estimate": "",
        "human_total_time_spent": ""
    },
    "squash": "",
    "subscribed": "",
    "changes_count": "",
    "merged_by": {
        "id": "",
        "name": "",
        "username": "",
        "state": "",
        "avatar_url": "",
        "web_url": ""
    },
    "merge_user": {
        "id": "",
        "name": "",
        "username": "",
        "state": "",
        "avatar_url": "",
        "web_url": ""
    },
    "merged_at": "",
    "prepared_at": "",
    "closed_by": "",
    "closed_at": "",
    "latest_build_started_at": "",
    "latest_build_finished_at": "",
    "first_deployed_to_production_at": "",
    "pipeline": {
        "id": "",
        "sha": "",
        "ref": "",
        "status": "",
        "web_url": ""
    },
    "diff_refs": {
        "base_sha": "",
        "head_sha": "",
        "start_sha": ""
    },
    "diverged_commits_count": "",
    "task_completion_status": {
        "count": "",
        "completed_count": ""
    }
}

operation: List Merge Request Reviewers

Input parameters

Parameter Description
Repository Type Select the type of the repository from which to retrieve the list of merge request reviewers. You can select from the following options:
  • Organization/Group: Specify the name of the organization/group on GitLab, from which to retrieve the list of merge request reviewers, in the Organization/Group Name field.
  • User: Specify the name of the repository owner on GitLab, from which to create the list of merge request reviewers, in the Repository Owner field.
Repository Name Specify the name of the repository from which to retrieve the list of merge request reviewers.
Merge Request IID Specify The internal ID (IID) of a merge request to retrieve its reviewers.

Output

The output contains the following populated JSON schema:

[
    {
        "user": {
            "id": "",
            "name": "",
            "username": "",
            "state": "",
            "avatar_url": "",
            "web_url": ""
        },
        "state": "",
        "created_at": ""
    }
]

operation: Create Merge Request Comment

Input parameters

Parameter Description
Repository Type Select the type of the repository in which to create a merge request comment. You can select from the following options:
  • Organization/Group: Specify the name of the organization/group on GitLab, in which to create a merge request comment, in the Organization/Group Name field.
  • User: Specify the name of the repository owner on GitLab, in which to create a merge request comment, in the Repository Owner field.
Repository Name Specify the name of the repository in which to create the merge request comment.
Merge Request IID Specify The internal ID (IID) of a merge request to create the comment.
Description Specify text for the merge request comment. The maximum limit is 1,000,000 characters.
Other Fields (Optional) Specify other fields in the JSON format. For more information about other fields, see https://docs.gitlab.com/ee/api/rest/index.html.

Output

The output contains the following populated JSON schema:

{
    "project_id": "",
    "id": "",
    "created_at": "",
    "iid": "",
    "title": "",
    "state": "",
    "assignees": [],
    "assignee": "",
    "type": "",
    "labels": [],
    "upvotes": "",
    "downvotes": "",
    "merge_requests_count": "",
    "author": {
        "name": "",
        "avatar_url": "",
        "state": "",
        "web_url": "",
        "id": "",
        "username": ""
    },
    "description": "",
    "updated_at": "",
    "closed_at": "",
    "closed_by": "",
    "milestone": "",
    "subscribed": "",
    "user_notes_count": "",
    "due_date": "",
    "web_url": "",
    "references": {
        "short": "",
        "relative": "",
        "full": ""
    },
    "time_stats": {
        "time_estimate": "",
        "total_time_spent": "",
        "human_time_estimate": "",
        "human_total_time_spent": ""
    },
    "confidential": "",
    "discussion_locked": "",
    "issue_type": "",
    "severity": "",
    "_links": {
        "self": "",
        "notes": "",
        "award_emoji": "",
        "project": "",
        "closed_as_duplicate_of": ""
    },
    "task_completion_status": {
        "count": "",
        "completed_count": ""
    }
}

operation: List Merge Request Comments

Input parameters

Parameter Description
Repository Type Select the type of the repository from which to retrieve the merge request comments. You can select from the following options:
  • Organization/Group: Specify the name of the organization/group on GitLab, from which to retrieve the merge request comments, in the Organization/Group Name field.
  • User: Specify the name of the repository owner on GitLab, from which to retrieve the merge request comments, in the Repository Owner field.
Repository Name Specify the name of the repository from whose merge request the comments are to be retrieved.
Merge Request IID Specify The internal ID (IID) of a merge request whose comments are to be retrieved.
Order By (Optional) Select the sorting criteria to sort the results. You can select from the following options:
  • Created Date
  • Updated Date
Default sorting criteria is Created Date.
Sort Order (Optional) Select the sort order to sort the results. You can select from the following options:
  • Ascending
  • Descending
Default sort order is Descending.

Output

The output contains the following populated JSON schema:

[
    {
        "id": "",
        "body": "",
        "attachment": "",
        "author": {
            "id": "",
            "username": "",
            "email": "",
            "name": "",
            "state": "",
            "created_at": ""
        },
        "created_at": "",
        "updated_at": "",
        "system": "",
        "noteable_id": "",
        "noteable_type": "",
        "project_id": "",
        "noteable_iid": "",
        "resolvable": "",
        "confidential": "",
        "internal": ""
    }
]

operation: Merge a Merge Request

Input parameters

Parameter Description
Repository Type Select the type of the repository in which to merge the merge request. You can select from the following options:
  • Organization/Group: Specify the name of the organization/group on GitLab, in which to merge the merge request, in the Organization/Group Name field.
  • User: Specify the name of the repository owner on GitLab, in which to merge the merge request, in the Repository Owner field.
Repository Name Specify the name of the repository in which to merge the merge request.
Merge Request IID Specify The internal ID (IID) of a merge request to merge.
Merge Commit Message (Optional) Specify a message to attach to the merge commit.
Remove Source Branch after Merging (Optional) Select if the source branch is to be deleted after the merge completes.
Other Fields (Optional) Specify other fields in the JSON format. For more information about other fields, see https://docs.gitlab.com/ee/api/rest/index.html.

Output

The output contains the following populated JSON schema:

{
    "id": "",
    "iid": "",
    "project_id": "",
    "title": "",
    "description": "",
    "state": "",
    "created_at": "",
    "updated_at": "",
    "target_branch": "",
    "source_branch": "",
    "upvotes": "",
    "downvotes": "",
    "author": {
        "id": "",
        "name": "",
        "username": "",
        "state": "",
        "avatar_url": "",
        "web_url": ""
    },
    "assignee": {
        "id": "",
        "name": "",
        "username": "",
        "state": "",
        "avatar_url": "",
        "web_url": ""
    },
    "assignees": [
        {
            "name": "",
            "username": "",
            "id": "",
            "state": "",
            "avatar_url": "",
            "web_url": ""
        }
    ],
    "reviewers": [
        {
            "name": "",
            "username": "",
            "id": "",
            "state": "",
            "avatar_url": "",
            "web_url": ""
        }
    ],
    "source_project_id": "",
    "target_project_id": "",
    "labels": [],
    "draft": "",
    "work_in_progress": "",
    "milestone": {
        "id": "",
        "iid": "",
        "project_id": "",
        "title": "",
        "description": "",
        "state": "",
        "created_at": "",
        "updated_at": "",
        "due_date": "",
        "start_date": "",
        "web_url": ""
    },
    "merge_when_pipeline_succeeds": "",
    "merge_status": "",
    "detailed_merge_status": "",
    "merge_error": "",
    "sha": "",
    "merge_commit_sha": "",
    "squash_commit_sha": "",
    "user_notes_count": "",
    "discussion_locked": "",
    "should_remove_source_branch": "",
    "force_remove_source_branch": "",
    "allow_collaboration": "",
    "allow_maintainer_to_push": "",
    "web_url": "",
    "references": {
        "short": "",
        "relative": "",
        "full": ""
    },
    "time_stats": {
        "time_estimate": "",
        "total_time_spent": "",
        "human_time_estimate": "",
        "human_total_time_spent": ""
    },
    "squash": "",
    "subscribed": "",
    "changes_count": "",
    "merged_by": {
        "id": "",
        "name": "",
        "username": "",
        "state": "",
        "avatar_url": "",
        "web_url": ""
    },
    "merge_user": {
        "id": "",
        "name": "",
        "username": "",
        "state": "",
        "avatar_url": "",
        "web_url": ""
    },
    "merged_at": "",
    "prepared_at": "",
    "closed_by": "",
    "closed_at": "",
    "latest_build_started_at": "",
    "latest_build_finished_at": "",
    "first_deployed_to_production_at": "",
    "pipeline": {
        "id": "",
        "sha": "",
        "ref": "",
        "status": "",
        "web_url": ""
    },
    "diff_refs": {
        "base_sha": "",
        "head_sha": "",
        "start_sha": ""
    },
    "diverged_commits_count": "",
    "task_completion_status": {
        "count": "",
        "completed_count": ""
    }
}

operation: Create Issue

Input parameters

Parameter Description
Repository Type Select the type of the repository in which to create the issue. You can select from the following options:
  • Organization/Group: Specify the name of the organization/group on GitLab, in which to create the issue, in the Organization/Group Name field.
  • User: Specify the name of the repository owner on GitLab, in which to create the issue, in the Repository Owner field.
Repository Name Specify the name of the repository in which to create the issue.
Title of Issue Specify title of issue being created in the GitLab repository.
Description (Optional) Specify a short description for the issue being created.
Assignee Name (Optional) Specify the the name of the user to whom to assign the issue.
Assignee Names (Optional) Specify a comma-separated list of users to whom to assign the issue.
Labels (Optional) Specify a comma-separated list of label names to be assigned to the issue.
Other Fields (Optional) Specify other fields in the JSON format. For more information about other fields, see https://docs.gitlab.com/ee/api/rest/index.html.

Output

The output contains the following populated JSON schema:

{
    "project_id": "",
    "id": "",
    "created_at": "",
    "iid": "",
    "title": "",
    "state": "",
    "assignees": [],
    "assignee": "",
    "type": "",
    "labels": [],
    "upvotes": "",
    "downvotes": "",
    "merge_requests_count": "",
    "author": {
        "name": "",
        "avatar_url": "",
        "state": "",
        "web_url": "",
        "id": "",
        "username": ""
    },
    "description": "",
    "updated_at": "",
    "closed_at": "",
    "closed_by": "",
    "milestone": "",
    "subscribed": "",
    "user_notes_count": "",
    "due_date": "",
    "web_url": "",
    "references": {
        "short": "",
        "relative": "",
        "full": ""
    },
    "time_stats": {
        "time_estimate": "",
        "total_time_spent": "",
        "human_time_estimate": "",
        "human_total_time_spent": ""
    },
    "confidential": "",
    "discussion_locked": "",
    "issue_type": "",
    "severity": "",
    "_links": {
        "self": "",
        "notes": "",
        "award_emoji": "",
        "project": "",
        "closed_as_duplicate_of": ""
    },
    "task_completion_status": {
        "count": "",
        "completed_count": ""
    }
}

operation: List Repository Issues

Input parameters

Parameter Description
Repository Type Select the type of the repository from which to retrieve the list of issues. You can select from the following options:
  • Organization/Group: Specify the name of the organization/group on GitLab, from which to retrieve the list of issues, in the Organization/Group Name field.
  • User: Specify the name of the repository owner on GitLab, from which to retrieve the list of issues, in the Repository Owner field.
Repository Name Specify the name of the repository from which to retrieve the list of issues.
Assignee Name (Optional) Specify the the name of the user whose assigned issues are to be retrieved.
State (Optional) Select the state of the issues to retrieve. You can select from the following options:
  • Opened
  • Closed
Leave the parameter blank to fetch all issues regardless of their state.
Created After (Optional) Specify the time to retrieve issues which were created after the specified time.
Since (Optional) Specify the time to retrieve the issues which is updated after specified time.
Order By (Optional) Select the sorting criteria to sort the results. You can select from the following options:
  • Created Date
  • Updated Date
  • Priority
  • Due Date
  • Relative Position
  • Label Priority
  • Milestone Due
  • Popularity
  • Weight
  • Default is Created Date.
Default sorting criteria is Created Date.
Sort Order (Optional) Select the sort order to sort the results. You can select from the following options:
  • Ascending
  • Descending
Default sort order is Descending.
Page (Optional) Specify the page number from which to return the results of the operation. By default, this value is set to 1.
Per Page (Optional) Specify the number of results, per page, that this operation should return. By default, this value is set to 20; and the maximum value you can specify for this parameter is 100.
Other Fields (Optional) Specify other fields in the JSON format. For more information about other fields, see https://docs.gitlab.com/ee/api/rest/index.html.

Output

The output contains the following populated JSON schema:

[
    {
        "project_id": "",
        "milestone": {
            "due_date": "",
            "project_id": "",
            "state": "",
            "description": "",
            "iid": "",
            "id": "",
            "title": "",
            "created_at": "",
            "updated_at": ""
        },
        "author": {
            "state": "",
            "web_url": "",
            "avatar_url": "",
            "username": "",
            "id": "",
            "name": ""
        },
        "description": "",
        "state": "",
        "iid": "",
        "assignees": [
            {
                "avatar_url": "",
                "web_url": "",
                "state": "",
                "username": "",
                "id": "",
                "name": ""
            }
        ],
        "assignee": {
            "avatar_url": "",
            "web_url": "",
            "state": "",
            "username": "",
            "id": "",
            "name": ""
        },
        "type": "",
        "labels": [],
        "upvotes": "",
        "downvotes": "",
        "merge_requests_count": "",
        "id": "",
        "title": "",
        "updated_at": "",
        "created_at": "",
        "closed_at": "",
        "closed_by": {
            "state": "",
            "web_url": "",
            "avatar_url": "",
            "username": "",
            "id": "",
            "name": ""
        },
        "user_notes_count": "",
        "due_date": "",
        "web_url": "",
        "references": {
            "short": "",
            "relative": "",
            "full": ""
        },
        "time_stats": {
            "time_estimate": "",
            "total_time_spent": "",
            "human_time_estimate": "",
            "human_total_time_spent": ""
        },
        "has_tasks": "",
        "task_status": "",
        "confidential": "",
        "discussion_locked": "",
        "issue_type": "",
        "severity": "",
        "_links": {
            "self": "",
            "notes": "",
            "award_emoji": "",
            "project": "",
            "closed_as_duplicate_of": ""
        },
        "task_completion_status": {
            "count": "",
            "completed_count": ""
        }
    }
]

operation: Update Issue

Input parameters

Parameter Description
Repository Type Select the type of the repository in which to update the issue. You can select from the following options:
  • Organization/Group: Specify the name of the organization/group on GitLab, in which to update the issue, in the Organization/Group Name field.
  • User: Specify the name of the repository owner on GitLab, in which to update the issue, in the Repository Owner field.
Repository Name Specify the name of the repository whose issues are to be updated on GitLab.
Issue IID Specify The internal ID (IID) of the issue to update.
Title of Issue Specify title of issue to update.
Description (Optional) Specify a short updated description of the issue to update.
Assignee Names (Optional) Specify a comma-separated list of users to whom to assign the issue. Set to 0 or leave the parameter blank to remove all assignees.
Confidential (Optional) Select True if the issue is to be marked confidential, select False to mark the issue as non-confidential, or leave it blank to ignore the confidentiality status.
Issue Type (Optional) Select the type of the issue to update. You can choose from the following options:
  • Issue
  • Incident
  • Test Case
State (Optional) Select the state of the issue to update. You can choose from the following options:
  • Close
  • Reopen
Labels (Optional) Specify a comma-separated list of label names to be assigned to an issue.

NOTE: Existing labels are removed when applying the specified list.

Due Date (Optional) Specify a due date for the issue.
Other Fields (Optional) Specify other fields in the JSON format. For more information about other fields, see https://docs.gitlab.com/ee/api/rest/index.html.

Output

The output contains the following populated JSON schema:

{
    "project_id": "",
    "id": "",
    "created_at": "",
    "iid": "",
    "title": "",
    "state": "",
    "assignees": [],
    "assignee": "",
    "type": "",
    "labels": [],
    "upvotes": "",
    "downvotes": "",
    "merge_requests_count": "",
    "author": {
        "name": "",
        "avatar_url": "",
        "state": "",
        "web_url": "",
        "id": "",
        "username": ""
    },
    "description": "",
    "updated_at": "",
    "closed_at": "",
    "closed_by": "",
    "milestone": "",
    "subscribed": "",
    "user_notes_count": "",
    "due_date": "",
    "web_url": "",
    "references": {
        "short": "",
        "relative": "",
        "full": ""
    },
    "time_stats": {
        "time_estimate": "",
        "total_time_spent": "",
        "human_time_estimate": "",
        "human_total_time_spent": ""
    },
    "confidential": "",
    "discussion_locked": "",
    "issue_type": "",
    "severity": "",
    "_links": {
        "self": "",
        "notes": "",
        "award_emoji": "",
        "project": "",
        "closed_as_duplicate_of": ""
    },
    "task_completion_status": {
        "count": "",
        "completed_count": ""
    }
}

operation: Create Issue Comment

Input parameters

Parameter Description
Repository Type Select the type of the repository in which to create the issue comment. You can select from the following options:
  • Organization/Group: Specify the name of the organization/group on GitLab, in which to create the issue comment, in the Organization/Group Name field.
  • User: Specify the name of the repository owner on GitLab, in which to create the issue comment, in the Repository Owner field.
Repository Name Specify the name of the repository in which to create the issue comment.
Issue IID Specify The internal ID (IID) of issue to create the comment.
Comment Specify the text for the issue comment. The maximum limit is 1,000,000 characters.
Confidential (Optional) Select True if the issue is to be marked confidential, select False to mark the issue as non-confidential, or leave it blank to ignore the confidentiality status.
Other Fields (Optional) Specify other fields in the JSON format. For more information about other fields, see https://docs.gitlab.com/ee/api/rest/index.html.

Output

The output contains the following populated JSON schema:

{
    "project_id": "",
    "id": "",
    "created_at": "",
    "iid": "",
    "title": "",
    "state": "",
    "assignees": [],
    "assignee": "",
    "type": "",
    "labels": [],
    "upvotes": "",
    "downvotes": "",
    "merge_requests_count": "",
    "author": {
        "name": "",
        "avatar_url": "",
        "state": "",
        "web_url": "",
        "id": "",
        "username": ""
    },
    "description": "",
    "updated_at": "",
    "closed_at": "",
    "closed_by": "",
    "milestone": "",
    "subscribed": "",
    "user_notes_count": "",
    "due_date": "",
    "web_url": "",
    "references": {
        "short": "",
        "relative": "",
        "full": ""
    },
    "time_stats": {
        "time_estimate": "",
        "total_time_spent": "",
        "human_time_estimate": "",
        "human_total_time_spent": ""
    },
    "confidential": "",
    "discussion_locked": "",
    "issue_type": "",
    "severity": "",
    "_links": {
        "self": "",
        "notes": "",
        "award_emoji": "",
        "project": "",
        "closed_as_duplicate_of": ""
    },
    "task_completion_status": {
        "count": "",
        "completed_count": ""
    }
}

operation: Create Release

Input parameters

Parameter Description
Repository Type Select the type of the repository in which to create the release. You can select from the following options:
  • Organization/Group: Specify the name of the organization/group on GitLab, in which to create the release, in the Organization/Group Name field.
  • User: Specify the name of the repository owner on GitLab, in which to create the release, in the Repository Owner field.
Repository Name Specify the name of the repository in which to create the release.
Tag Name Specify the tag from where the release is created.
Target Branch (Optional) Specify the branch name from where the release tag is to be created.

NOTE: This field is mandatory if no tags exist. If a tag exists, it does not update the existing tag.

Tag Message (Optional) Specify the message to use if creating a new annotated tag.
Name of Release (Optional) Specify a name of release that you want to create in the GitLab repository.
Description (Optional) Specify a short description of the release you want to create on GitLab
Other Fields (Optional) Specify other fields in the JSON format. For more information about other fields, see https://docs.gitlab.com/ee/api/rest/index.html.

Output

The output contains the following populated JSON schema:

{
    "tag_name": "",
    "description": "",
    "name": "",
    "created_at": "",
    "released_at": "",
    "author": {
        "id": "",
        "name": "",
        "username": "",
        "state": "",
        "avatar_url": "",
        "web_url": ""
    },
    "commit": {
        "id": "",
        "short_id": "",
        "title": "",
        "created_at": "",
        "parent_ids": [],
        "message": "",
        "author_name": "",
        "author_email": "",
        "authored_date": "",
        "committer_name": "",
        "committer_email": "",
        "committed_date": ""
    },
    "milestones": [
        {
            "id": "",
            "iid": "",
            "project_id": "",
            "title": "",
            "description": "",
            "state": "",
            "created_at": "",
            "updated_at": "",
            "due_date": "",
            "start_date": "",
            "web_url": "",
            "issue_stats": {
                "total": "",
                "closed": ""
            }
        }
    ],
    "commit_path": "",
    "tag_path": "",
    "evidence_sha": "",
    "assets": {
        "count": "",
        "sources": [
            {
                "format": "",
                "url": ""
            }
        ],
        "links": [
            {
                "id": "",
                "name": "",
                "url": "",
                "link_type": ""
            }
        ],
        "evidence_file_path": ""
    }
}

operation: List Releases

Input parameters

Parameter Description
Repository Type Select the type of the repository from which to retrieve the list of releases. You can select from the following options:
  • Organization/Group: Specify the name of the organization/group on GitLab, from which to retrieve the list of releases, in the Organization/Group Name field.
  • User: Specify the name of the repository owner on GitLab, from which to retrieve the list of releases, in the Repository Owner field.
Repository Name Specify the name of the repository from which to retrieve the list of releases.
Order By (Optional) Select the sorting criteria to sort the results. You can select from the following options:
  • Released Date
  • Created Date
Default sorting criteria is Released Date.
Sort Order (Optional) Select the sort order to sort the results. You can select from the following options:
  • Ascending
  • Descending
Default sort order is Descending.
Page (Optional) Specify the page number from which to return the results of the operation. By default, this value is set to 1.
Per Page (Optional) Specify the number of results, per page, that this operation should return. By default, this value is set to 20; and the maximum value you can specify for this parameter is 100.
Other Fields (Optional) Specify other fields in the JSON format. For more information about other fields, see https://docs.gitlab.com/ee/api/rest/index.html.

Output

The output contains the following populated JSON schema:

[
    {
        "tag_name": "",
        "description": "",
        "name": "",
        "created_at": "",
        "released_at": "",
        "author": {
            "id": "",
            "name": "",
            "username": "",
            "state": "",
            "avatar_url": "",
            "web_url": ""
        },
        "commit": {
            "id": "",
            "short_id": "",
            "title": "",
            "created_at": "",
            "parent_ids": [],
            "message": "",
            "author_name": "",
            "author_email": "",
            "authored_date": "",
            "committer_name": "",
            "committer_email": "",
            "committed_date": ""
        },
        "milestones": [
            {
                "id": "",
                "iid": "",
                "project_id": "",
                "title": "",
                "description": "",
                "state": "",
                "created_at": "",
                "updated_at": "",
                "due_date": "",
                "start_date": "",
                "web_url": "",
                "issue_stats": {
                    "total": "",
                    "closed": ""
                }
            }
        ],
        "commit_path": "",
        "tag_path": "",
        "assets": {
            "count": "",
            "sources": [
                {
                    "format": "",
                    "url": ""
                }
            ],
            "links": [
                {
                    "id": "",
                    "name": "",
                    "url": "",
                    "link_type": ""
                }
            ],
            "evidence_file_path": ""
        },
        "evidences": [
            {
                "sha": "",
                "filepath": "",
                "collected_at": ""
            }
        ]
    }
]

operation: Star Repository

Input parameters

Parameter Description
Repository Type Select the type of the repository which is to be starred. You can select from the following options:
  • Organization/Group: Specify the name of the organization/group on GitLab, which is to be starred, in the Organization/Group Name field.
  • User: Specify the name of the repository owner on GitLab, which is to be starred, in the Repository Owner field.
Repository Name Specify the name of the repository which is to be starred.

Output

The output contains the following populated JSON schema:

{
    "id": "",
    "description": "",
    "description_html": "",
    "default_branch": "",
    "visibility": "",
    "ssh_url_to_repo": "",
    "http_url_to_repo": "",
    "web_url": "",
    "readme_url": "",
    "tag_list": [],
    "topics": [],
    "name": "",
    "name_with_namespace": "",
    "path": "",
    "path_with_namespace": "",
    "issues_enabled": "",
    "open_issues_count": "",
    "merge_requests_enabled": "",
    "jobs_enabled": "",
    "wiki_enabled": "",
    "snippets_enabled": "",
    "can_create_merge_request_in": "",
    "resolve_outdated_diff_discussions": "",
    "container_registry_enabled": "",
    "container_registry_access_level": "",
    "security_and_compliance_access_level": "",
    "created_at": "",
    "updated_at": "",
    "last_activity_at": "",
    "creator_id": "",
    "namespace": {
        "id": "",
        "name": "",
        "path": "",
        "kind": "",
        "full_path": ""
    },
    "import_status": "",
    "archived": "",
    "avatar_url": "",
    "license_url": "",
    "license": {
        "key": "",
        "name": "",
        "nickname": "",
        "html_url": "",
        "source_url": ""
    },
    "shared_runners_enabled": "",
    "group_runners_enabled": "",
    "forks_count": "",
    "star_count": "",
    "public_jobs": "",
    "shared_with_groups": [],
    "only_allow_merge_if_pipeline_succeeds": "",
    "allow_merge_on_skipped_pipeline": "",
    "restrict_user_defined_variables": "",
    "only_allow_merge_if_all_discussions_are_resolved": "",
    "remove_source_branch_after_merge": "",
    "request_access_enabled": "",
    "merge_method": "",
    "squash_option": "",
    "autoclose_referenced_issues": "",
    "enforce_auth_checks_on_uploads": "",
    "suggestion_commit_message": "",
    "merge_commit_template": "",
    "container_registry_image_prefix": "",
    "_links": {
        "self": "",
        "issues": "",
        "merge_requests": "",
        "repo_branches": "",
        "labels": "",
        "events": "",
        "members": "",
        "cluster_agents": ""
    }
}

operation: List Starrers

Input parameters

Parameter Description
Repository Type Select the type of the repository from which to retrieve the list of starrers (users who have starred a repository). You can select from the following options:
  • Organization/Group: Specify the name of the organization/group on GitLab, from which to retrieve the list of starrers, in the Organization/Group Name field.
  • User: Specify the name of the repository owner on GitLab, from which to retrieve the list of starrers, in the Repository Owner field.
Repository Name Specify the name of the repository from which to retrieve the list of starrers.
Search (Optional) Specify a search string using which to search for specific users.

Output

The output contains the following populated JSON schema:

[
    {
        "starred_since": "",
        "user": {
            "id": "",
            "username": "",
            "name": "",
            "state": "",
            "avatar_url": "",
            "web_url": ""
        }
    }
]

operation: Update Repository Notification Level

Input parameters

Parameter Description
Repository Type Select the type of the repository whose notification level is to be updated. You can select from the following options:
  • Organization/Group: Specify the name of the organization/group on GitLab, whose notification level is to be updated, in the Organization/Group Name field.
  • User: Specify the name of the repository owner on GitLab, whose notification level is to be updated, in the Repository Owner field.
Repository Name Specify the name of the repository whose notification level is to be updated.
Notification Level Specify the notification level to be updated. You can select from following options:
  • Disabled: Select this option to stop notifications.
  • Participating: Select this option to receive notifications for threads in which users have participated.
  • Watch: Select this option to receive notifications for any activity.
  • Global: Select this option to apply user's global settings.
  • Mention: Select this option to receive notifications when users are mentioned in a comment.
  • Custom: Select this option to receive notifications for selected events and threads in which users have participated. Select one or more from the following options:
    • Added as approver
    • Change reviewer merge request
    • Close issue
    • Close merge request
    • Failed pipeline
    • Fixed pipeline
    • Issue due
    • Merge merge request
    • Merge when pipeline succeeds
    • Moved project
    • New epic
    • New issue
    • New merge request
    • New note
    • New release
    • Push to merge request
    • Reassign issue
    • Reassign merge request
    • Reopen issue
    • Reopen merge request
    • Successful pipeline
Other Fields (Optional) Specify other fields in the JSON format. For more information about other fields, see https://docs.gitlab.com/ee/api/rest/index.html.

Output

The output contains the following populated JSON schema:

{
    "level": "",
    "events": {
        "new_note": "",
        "new_issue": "",
        "reopen_issue": "",
        "close_issue": "",
        "reassign_issue": "",
        "issue_due": "",
        "new_merge_request": "",
        "push_to_merge_request": "",
        "reopen_merge_request": "",
        "close_merge_request": "",
        "reassign_merge_request": "",
        "merge_merge_request": "",
        "failed_pipeline": "",
        "fixed_pipeline": "",
        "success_pipeline": ""
    }
}

operation: Update Remote Repository

Input parameters

Parameter Description
FortiSOAR File IRI Specify the FortiSOAR file IRI whose changes replace in the specified local repository.
Cloned Repository Path Specify the path of the cloned repository to which to apply the changes of the specified FortiSOAR file.

Output

The output contains a non-dictionary value.

operation: Clone Repository

Input parameters

Parameter Description
Repository Type Select the type of the repository to clone. You can select from the following options:
  • Organization/Group: Specify the name of the organization/group on GitLab, to clone, in the Organization/Group Name field.
  • User: Specify the name of the repository owner on GitLab, to clone, in the Repository Owner field.
Repository Name Specify the name of the repository to clone.
Branch Name Specify the branch name of the repository to clone.
Clone As ZIP Select this option to clone the specified repository as a zip file.
  • Archive Format: Select an archive format from the following options:
    • zip
    • tar.gz
    • tar
    • tar.bz2

Output

The output contains the following populated JSON schema:

{
    "path": ""
}

operation: Push Changes

Input parameters

Parameter Description
Repository Type Select the type of the repository in which to push the changes. You can select from the following options:
  • Organization/Group: Specify the name of the organization/group on GitLab, in which to push the changes, in the Organization/Group Name field.
  • User: Specify the name of the repository owner on GitLab, in which to push the changes, in the Repository Owner field.
Repository Name Specify the name of the repository in which to push the changes.
Cloned Repository Path Specify the path of the cloned repository in which to push the changes.
Branch Name Specify the name of the branch in which to push the changes.
Commit Message Specify the commit message to be used for pushing the changes.
Commit Description Specify the commit description to be used for pushing changes.

Output

The output contains the following populated JSON schema:

{
    "add": "",
    "commit": "",
    "push": ""
}

operation: Fetch Upstream

Input parameters

Parameter Description
Repository Type Select the type of the forked repository in which to fetch upstream changes. You can select from the following options:
  • Organization/Group: Specify the name of the organization/group on GitLab, in whose forked repository the upstream is to be fetched, in the Organization/Group Name field.
  • User: Specify the name of the repository owner on GitLab, in whose forked repository the upstream is to be fetched, in the Repository Owner field.
Repository Name Specify the name of the forked repository in which to fetch upstream changes.
Title of MR Specify a title of the merge request to create for the fork.
Source Branch Specify the source branch of the merge request to create for the fork.
Target Branch Specify the target branch of the merge request to create for the fork.
Description (Optional) Specify a short description of the merge request to create for the fork.

Output

The output contains the following populated JSON schema:

{
    "id": "",
    "iid": "",
    "project_id": "",
    "title": "",
    "description": "",
    "state": "",
    "created_at": "",
    "updated_at": "",
    "target_branch": "",
    "source_branch": "",
    "upvotes": "",
    "downvotes": "",
    "author": {
        "id": "",
        "name": "",
        "username": "",
        "state": "",
        "avatar_url": "",
        "web_url": ""
    },
    "assignee": {
        "id": "",
        "name": "",
        "username": "",
        "state": "",
        "avatar_url": "",
        "web_url": ""
    },
    "source_project_id": "",
    "target_project_id": "",
    "labels": [],
    "draft": "",
    "work_in_progress": "",
    "milestone": {
        "id": "",
        "iid": "",
        "project_id": "",
        "title": "",
        "description": "",
        "state": "",
        "created_at": "",
        "updated_at": "",
        "due_date": "",
        "start_date": "",
        "web_url": ""
    },
    "merge_when_pipeline_succeeds": "",
    "merge_status": "",
    "detailed_merge_status": "",
    "merge_error": "",
    "sha": "",
    "merge_commit_sha": "",
    "squash_commit_sha": "",
    "user_notes_count": "",
    "discussion_locked": "",
    "should_remove_source_branch": "",
    "force_remove_source_branch": "",
    "allow_collaboration": "",
    "allow_maintainer_to_push": "",
    "web_url": "",
    "references": {
        "short": "",
        "relative": "",
        "full": ""
    },
    "time_stats": {
        "time_estimate": "",
        "total_time_spent": "",
        "human_time_estimate": "",
        "human_total_time_spent": ""
    },
    "squash": "",
    "subscribed": "",
    "changes_count": "",
    "merged_by": {
        "id": "",
        "name": "",
        "username": "",
        "state": "",
        "avatar_url": "",
        "web_url": ""
    },
    "merge_user": {
        "id": "",
        "name": "",
        "username": "",
        "state": "",
        "avatar_url": "",
        "web_url": ""
    },
    "merged_at": "",
    "prepared_at": "",
    "closed_by": "",
    "closed_at": "",
    "latest_build_started_at": "",
    "latest_build_finished_at": "",
    "first_deployed_to_production_at": "",
    "pipeline": {
        "id": "",
        "sha": "",
        "ref": "",
        "status": "",
        "web_url": ""
    },
    "diff_refs": {
        "base_sha": "",
        "head_sha": "",
        "start_sha": ""
    },
    "diverged_commits_count": "",
    "task_completion_status": {
        "count": "",
        "completed_count": ""
    }
}

operation: Review Merge Request

Input parameters

Parameter Description
Repository Type Select the type of the repository in which to review the merge request. You can select from the following options:
  • Organization/Group: Specify the name of the organization/group on GitLab, in which to review the merge request, in the Organization/Group Name field.
  • User: Specify the name of the repository owner on GitLab, in which to review the merge request, in the Repository Owner field.
Repository Name Specify the name of the repository in which to review the merge request.
Merge Request IID Specify The internal ID (IID) of a merge request to review.
Action Select the action which you want to perform on the merge request. You can choose from following options:
  • Approve
  • Unapprove

Output

The output contains the following populated JSON schema:

Output schema when you choose "Action" "Approve":

{
    "id": "",
    "iid": "",
    "project_id": "",
    "title": "",
    "description": "",
    "state": "",
    "created_at": "",
    "updated_at": "",
    "merge_status": "",
    "approved": "",
    "approvals_required": "",
    "approvals_left": "",
    "require_password_to_approve": "",
    "approved_by": [
        {
            "user": {
                "id": "",
                "username": "",
                "name": "",
                "state": "",
                "locked": "",
                "avatar_url": "",
                "web_url": ""
            }
        }
    ],
    "suggested_approvers": [],
    "approvers": [],
    "approver_groups": [],
    "user_has_approved": "",
    "user_can_approve": "",
    "approval_rules_left": [],
    "has_approval_rules": "",
    "merge_request_approvers_available": "",
    "multiple_approval_rules_available": "",
    "invalid_approvers_rules": []
}

Output schema when you choose "Action" "Unapprove":

{
    "id": "",
    "iid": "",
    "project_id": "",
    "title": "",
    "description": "",
    "state": "",
    "created_at": "",
    "updated_at": "",
    "merge_status": "",
    "approved": "",
    "approvals_required": "",
    "approvals_left": "",
    "require_password_to_approve": "",
    "approved_by": [],
    "suggested_approvers": [],
    "approvers": [],
    "approver_groups": [],
    "user_has_approved": "",
    "user_can_approve": "",
    "approval_rules_left": [],
    "has_approval_rules": "",
    "merge_request_approvers_available": "",
    "multiple_approval_rules_available": "",
    "invalid_approvers_rules": []
}

operation: Get Approval State of Merge Request

Input parameters

Parameter Description
Repository Type Select the type of the repository from which to retrieve the merge request's approval state. You can select from the following options:
  • Organization/Group: Specify the name of the organization/group on GitLab, from which to retrieve the merge request's approval state, in the Organization/Group Name field.
  • User: Specify the name of the repository owner on GitLab, from which to retrieve the merge request's approval state, in the Repository Owner field.
Repository Name Specify the name of the repository from which to retrieve the merge request's approval state.
Merge Request IID Specify The internal ID (IID) of a merge request to retrieve its approval state.

Output

The output contains the following populated JSON schema:

{
    "rules": [
        {
            "id": "",
            "name": "",
            "users": [],
            "groups": [],
            "section": "",
            "approved": "",
            "rule_type": "",
            "code_owner": "",
            "overridden": "",
            "approved_by": [
                {
                    "id": "",
                    "name": "",
                    "state": "",
                    "locked": "",
                    "web_url": "",
                    "username": "",
                    "avatar_url": ""
                }
            ],
            "source_rule": "",
            "approvals_required": "",
            "eligible_approvers": [],
            "contains_hidden_groups": ""
        }
    ],
    "approval_rules_overwritten": ""
}

operation: Get Server URL

Input parameters

None.

Output

The output contains the following populated JSON schema:

{
    "server_url": ""
}

Included playbooks

The Sample - GitLab - 2.0.0 playbook collection comes bundled with the GitLab connector. These playbooks contain steps using which you can perform all supported actions. You can see bundled playbooks in the Automation > Playbooks section in FortiSOAR™ after importing the GitLab connector.

Note: If you are planning to use any of the sample playbooks in your environment, ensure that you clone those playbooks and move them to a different collection since the sample playbook collection gets deleted during connector upgrade and delete.

Pluggable Source Control

NOTE: To use GitLab as a source control platform, all its associated playbooks must be in an active state.

The Sample - GitLab - 2.0.0 playbook collection contains pluggable source control that are used to perform actions through the Continuous Delivery solution pack. The pluggable source control playbooks are in the format: GitLab - playbookName. For example, GitLab - Create Repository.

Every playbook expects two input parameters:

  1. The first parameter should be connector_config_id which is used in connector actions' Configuration parameter.
  2. The second parameter is a dictionary containing connector action parameter names mapped to respective connector action parameters. Refer to the following table for more information on pluggable source control playbooks.

NOTE: To use GitLab as a source control platform, following playbooks must be in an active state.

Playbook Name Parameter Name Dictionary Required Tag Additional Information
GitLab - Add Pull Request Review add_pr_review_params
{ "org_name": "", "repo_name": "", "pull_number": "", "state": "" }
GitLab-AddPullRequestReview Not Required
GitLab - Update Issue update_issue_params
{ "org_name":"", "repo_name":"", "issue_no":"", "contents":"", "state":"" }
GitLab-UpdateIssue This playbook updates an issue and adds a comment using specified contents.
GitLab - Create Issue create_issue_params
{ "org_name":"", "repo_name":"", "issue_title":"", "issue_content":"", "issue_assignee":" " }
GitLab-CreateIssue This playbook creates issue and Add comment which will be provided in issue_content. Then we need to add new key "number" in response and map it with "iid" field from the response.
GitLab - List Repository Issue list_repo_issues_params
{ "org_name":"", "repo_name":"", "state":"", "created_after":"" }
GitLab-ListRepositoryIssue The last step of this playbook should be "Set Variable" step, where user should need to map the response of the "List Repository Issue" action with the following keys:
{"id": "", "html_url": "", "number": "", "title": "", "body": "", "reporterUsername": "", "assigneeUsername": "", "state": "", "repository_url": "" }
GitLab - Create Issue Comment add_issue_comment_params
{ "org_name":"", "repo_name":"", "cr_number":"", "commit_message":"" }
GitLab-CreateIssueComment Not Required
GitLab - Create Repository create_repo_params
{ "org_name":"", "repo_name":" " }
GitLab-CreateRepository "Create Repository" step should be set to Ignore Error Yes
GitLab - Create Branch create_branch_params
{ "org_name":"", "repo_name":"", "new_branch":"", "branch_name":"" }
GitLab-CreateBranch "Create Branch" step should be set Ignore Error Yes
GitLab - List Pull Request list_pr_params
{ "org_name": "", "repo_name": "", "state": "", "pull_number": "", }
GitLab-ListPullRequest The last step of this playbook should be "Set Variable" step, where user should need to map the response of "List Pull Request" action with below keys: { "reviewer_names": "", "html_url": "", "state": "", "body": "", "reporterUsername": "", "assigneeUsername": "", "repository_url": "" }
GitLab - Create Release create_release_params
{ "org_name":"", "repo_name":"", "tag_name":"", "base_branch":"", "release_description":"" }
GitLab-CreateRelease Not Required
GitLab - Delete Branch delete_branch_params
{ "org_name":"", "repo_name":"", "branch_name":"" }
GitLab-DeleteBranch Not Required
GitLab - Fetch Release fetch_release_params
{ "org_name":"", "repo_name":"", "release_name":"" }
GitLab-FetchRelease The last step of the playbook should be "Set Variable" step where user should return the Release matching the release_name key from input.
GitLab - Add Reviewers for a Pull Request add_reviewers_for_pr_params
{ "org_name":"", "repo_name":"", "pull_number":"", "reviewers":"" }
GitLab-PullRequestAddReviewers Note: This playbook will use "Update Merge Request" action to add reviewer
GitLab - List Pull Request Reviews list_pr_reviews_params
{ "org_name":"", "repo_name":"", "pull_number":"" }
GitLab-ListPullRequestReviews Keep Set Variable as the last step of this playbook where the key state has values APPROVED, if the pull request can be merged, or UNAPPROVED, if the PR cannot be merged.
GitLab - Create Pull Request create_pr_params
{ "org_name":"", "repo_name":"", "head_repo":"", "base_branch":"", "pr_title":"", "pr_comments":"" }
GitLab-CreatePullRequest Set Ignore Error flag to the step Create Pull Request to handle the scenario where if pull request is already created, the Create Pull Request action fails. If the playbook step executes successfully, we need to add new keys number and html_url in response and map it with the iid and web_url fields from the responses.
GitLab - Merge Pull Request merge_pr_params
{ "org_name":"", "repo_name":"", "pull_number":"" }
GitLab-MergePullRequest Not Required
GitLab - List Repository Collaborator list_repo_collaborator_params
{ "org_name":"", "repo_name":"" }
GitLab-ListRepositoryCollaborator Playbook will return list of users. Then we need to add new key "login" in response and map it with the "username" field from the response.
GitLab - Add Repository Collaborator add_repo_collaborator_params
{ "org_name":"", "repo_name":"", "username":"" }
GitLab-AddRepositoryCollaborator Not Required
GitLab - Clone Repository clone_repo_params
{ "org_name":"", "repo_name":"", "branch_name":"", "clone_as_zip":"" }
GitLab-CloneRepository Not Required
GitLab - Get Server URL Not Required Not Required GitLab-GetServerURL Not Required
GitLab - Update Remote Repository update_remote_repo_params
{"file_iri": "", "clone_path": ""}
GitLab-UpdateRemoteRepository Not Required
GitLab - Push Changes push_changes_params
{
    "org_name": "",
    "branch_name": "",
    "repo_type": "",
    "repo_name": "",
    "cloned_repo_path": "",
    "commit_message": "",
    "commit_description": ""
}
GitLab-PushChanges Not Required
GitLab - Create or Update File Content create_update_file_content_params
{ 
    "org_name": "",
    "file_name": "",
    "repo_name": "",
    "branch_name": "",
    "file_content": "",
    "commit_message": ""                
}
GitLab-CreateUpdateFileContent This playbook creates a file. The step Create Step has an Ignore Error flag set to Yes. If file exists, the step fails and the existing file is updated, otherwise a new file is created.

When a file is created, this playbook returns the result and status of the step Create File, otherwise it returns the result and status of the step Update File.

Previous
Next