Skip to content

The gitlab API merge request URL has an additional single quote #577

Closed
@ta0chen

Description

@ta0chen

Current behavior

I recently implemented the semantic-release v21.0.7 into my project hoping it can help to automatically bump the release version. The version can be generated. But I found a serious problem in the semantic-release. The thing is the semantic-release was trying to post comments to related issues and merge requests. But it was using a wrong URL which contained an additional single quote at the end. Below is the console output from the pipeline for your reference. I asked my IT to double confirm this strange thing from the gitlab backend log. So, I believe it should be a defect in semantic-release side.

[4:43:51 AM] [semantic-release] [@semantic-release/gitlab] › ✘  An error occurred while posting comments to related issues and merge requests:
HTTPError: Response code 502 (Bad Gateway)
    at Request.<anonymous> (file:///usr/lib/node_modules/@semantic-release/gitlab/node_modules/got/dist/source/as-promise/index.js:86:42)
    at Object.onceWrapper (node:events:629:26)
    at Request.emit (node:events:526:35)
    at Request._onResponseBase (file:///usr/lib/node_modules/@semantic-release/gitlab/node_modules/got/dist/source/core/index.js:726:22)
    at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
    at async Request._onResponse (file:///usr/lib/node_modules/@semantic-release/gitlab/node_modules/got/dist/source/core/index.js:768:13) {
  input: undefined,
  code: 'ERR_NON_2XX_3XX_RESPONSE',
  timings: {
    start: 1690865029199,
    socket: 1690865029199,
    lookup: 1690865029451,
    connect: 1690865030272,
    secureConnect: 1690865031046,
    upload: 1690865031119,
    response: 1690865031193,
    end: 1690865031194,
    error: undefined,
    abort: undefined,
    phases: {
      wait: 0,
      dns: 252,
      tcp: 821,
      tls: 774,
      request: 73,
      firstByte: 74,
      download: 1,
      total: 1995
    }
  },
  options: {
    request: undefined,
    agent: { http: undefined, https: undefined, http2: undefined },
    h2session: undefined,
    decompress: true,
    timeout: {
      connect: undefined,
      lookup: undefined,
      read: undefined,
      request: undefined,
      response: undefined,
      secureConnect: undefined,
      send: undefined,
      socket: undefined
    },
    prefixUrl: '',
    body: undefined,
    form: undefined,
    json: undefined,
    cookieJar: undefined,
    ignoreInvalidCookies: false,
    searchParams: undefined,
    dnsLookup: undefined,
    dnsCache: undefined,
    context: {},
    hooks: {
      init: [],
      beforeRequest: [],
      beforeError: [],
      beforeRedirect: [],
      beforeRetry: [],
      afterResponse: []
    },
    followRedirect: true,
    maxRedirects: 10,
    cache: undefined,
    throwHttpErrors: true,
    username: '',
    password: '',
    http2: false,
    allowGetBody: false,
    headers: {
      'user-agent': 'got (https://github.com/sindresorhus/got)',
      'private-token': '[secure]',
      accept: 'application/json',
      'accept-encoding': 'gzip, deflate, br'
    },
    methodRewriting: false,
    dnsLookupIpVersion: undefined,
    parseJson: [Function: parse],
    stringifyJson: [Function: stringify],
    retry: {
      limit: 2,
      methods: [ 'GET', 'PUT', 'HEAD', 'DELETE', 'OPTIONS', 'TRACE' ],
      statusCodes: [
        408, 413, 429, 500,
        502, 503, 504, 521,
        522, 524
      ],
      errorCodes: [
        'ETIMEDOUT',
        'ECONNRESET',
        'EADDRINUSE',
        'ECONNREFUSED',
        'EPIPE',
        'ENOTFOUND',
        'ENETUNREACH',
        'EAI_AGAIN'
      ],
      maxRetryAfter: undefined,
      calculateDelay: [Function: calculateDelay],
      backoffLimit: Infinity,
      noise: 100
    },
    localAddress: undefined,
    method: 'GET',
    createConnection: undefined,
    cacheOptions: {
      shared: undefined,
      cacheHeuristic: undefined,
      immutableMinTimeToLive: undefined,
      ignoreCargoCult: undefined
    },
    https: {
      alpnProtocols: undefined,
      rejectUnauthorized: undefined,
      checkServerIdentity: undefined,
      certificateAuthority: undefined,
      key: undefined,
      certificate: undefined,
      passphrase: undefined,
      pfx: undefined,
      ciphers: undefined,
      honorCipherOrder: undefined,
      minVersion: undefined,
      maxVersion: undefined,
      signatureAlgorithms: undefined,
      tlsSessionLifetime: undefined,
      dhparam: undefined,
      ecdhCurve: undefined,
      certificateRevocationLists: undefined
    },
    encoding: undefined,
    resolveBodyOnly: false,
    isStream: false,
    responseType: 'text',
    url: URL {
      href: 'https://onecode.polycom-labs.com/api/v4/projects/video-endpoints%2Ftools%2Felement-framework/repository/commits/196c9be4433702c4195ab9ca776bc18d360243df/merge_requests',
      origin: '[https://onecode.polycom-labs.com'](https://onecode.polycom-labs.com%27/),
      protocol: 'https:',
      username: '',
      password: '',
      host: 'onecode.polycom-labs.com',
      hostname: 'onecode.polycom-labs.com',
      port: '',
      pathname: '/api/v4/projects/video-endpoints%2Ftools%2Felement-framework/repository/commits/196c9be4433702c4195ab9ca776bc18d360243df/merge_requests',
      search: '',
      searchParams: URLSearchParams {},
      hash: ''
    },
    pagination: {
      transform: [Function: transform],
      paginate: [Function: paginate],
      filter: [Function: filter],
      shouldContinue: [Function: shouldContinue],
      countLimit: Infinity,
      backoff: 0,
      requestLimit: 10000,
      stackAllItems: false
    },
    setHost: true,
    maxHeaderSize: undefined,
    signal: undefined,
    enableUnixSockets: false
  }
}

Expected behavior

The semantic-release should take care of the URL properly and make sure it does not contain some illegal characters. Take the URL for an example which I picked from the log, it really contains the single quote.

https://onecode.polycom-labs.com%27/

semantic-release version

21.0.7

CI environment

gitlab

Plugins used

@semantic-release/git @semantic-release/gitlab @semantic-release/gitlab-config @semantic-release/exec

semantic-release configuration

plugins:
  - "@semantic-release/commit-analyzer"
  - "@semantic-release/release-notes-generator"
  - - "@semantic-release/exec"
    - verifyReleaseCmd: 'mvn versions:set -DnewVersion="${nextRelease.version}" && echo "NEXT_VERSION=${nextRelease.version}" >> build.env'
  - "@semantic-release/gitlab"
  - -  "@semantic-release/git"
    - assets:
        - pom.xml
      message: "chore(release): bump ${nextRelease.version}"

branches:
  - "EN-243881"
  - "+([0-9])?(.{+([0-9]),x}).x"

CI logs

[4:43:24 AM] [semantic-release] › ✔  Completed step "verifyRelease" of plugin "@semantic-release/exec"
[4:43:24 AM] [semantic-release] › ℹ  Start step "generateNotes" of plugin "@semantic-release/release-notes-generator"
[4:43:25 AM] [semantic-release] › ✔  Completed step "generateNotes" of plugin "@semantic-release/release-notes-generator"
[4:43:25 AM] [semantic-release] › ℹ  Start step "generateNotes" of plugin "@semantic-release/exec"
[4:43:25 AM] [semantic-release] › ✔  Completed step "generateNotes" of plugin "@semantic-release/exec"
[4:43:25 AM] [semantic-release] › ℹ  Start step "prepare" of plugin "@semantic-release/exec"
[4:43:25 AM] [semantic-release] › ✔  Completed step "prepare" of plugin "@semantic-release/exec"
[4:43:25 AM] [semantic-release] › ℹ  Start step "prepare" of plugin "@semantic-release/git"
[4:43:26 AM] [semantic-release] [@semantic-release/git] › ℹ  Found 1 file(s) to commit
[4:43:27 AM] [semantic-release] [@semantic-release/git] › ℹ  Prepared Git release: v1.0.0
[4:43:27 AM] [semantic-release] › ✔  Completed step "prepare" of plugin "@semantic-release/git"
[4:43:27 AM] [semantic-release] › ℹ  Start step "generateNotes" of plugin "@semantic-release/release-notes-generator"
[4:43:29 AM] [semantic-release] › ✔  Completed step "generateNotes" of plugin "@semantic-release/release-notes-generator"
[4:43:29 AM] [semantic-release] › ℹ  Start step "generateNotes" of plugin "@semantic-release/exec"
[4:43:29 AM] [semantic-release] › ✔  Completed step "generateNotes" of plugin "@semantic-release/exec"
[4:43:33 AM] [semantic-release] › ✔  Created tag v1.0.0
[4:43:33 AM] [semantic-release] › ℹ  Start step "publish" of plugin "@semantic-release/exec"
[4:43:33 AM] [semantic-release] › ✔  Completed step "publish" of plugin "@semantic-release/exec"
[4:43:33 AM] [semantic-release] › ℹ  Start step "publish" of plugin "@semantic-release/gitlab"
[4:43:34 AM] [semantic-release] [@semantic-release/gitlab] › ℹ  Published GitLab release: v1.0.0
[4:43:34 AM] [semantic-release] › ✔  Completed step "publish" of plugin "@semantic-release/gitlab"
[4:43:34 AM] [semantic-release] › ℹ  Start step "success" of plugin "@semantic-release/exec"
[4:43:34 AM] [semantic-release] › ✔  Completed step "success" of plugin "@semantic-release/exec"
[4:43:34 AM] [semantic-release] › ℹ  Start step "success" of plugin "@semantic-release/gitlab"
[4:43:51 AM] [semantic-release] [@semantic-release/gitlab] › ✘  An error occurred while posting comments to related issues and merge requests:
HTTPError: Response code 502 (Bad Gateway)
    at Request.<anonymous> (file:///usr/lib/node_modules/@semantic-release/gitlab/node_modules/got/dist/source/as-promise/index.js:86:42)
    at Object.onceWrapper (node:events:629:26)
    at Request.emit (node:events:526:35)
    at Request._onResponseBase (file:///usr/lib/node_modules/@semantic-release/gitlab/node_modules/got/dist/source/core/index.js:726:22)
    at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
    at async Request._onResponse (file:///usr/lib/node_modules/@semantic-release/gitlab/node_modules/got/dist/source/core/index.js:768:13) {
  input: undefined,
  code: 'ERR_NON_2XX_3XX_RESPONSE',
  timings: {
    start: 1690865029199,
    socket: 1690865029199,
    lookup: 1690865029451,
    connect: 1690865030272,
    secureConnect: 1690865031046,
    upload: 1690865031119,
    response: 1690865031193,
    end: 1690865031194,
    error: undefined,
    abort: undefined,
    phases: {
      wait: 0,
      dns: 252,
      tcp: 821,
      tls: 774,
      request: 73,
      firstByte: 74,
      download: 1,
      total: 1995
    }
  },
  options: {
    request: undefined,
    agent: { http: undefined, https: undefined, http2: undefined },
    h2session: undefined,
    decompress: true,
    timeout: {
      connect: undefined,
      lookup: undefined,
      read: undefined,
      request: undefined,
      response: undefined,
      secureConnect: undefined,
      send: undefined,
      socket: undefined
    },
    prefixUrl: '',
    body: undefined,
    form: undefined,
    json: undefined,
    cookieJar: undefined,
    ignoreInvalidCookies: false,
    searchParams: undefined,
    dnsLookup: undefined,
    dnsCache: undefined,
    context: {},
    hooks: {
      init: [],
      beforeRequest: [],
      beforeError: [],
      beforeRedirect: [],
      beforeRetry: [],
      afterResponse: []
    },
    followRedirect: true,
    maxRedirects: 10,
    cache: undefined,
    throwHttpErrors: true,
    username: '',
    password: '',
    http2: false,
    allowGetBody: false,
    headers: {
      'user-agent': 'got (https://github.com/sindresorhus/got)',
      'private-token': '[secure]',
      accept: 'application/json',
      'accept-encoding': 'gzip, deflate, br'
    },
    methodRewriting: false,
    dnsLookupIpVersion: undefined,
    parseJson: [Function: parse],
    stringifyJson: [Function: stringify],
    retry: {
      limit: 2,
      methods: [ 'GET', 'PUT', 'HEAD', 'DELETE', 'OPTIONS', 'TRACE' ],
      statusCodes: [
        408, 413, 429, 500,
        502, 503, 504, 521,
        522, 524
      ],
      errorCodes: [
        'ETIMEDOUT',
        'ECONNRESET',
        'EADDRINUSE',
        'ECONNREFUSED',
        'EPIPE',
        'ENOTFOUND',
        'ENETUNREACH',
        'EAI_AGAIN'
      ],
      maxRetryAfter: undefined,
      calculateDelay: [Function: calculateDelay],
      backoffLimit: Infinity,
      noise: 100
    },
    localAddress: undefined,
    method: 'GET',
    createConnection: undefined,
    cacheOptions: {
      shared: undefined,
      cacheHeuristic: undefined,
      immutableMinTimeToLive: undefined,
      ignoreCargoCult: undefined
    },
    https: {
      alpnProtocols: undefined,
      rejectUnauthorized: undefined,
      checkServerIdentity: undefined,
      certificateAuthority: undefined,
      key: undefined,
      certificate: undefined,
      passphrase: undefined,
      pfx: undefined,
      ciphers: undefined,
      honorCipherOrder: undefined,
      minVersion: undefined,
      maxVersion: undefined,
      signatureAlgorithms: undefined,
      tlsSessionLifetime: undefined,
      dhparam: undefined,
      ecdhCurve: undefined,
      certificateRevocationLists: undefined
    },
    encoding: undefined,
    resolveBodyOnly: false,
    isStream: false,
    responseType: 'text',
    url: URL {
      href: 'https://onecode.polycom-labs.com/api/v4/projects/video-endpoints%2Ftools%2Felement-framework/repository/commits/196c9be44[3370](https://onecode.polycom-labs.com/video-endpoints/tools/element-framework/-/jobs/2916712#L3370)2c4195ab9ca776bc18d360243df/merge_requests',
      origin: 'https://onecode.polycom-labs.com',
      protocol: 'https:',
      username: '',
      password: '',
      host: 'onecode.polycom-labs.com',
      hostname: 'onecode.polycom-labs.com',
      port: '',
      pathname: '/api/v4/projects/video-endpoints%2Ftools%2Felement-framework/repository/commits/196c9be4433702c4195ab9ca776bc18d360243df/merge_requests',
      search: '',
      searchParams: URLSearchParams {},
      hash: ''
    },
    pagination: {
      transform: [Function: transform],
      paginate: [Function: paginate],
      filter: [Function: filter],
      shouldContinue: [Function: shouldContinue],
      countLimit: Infinity,
      backoff: 0,
      requestLimit: 10000,
      stackAllItems: false
    },
    setHost: true,
    maxHeaderSize: undefined,
    signal: undefined,
    enableUnixSockets: false
  }
}
[4:43:51 AM] [semantic-release] › ✘  Failed step "success" of plugin "@semantic-release/gitlab"
[4:43:51 AM] [semantic-release] › ✘  An error occurred while running semantic-release: HTTPError: Response code 502 (Bad Gateway)
    at Request.<anonymous> (file:///usr/lib/node_modules/@semantic-release/gitlab/node_modules/got/dist/source/as-promise/index.js:86:42)
    at Object.onceWrapper (node:events:629:26)
    at Request.emit (node:events:526:35)
    at Request._onResponseBase (file:///usr/lib/node_modules/@semantic-release/gitlab/node_modules/got/dist/source/core/index.js:726:22)
    at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
    at async Request._onResponse (file:///usr/lib/node_modules/@semantic-release/gitlab/node_modules/got/dist/source/core/index.js:768:13) {
  input: undefined,
  code: 'ERR_NON_2XX_3XX_RESPONSE',
  timings: {
    start: 1690865029199,
    socket: 1690865029199,
    lookup: 1690865029451,
    connect: 1690865030272,
    secureConnect: 1690865031046,
    upload: 1690865031119,
    response: 1690865031193,
    end: 1690865031194,
    error: undefined,
    abort: undefined,
    phases: {
      wait: 0,
      dns: 252,
      tcp: 821,
      tls: 774,
      request: 73,
      firstByte: 74,
      download: 1,
      total: 1995
    }
  },
  options: {
    request: undefined,
    agent: { http: undefined, https: undefined, http2: undefined },
    h2session: undefined,
    decompress: true,
    timeout: {
      connect: undefined,
      lookup: undefined,
      read: undefined,
      request: undefined,
      response: undefined,
      secureConnect: undefined,
      send: undefined,
      socket: undefined
    },
    prefixUrl: '',
    body: undefined,
    form: undefined,
    json: undefined,
    cookieJar: undefined,
    ignoreInvalidCookies: false,
    searchParams: undefined,
    dnsLookup: undefined,
    dnsCache: undefined,
    context: {},
    hooks: {
      init: [],
      beforeRequest: [],
      beforeError: [],
      beforeRedirect: [],
      beforeRetry: [],
      afterResponse: []
    },
    followRedirect: true,
    maxRedirects: 10,
    cache: undefined,
    throwHttpErrors: true,
    username: '',
    password: '',
    http2: false,
    allowGetBody: false,
    headers: {
      'user-agent': 'got (https://github.com/sindresorhus/got)',
      'private-token': '[secure]',
      accept: 'application/json',
      'accept-encoding': 'gzip, deflate, br'
    },
    methodRewriting: false,
    dnsLookupIpVersion: undefined,
    parseJson: [Function: parse],
    stringifyJson: [Function: stringify],
    retry: {
      limit: 2,
      methods: [ 'GET', 'PUT', 'HEAD', 'DELETE', 'OPTIONS', 'TRACE' ],
      statusCodes: [
        408, 413, 429, 500,
        502, 503, 504, 521,
        522, 524
      ],
      errorCodes: [
        'ETIMEDOUT',
        'ECONNRESET',
        'EADDRINUSE',
        'ECONNREFUSED',
        'EPIPE',
        'ENOTFOUND',
        'ENETUNREACH',
        'EAI_AGAIN'
      ],
      maxRetryAfter: undefined,
      calculateDelay: [Function: calculateDelay],
      backoffLimit: Infinity,
      noise: 100
    },
    localAddress: undefined,
    method: 'GET',
    createConnection: undefined,
    cacheOptions: {
      shared: undefined,
      cacheHeuristic: undefined,
      immutableMinTimeToLive: undefined,
      ignoreCargoCult: undefined
    },
    https: {
      alpnProtocols: undefined,
      rejectUnauthorized: undefined,
      checkServerIdentity: undefined,
      certificateAuthority: undefined,
      key: undefined,
      certificate: undefined,
      passphrase: undefined,
      pfx: undefined,
      ciphers: undefined,
      honorCipherOrder: undefined,
      minVersion: undefined,
      maxVersion: undefined,
      signatureAlgorithms: undefined,
      tlsSessionLifetime: undefined,
      dhparam: undefined,
      ecdhCurve: undefined,
      certificateRevocationLists: undefined
    },
    encoding: undefined,
    resolveBodyOnly: false,
    isStream: false,
    responseType: 'text',
    url: URL {
      href: 'https://onecode.polycom-labs.com/api/v4/projects/video-endpoints%2Ftools%2Felement-framework/repository/commits/196c9be4433702c4195ab9ca776bc18d360243df/merge_requests',
      origin: '[https://onecode.polycom-labs.com'](https://onecode.polycom-labs.com%27/),
      protocol: 'https:',
      username: '',
      password: '',
      host: 'onecode.polycom-labs.com',
      hostname: 'onecode.polycom-labs.com',
      port: '',
      pathname: '/api/v4/projects/video-endpoints%2Ftools%2Felement-framework/repository/commits/196c9be4433702c4195ab9ca776bc18d360243df/merge_requests',
      search: '',
      searchParams: URLSearchParams {},
      hash: ''
    },
    pagination: {
      transform: [Function: transform],
      paginate: [Function: paginate],
      filter: [Function: filter],
      shouldContinue: [Function: shouldContinue],
      countLimit: Infinity,
      backoff: 0,
      requestLimit: 10000,
      stackAllItems: false
    },
    setHost: true,
    maxHeaderSize: undefined,
    signal: undefined,
    enableUnixSockets: false
  },
  pluginName: '@semantic-release/gitlab'
}
AggregateError: 
    HTTPError: Response code 502 (Bad Gateway)
        at Request.<anonymous> (file:///usr/lib/node_modules/@semantic-release/gitlab/node_modules/got/dist/source/as-promise/index.js:86:42)
        at Request._onResponseBase (file:///usr/lib/node_modules/@semantic-release/gitlab/node_modules/got/dist/source/core/index.js:726:22)
        at async Request._onResponse (file:///usr/lib/node_modules/@semantic-release/gitlab/node_modules/got/dist/source/core/index.js:768:13)
    at file:///usr/lib/node_modules/semantic-release/lib/plugins/pipeline.js:55:13
    at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
    at async pluginsConfigAccumulator.<computed> [as success] (file:///usr/lib/node_modules/semantic-release/lib/plugins/index.js:87:11)
    at async run (file:///usr/lib/node_modules/semantic-release/index.js:215:3)
    at async Module.default (file:///usr/lib/node_modules/semantic-release/index.js:275:22)
    at async default (file:///usr/lib/node_modules/semantic-release/cli.js:55:5) {
  errors: [
    HTTPError: Response code 502 (Bad Gateway)
        at Request.<anonymous> (file:///usr/lib/node_modules/@semantic-release/gitlab/node_modules/got/dist/source/as-promise/index.js:86:42)
        at Object.onceWrapper (node:events:629:26)
        at Request.emit (node:events:526:35)
        at Request._onResponseBase (file:///usr/lib/node_modules/@semantic-release/gitlab/node_modules/got/dist/source/core/index.js:726:22)
        at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
        at async Request._onResponse (file:///usr/lib/node_modules/@semantic-release/gitlab/node_modules/got/dist/source/core/index.js:768:13) {
      input: undefined,
      code: 'ERR_NON_2XX_3XX_RESPONSE',
      timings: [Object],
      options: {
        request: undefined,
        agent: { http: undefined, https: undefined, http2: undefined },
        h2session: undefined,
        decompress: true,
        timeout: {
          connect: undefined,
          lookup: undefined,
          read: undefined,
          request: undefined,
          response: undefined,
          secureConnect: undefined,
          send: undefined,
          socket: undefined
        },
        prefixUrl: '',
        body: undefined,
        form: undefined,
        json: undefined,
        cookieJar: undefined,
        ignoreInvalidCookies: false,
        searchParams: undefined,
        dnsLookup: undefined,
        dnsCache: undefined,
        context: {},
        hooks: {
          init: [],
          beforeRequest: [],
          beforeError: [],
          beforeRedirect: [],
          beforeRetry: [],
          afterResponse: []
        },
        followRedirect: true,
        maxRedirects: 10,
        cache: undefined,
        throwHttpErrors: true,
        username: '',
        password: '',
        http2: false,
        allowGetBody: false,
        headers: {
          'user-agent': 'got (https://github.com/sindresorhus/got)',
          'private-token': '[secure]',
          accept: 'application/json',
          'accept-encoding': 'gzip, deflate, br'
        },
        methodRewriting: false,
        dnsLookupIpVersion: undefined,
        parseJson: [Function: parse],
        stringifyJson: [Function: stringify],
        retry: {
          limit: 2,
          methods: [ 'GET', 'PUT', 'HEAD', 'DELETE', 'OPTIONS', 'TRACE' ],
          statusCodes: [
            408, 413, 429, 500,
            502, 503, 504, 521,
            522, 524
          ],
          errorCodes: [
            'ETIMEDOUT',
            'ECONNRESET',
            'EADDRINUSE',
            'ECONNREFUSED',
            'EPIPE',
            'ENOTFOUND',
            'ENETUNREACH',
            'EAI_AGAIN'
          ],
          maxRetryAfter: undefined,
          calculateDelay: [Function: calculateDelay],
          backoffLimit: Infinity,
          noise: 100
        },
        localAddress: undefined,
        method: 'GET',
        createConnection: undefined,
        cacheOptions: {
          shared: undefined,
          cacheHeuristic: undefined,
          immutableMinTimeToLive: undefined,
          ignoreCargoCult: undefined
        },
        https: {
          alpnProtocols: undefined,
          rejectUnauthorized: undefined,
          checkServerIdentity: undefined,
          certificateAuthority: undefined,
          key: undefined,
          certificate: undefined,
          passphrase: undefined,
          pfx: undefined,
          ciphers: undefined,
          honorCipherOrder: undefined,
          minVersion: undefined,
          maxVersion: undefined,
          signatureAlgorithms: undefined,
          tlsSessionLifetime: undefined,
          dhparam: undefined,
          ecdhCurve: undefined,
          certificateRevocationLists: undefined
        },
        encoding: undefined,
        resolveBodyOnly: false,
        isStream: false,
        responseType: 'text',
        url: URL {
          href: 'https://onecode.polycom-labs.com/api/v4/projects/video-endpoints%2Ftools%2Felement-framework/repository/commits/196c9be4433702c4195ab9ca776bc18d[3602](https://onecode.polycom-labs.com/video-endpoints/tools/element-framework/-/jobs/2916712#L3602)43df/merge_requests',
          origin: 'https://onecode.polycom-labs.com',
          protocol: 'https:',
          username: '',
          password: '',
          host: 'onecode.polycom-labs.com',
          hostname: 'onecode.polycom-labs.com',
          port: '',
          pathname: '/api/v4/projects/video-endpoints%2Ftools%2Felement-framework/repository/commits/196c9be4433702c4195ab9ca776bc18d360243df/merge_requests',
          search: '',
          searchParams: URLSearchParams {},
          hash: ''
        },
        pagination: {
          transform: [Function: transform],
          paginate: [Function: paginate],
          filter: [Function: filter],
          shouldContinue: [Function: shouldContinue],
          countLimit: Infinity,
          backoff: 0,
          requestLimit: 10000,
          stackAllItems: false
        },
        setHost: true,
        maxHeaderSize: undefined,
        signal: undefined,
        enableUnixSockets: false
      },
      pluginName: '@semantic-release/gitlab'
    }
  ]
}
Cleaning up project directory and file based variables
00:01
ERROR: Job failed: exit code 1

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions