{"id":15055546,"url":"https://github.com/semantic-release/gitlab","last_synced_at":"2025-10-06T21:18:08.062Z","repository":{"id":37883590,"uuid":"115946814","full_name":"semantic-release/gitlab","owner":"semantic-release","description":":fox_face: semantic-release plugin to publish a GitLab release","archived":false,"fork":false,"pushed_at":"2025-10-01T08:48:39.000Z","size":2959,"stargazers_count":316,"open_issues_count":32,"forks_count":90,"subscribers_count":10,"default_branch":"master","last_synced_at":"2025-10-04T19:43:30.816Z","etag":null,"topics":["git","gitlab","publish","release","semantic-release","version"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/semantic-release.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2018-01-01T20:48:13.000Z","updated_at":"2025-10-01T08:46:52.000Z","dependencies_parsed_at":"2022-07-14T06:00:33.809Z","dependency_job_id":"b405d010-a4b6-4dce-a6f2-4392fa282637","html_url":"https://github.com/semantic-release/gitlab","commit_stats":{"total_commits":600,"total_committers":37,"mean_commits":"16.216216216216218","dds":"0.31000000000000005","last_synced_commit":"e0d01742ca799806c51d976130e4d2be76cf11d6"},"previous_names":[],"tags_count":116,"template":false,"template_full_name":null,"purl":"pkg:github/semantic-release/gitlab","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/semantic-release%2Fgitlab","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/semantic-release%2Fgitlab/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/semantic-release%2Fgitlab/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/semantic-release%2Fgitlab/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/semantic-release","download_url":"https://codeload.github.com/semantic-release/gitlab/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/semantic-release%2Fgitlab/sbom","scorecard":{"id":810662,"data":{"date":"2025-08-11","repo":{"name":"github.com/semantic-release/gitlab","commit":"6c4926e91a34711fbe2ad7ec0e01c78a1ca2ffd3"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":7.1,"checks":[{"name":"Maintained","score":10,"reason":"30 commit(s) and 1 issue activity found in the last 90 days -- score normalized to 10","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Code-Review","score":-1,"reason":"Found no human activity in the last 27 changesets","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Pinned-Dependencies","score":10,"reason":"all dependencies are pinned","details":["Info:   6 out of   6 GitHub-owned GitHubAction dependencies pinned","Info:   3 out of   3 npmCommand dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Info: topLevel 'contents' permission set to 'read': .github/workflows/release.yml:10","Warn: no topLevel permission defined: .github/workflows/test.yml:1","Info: no jobLevel write permissions found"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: MIT License: LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Branch-Protection","score":-1,"reason":"internal error: error during branchesHandler.setup: internal error: githubv4.Query: Resource not accessible by integration","details":null,"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"Security-Policy","score":10,"reason":"security policy file detected","details":["Info: security policy file detected: github.com/semantic-release/.github/.github/SECURITY.md:1","Info: Found linked content: github.com/semantic-release/.github/.github/SECURITY.md:1","Info: Found disclosure, vulnerability, and/or timelines in security policy: github.com/semantic-release/.github/.github/SECURITY.md:1","Info: Found text in security policy: github.com/semantic-release/.github/.github/SECURITY.md:1"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"Packaging","score":10,"reason":"packaging workflow detected","details":["Info: Project packages its releases by way of GitHub Actions.: .github/workflows/release.yml:12"],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 30 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}}]},"last_synced_at":"2025-08-23T13:05:37.419Z","repository_id":37883590,"created_at":"2025-08-23T13:05:37.419Z","updated_at":"2025-08-23T13:05:37.419Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":278391773,"owners_count":25979065,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-04T02:00:05.491Z","response_time":63,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["git","gitlab","publish","release","semantic-release","version"],"created_at":"2024-09-24T21:44:20.764Z","updated_at":"2025-10-06T21:18:08.053Z","avatar_url":"https://github.com/semantic-release.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# @semantic-release/gitlab\n\n[**semantic-release**](https://github.com/semantic-release/semantic-release) plugin to publish a\n[GitLab release](https://docs.gitlab.com/user/project/releases/).\n\n[![Build Status](https://github.com/semantic-release/gitlab/workflows/Test/badge.svg)](https://github.com/semantic-release/gitlab/actions?query=workflow%3ATest+branch%3Amaster) [![npm latest version](https://img.shields.io/npm/v/@semantic-release/gitlab/latest.svg)](https://www.npmjs.com/package/@semantic-release/gitlab)\n[![npm next version](https://img.shields.io/npm/v/@semantic-release/gitlab/next.svg)](https://www.npmjs.com/package/@semantic-release/gitlab)\n\n| Step               | Description                                                                                                                                      |\n| ------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------ |\n| `verifyConditions` | Verify the presence and the validity of the authentication (set via [environment variables](#environment-variables)).                            |\n| `publish`          | Publish a [GitLab release](https://docs.gitlab.com/user/project/releases/).                                                                      |\n| `success`          | Add a comment to each GitLab Issue or Merge Request resolved by the release.                                                                     |\n| `fail`             | Open or update a [GitLab Issue](https://docs.gitlab.com/user/project/issues/) with information about the errors that caused the release to fail. |\n\n## Install\n\n```bash\n$ npm install @semantic-release/gitlab -D\n```\n\n## Usage\n\nThe plugin can be configured in the [**semantic-release** configuration file](https://github.com/semantic-release/semantic-release/blob/master/docs/usage/configuration.md#configuration):\n\n```json\n{\n  \"branches\": [\"main\"],\n  \"plugins\": [\n    \"@semantic-release/commit-analyzer\",\n    \"@semantic-release/release-notes-generator\",\n    [\n      \"@semantic-release/gitlab\",\n      {\n        \"gitlabUrl\": \"https://custom.gitlab.com\",\n        \"assets\": [\n          { \"path\": \"dist/asset.min.css\", \"label\": \"CSS distribution\" },\n          { \"path\": \"dist/asset.min.js\", \"label\": \"JS distribution\", \"target\": \"generic_package\" },\n          { \"path\": \"dist/asset.min.js\", \"label\": \"v${nextRelease.version}.js\" },\n          { \"url\": \"https://gitlab.com/gitlab-org/gitlab/-/blob/master/README.md\", \"label\": \"README.md\" }\n        ]\n      }\n    ]\n  ]\n}\n```\n\nWith this example [GitLab releases](https://docs.gitlab.com/user/project/releases/) will be published to the `https://custom.gitlab.com` instance.\n\n## Configuration\n\n### GitLab authentication\n\nThe GitLab authentication configuration is **required** and can be set via\n[environment variables](#environment-variables).\n\nCreate a [project access token](https://docs.gitlab.com/user/project/settings/project_access_tokens/), [group access token](https://docs.gitlab.com/user/group/settings/group_access_tokens/), or [personal access token](https://docs.gitlab.com/user/profile/personal_access_tokens/) with role _Developer_ (or higher) and the `api` scope and make it available in your CI environment via the `GL_TOKEN` environment variable. If you are using `GL_TOKEN` as the [remote Git repository authentication](https://github.com/semantic-release/semantic-release/blob/master/docs/usage/ci-configuration.md#authentication) it must also have the `write_repository` scope.\n\n**Note**: When running with [`dryRun`](https://semantic-release.gitbook.io/semantic-release/usage/configuration#dryrun) only `read_repository` scope is required.\n\n### Environment variables\n\n| Variable                       | Description                                                                                |\n| ------------------------------ | ------------------------------------------------------------------------------------------ |\n| `GL_TOKEN` or `GITLAB_TOKEN`   | **Required.** The token used to authenticate with GitLab.                                  |\n| `GL_URL` or `GITLAB_URL`       | The GitLab endpoint.                                                                       |\n| `GL_PREFIX` or `GITLAB_PREFIX` | The GitLab API prefix.                                                                     |\n| `HTTP_PROXY` or `HTTPS_PROXY`  | HTTP or HTTPS proxy to use.                                                                |\n| `NO_PROXY`                     | Patterns for which the proxy should be ignored. See [details below](#proxy-configuration). |\n\n#### Proxy configuration\n\nThe plugin supports passing requests through a proxy server.\n\nYou can configure a proxy server via the `HTTPS_PROXY` environment variable: `HTTPS_PROXY=http://proxyurl.com:8080`\n\nIf your proxy server requires authentication embed the username and password in the URL: `HTTPS_PROXY=http://user:pwd@proxyurl.com:8080`\n\nIf your GitLab instance is exposed via plain HTTP (not recommended!) use `HTTP_PROXY` instead.\n\nIf you need to bypass the proxy for some hosts, configure the `NO_PROXY` environment variable: `NO_PROXY=*.host.com, host.com`\n\n### Options\n\n| Option                    | Description                                                                                                                                                                                                                                                                                                  | Default                                                                                                                                                               |\n| ------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| `gitlabUrl`               | The GitLab endpoint.                                                                                                                                                                                                                                                                                         | `GL_URL` or `GITLAB_URL` environment variable or CI provided environment variables if running on [GitLab CI/CD](https://docs.gitlab.com/ci/) or `https://gitlab.com`. |\n| `gitlabApiPathPrefix`     | The GitLab API prefix.                                                                                                                                                                                                                                                                                       | `GL_PREFIX` or `GITLAB_PREFIX` environment variable or CI provided environment variables if running on [GitLab CI/CD](https://docs.gitlab.com/ci/) or `/api/v4`.      |\n| `assets`                  | An array of files to upload to the release. See [assets](#assets).                                                                                                                                                                                                                                           | -                                                                                                                                                                     |\n| `milestones`              | An array of milestone titles to associate to the release. See [GitLab Release API](https://docs.gitlab.com/api/releases/#create-a-release).                                                                                                                                                                  | -                                                                                                                                                                     |\n| `successComment`          | The comment to add to each Issue and Merge Request resolved by the release. See [successComment](#successComment).                                                                                                                                                                                           | :tada: This issue has been resolved in version ${nextRelease.version} :tada:\\n\\nThe release is available on [GitLab release](gitlab_release_url)                      |\n| `successCommentCondition` | Use this as condition, when to comment on issues or merge requests. See [successCommentCondition](#successCommentCondition).                                                                                                                                                                                 | -                                                                                                                                                                     |\n| `failComment`             | The content of the issue created when a release fails. See [failComment](#failcomment).                                                                                                                                                                                                                      | Friendly message with links to **semantic-release** documentation and support, with the list of errors that caused the release to fail.                               |\n| `failTitle`               | The title of the issue created when a release fails.                                                                                                                                                                                                                                                         | `The automated release is failing 🚨`                                                                                                                                 |\n| `failCommentCondition`    | Use this as condition, when to comment on or create an issues in case of failures. See [failCommentCondition](#failCommentCondition).                                                                                                                                                                        | -                                                                                                                                                                     |\n| `labels`                  | The [labels](https://docs.gitlab.com/user/project/labels/#labels) to add to the issue created when a release fails. Set to `false` to not add any label. Labels should be comma-separated as described in the [official docs](https://docs.gitlab.com/api/issues/#new-issue), e.g. `\"semantic-release,bot\"`. | `semantic-release`                                                                                                                                                    |\n| `assignee`                | The [assignee](https://docs.gitlab.com/user/project/issues/managing_issues/#assignees) to add to the issue created when a release fails.                                                                                                                                                                     | -                                                                                                                                                                     |\n| `retryLimit`              | The maximum number of retries for failing HTTP requests.                                                                                                                                                                                                                                                     | `3`                                                                                                                                                                   |\n\n#### assets\n\nCan be a [glob](https://github.com/isaacs/node-glob#glob-primer) or and `Array` of\n[globs](https://github.com/isaacs/node-glob#glob-primer) and `Object`s with the following properties:\n\n| Property      | Description                                                                                                                                                                                                                                                                                                                                    | Default                              |\n| ------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------ |\n| `path`        | **Required**, unless `url` is set. A [glob](https://github.com/isaacs/node-glob#glob-primer) to identify the files to upload. Supports [Lodash templating](https://lodash.com/docs#template).                                                                                                                                                  | -                                    |\n| `url`         | Alternative to setting `path` this provides the ability to add links to releases, e.g. URLs to container images. Supports [Lodash templating](https://lodash.com/docs#template).                                                                                                                                                               | -                                    |\n| `label`       | Short description of the file displayed on the GitLab release. Ignored if `path` matches more than one file. Supports [Lodash templating](https://lodash.com/docs#template).                                                                                                                                                                   | File name extracted from the `path`. |\n| `type`        | Asset type displayed on the GitLab release. Can be `runbook`, `package`, `image` and `other` (see official documents on [link types](https://docs.gitlab.com/user/project/releases/release_fields/#link-types)). Supports [Lodash templating](https://lodash.com/docs#template).                                                               | `other`                              |\n| `filepath`    | A filepath for creating a permalink pointing to the asset (requires GitLab 12.9+, see official documents on [permanent links](https://docs.gitlab.com/user/project/releases/release_fields/#permanent-links-to-release-assets)). Ignored if `path` matches more than one file. Supports [Lodash templating](https://lodash.com/docs#template). | -                                    |\n| `target`      | Controls where the file is uploaded to. Can be set to `project_upload` for storing the file as [project upload](https://docs.gitlab.com/api/project_markdown_uploads/#upload-a-file) or `generic_package` for storing the file as [generic package](https://docs.gitlab.com/user/packages/generic_packages/).                                  | `project_upload`                     |\n| `packageName` | This is only applied if `target` is set to `generic_package`. It defines the package name (`:package_name`) to upload asset file to. More information could be found at [Publish a package](https://docs.gitlab.com/user/packages/generic_packages/#publish-a-package)                                                                         | `release`                            |\n| `status`      | This is only applied, if `target` is set to `generic_package`. The generic package status. Can be `default` and `hidden` (see official documents on [generic packages](https://docs.gitlab.com/user/packages/generic_packages/)).                                                                                                              | `default`                            |\n\nEach entry in the `assets` `Array` is globbed individually. A [glob](https://github.com/isaacs/node-glob#glob-primer)\ncan be a `String` (`\"dist/**/*.js\"` or `\"dist/mylib.js\"`) or an `Array` of `String`s that will be globbed together\n(`[\"dist/**\", \"!**/*.css\"]`).\n\nIf a directory is configured, all the files under this directory and its children will be included.\n\n**Note**: If a file has a match in `assets` it will be included even if it also has a match in `.gitignore`.\n\n##### assets examples\n\n`'dist/*.js'`: include all the `js` files in the `dist` directory, but not in its sub-directories.\n\n`[['dist', '!**/*.css']]`: include all the files in the `dist` directory and its sub-directories excluding the `css`\nfiles.\n\n`[{path: 'dist/MyLibrary.js', label: 'MyLibrary JS distribution'}, {path: 'dist/MyLibrary.css', label: 'MyLibrary CSS\ndistribution'}]`: include the `dist/MyLibrary.js` and `dist/MyLibrary.css` files, and label them `MyLibrary JS\ndistribution` and `MyLibrary CSS distribution` in the GitLab release.\n\n`[['dist/**/*.{js,css}', '!**/*.min.*'], {path: 'build/MyLibrary.zip', label: 'MyLibrary'}]`: include all the `js` and\n`css` files in the `dist` directory and its sub-directories excluding the minified version, plus the\n`build/MyLibrary.zip` file and label it `MyLibrary` in the GitLab release.\n\n#### successComment\n\nThe message for the issue comments is generated with [Lodash template](https://lodash.com/docs#template). The following variables are available:\n\n| Parameter      | Description                                                                                                                                                      |\n| -------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| `branch`       | `Object` with `name`, `type`, `channel`, `range` and `prerelease` properties of the branch from which the release is done.                                       |\n| `lastRelease`  | `Object` with `version`, `channel`, `gitTag` and `gitHead` of the last release.                                                                                  |\n| `nextRelease`  | `Object` with `version`, `channel`, `gitTag`, `gitHead` and `notes` of the release being done.                                                                   |\n| `commits`      | `Array` of commit `Object`s with `hash`, `subject`, `body` `message` and `author`.                                                                               |\n| `releases`     | `Array` with a release `Object`s for each release published, with optional release data such as `name` and `url`.                                                |\n| `issue`        | A [GitLab API Issue object](https://docs.gitlab.com/api/issues/#single-issue) the comment will be posted to, or `false` when commenting Merge Requests.          |\n| `mergeRequest` | A [GitLab API Merge Request object](https://docs.gitlab.com/api/merge_requests/#get-single-mr) the comment will be posted to, or `false` when commenting Issues. |\n\n#### successCommentCondition\n\nThe success comment condition is generated with [Lodash template](https://lodash.com/docs#template). The following variables are available:\n\n| Parameter      | Description                                                                                                                   |\n| -------------- | ----------------------------------------------------------------------------------------------------------------------------- |\n| `branch`       | `Object` with `name`, `type`, `channel`, `range` and `prerelease` properties of the branch from which the release is done.    |\n| `lastRelease`  | `Object` with `version`, `channel`, `gitTag` and `gitHead` of the last release.                                               |\n| `nextRelease`  | `Object` with `version`, `channel`, `gitTag`, `gitHead` and `notes` of the release being done.                                |\n| `commits`      | `Array` of commit `Object`s with `hash`, `subject`, `body` `message` and `author`.                                            |\n| `releases`     | `Array` with a release `Object`s for each release published, with optional release data such as `name` and `url`.             |\n| `issue`        | A [GitLab API Issue object](https://docs.gitlab.com/api/issues/#single-issue) the comment will be posted to.                  |\n| `mergeRequest` | A [GitLab API Merge Request object](https://docs.gitlab.com/api/merge_requests/#get-single-mr) the comment will be posted to. |\n\n##### successCommentCondition example\n\n- do not create any comments at all: set to `false` or templating: `\"\u003c% return false; %\u003e\"`\n- to only comment on issues: `\"\u003c% return issue %\u003e\"`\n- to only comment on merge requests: `\"\u003c% return mergeRequest %\u003e\"`\n- you can use labels to filter issues: `\"\u003c% return issue.labels?.includes('semantic-release-relevant') %\u003e\"`\n\n\u003e check the [GitLab API Merge Request object](https://docs.gitlab.com/api/merge_requests/#get-single-mr) or the [GitLab API Issue object](https://docs.gitlab.com/api/issues/#single-issue) for properties which can be used for the filter\n\n#### failComment\n\nThe message for the issue content is generated with [Lodash template](https://lodash.com/docs#template). The following variables are available:\n\n| Parameter | Description                                                                                                                                                                                                                                                                                                            |\n| --------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| `branch`  | The branch from which the release had failed.                                                                                                                                                                                                                                                                          |\n| `errors`  | An `Array` of [SemanticReleaseError](https://github.com/semantic-release/error). Each error has the `message`, `code`, `pluginName` and `details` properties.\u003cbr\u003e`pluginName` contains the package name of the plugin that threw the error.\u003cbr\u003e`details` contains a information about the error formatted in markdown. |\n\n##### failComment example\n\nThe `failComment` `This release from branch ${branch.name} had failed due to the following errors:\\n- ${errors.map(err =\u003e err.message).join('\\\\n- ')}` will generate the comment:\n\n\u003e This release from branch master had failed due to the following errors:\n\u003e\n\u003e - Error message 1\n\u003e - Error message 2\n\n#### failCommentCondition\n\nThe fail comment condition is generated with [Lodash template](https://lodash.com/docs#template). The following variables are available:\n\n| Parameter     | Description                                                                                                                                           |\n| ------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------- |\n| `branch`      | `Object` with `name`, `type`, `channel`, `range` and `prerelease` properties of the branch from which the release is done.                            |\n| `lastRelease` | `Object` with `version`, `channel`, `gitTag` and `gitHead` of the last release.                                                                       |\n| `nextRelease` | `Object` with `version`, `channel`, `gitTag`, `gitHead` and `notes` of the release being done.                                                        |\n| `commits`     | `Array` of commit `Object`s with `hash`, `subject`, `body` `message` and `author`.                                                                    |\n| `releases`    | `Array` with a release `Object`s for each release published, with optional release data such as `name` and `url`.                                     |\n| `issue`       | A [GitLab API Issue object](https://docs.gitlab.com/api/issues/#single-issue) the comment will be posted to - only available if an open issue exists. |\n\n##### failCommentCondition example\n\n- do not create any comments at all: set to `false` or templating: `\"\u003c% return false; %\u003e\"`\n- to only comment on main branch: `\"\u003c% return branch.name === 'main' %\u003e\"`\n- you can use labels to filter issues, i.e. to not comment if the issue is labeled with `wip`: `\"\u003c% return !issue.labels?.includes('wip') %\u003e\"`\n\n\u003e check the [GitLab API Issue object](https://docs.gitlab.com/api/issues/#single-issue) for properties which can be used for the filter\n\n## Compatibility\n\nThe latest version of this plugin is compatible with all currently-supported versions of GitLab, [which is the current major version and previous two major versions](https://about.gitlab.com/support/statement-of-support.html#version-support). This plugin is not guaranteed to work with unsupported versions of GitLab.\n\n### Breaking changes in 14.0\n\nIf you are using GitLab.com or have upgraded your self-hosted GitLab instance to 14.0, please use version `\u003e=6.0.7` of this plugin.\n\n#### Why?\n\nIn GitLab 14.0, creating a release using the [Tags API](https://docs.gitlab.com/api/tags/) has been removed (see [\u003cspan\u003e#\u003c/span\u003e290311](https://gitlab.com/gitlab-org/gitlab/-/issues/290311)). This plugin was updated to use the [Releases API](https://docs.gitlab.com/api/releases/#create-a-release) instead in https://github.com/semantic-release/gitlab/pull/184, which is available in version `6.0.7` and beyond.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsemantic-release%2Fgitlab","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsemantic-release%2Fgitlab","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsemantic-release%2Fgitlab/lists"}