metadata: name: githubPublishRelease description: Publish a release in GitHub longDescription: | This step creates a tag in your GitHub repository together with a release. The release can be filled with text plus additional information like: * Closed pull request since last release * Closed issues since last release * Link to delta information showing all commits since last release The result looks like ![Example release](../images/githubRelease.png) spec: inputs: secrets: - name: githubTokenCredentialsId description: Jenkins 'Secret text' credentials ID containing token to authenticate to GitHub. type: jenkins params: - name: addClosedIssues description: 'If set to `true`, closed issues and merged pull-requests since the last release will added below the `releaseBodyHeader`' scope: - PARAMETERS - STAGES - STEPS type: bool default: false - name: addDeltaToLastRelease description: 'If set to `true`, a link will be added to the relese information that brings up all commits since the last release.' scope: - PARAMETERS - STAGES - STEPS type: bool default: false - name: apiUrl aliases: - name: githubApiUrl description: Set the GitHub API url. scope: - GENERAL - PARAMETERS - STAGES - STEPS type: string default: https://api.github.com mandatory: true - name: assetPath description: Path to a release asset which should be uploaded to the list of release assets. scope: - PARAMETERS - STAGES - STEPS type: string - name: commitish description: 'Target git commitish for the release' scope: - PARAMETERS - STAGES - STEPS type: string default: "master" - name: excludeLabels description: 'Allows to exclude issues with dedicated list of labels.' scope: - PARAMETERS - STAGES - STEPS type: '[]string' - name: labels description: 'Labels to include in issue search.' scope: - PARAMETERS - STAGES - STEPS type: '[]string' - name: owner aliases: - name: githubOrg description: 'Set the GitHub organization.' resourceRef: - name: commonPipelineEnvironment param: github/owner scope: - PARAMETERS - STAGES - STEPS type: string mandatory: true - name: releaseBodyHeader description: Content which will appear for the release. scope: - PARAMETERS - STAGES - STEPS type: string - name: repository aliases: - name: githubRepo description: 'Set the GitHub repository.' resourceRef: - name: commonPipelineEnvironment param: github/repository scope: - PARAMETERS - STAGES - STEPS type: string mandatory: true - name: serverUrl aliases: - name: githubServerUrl description: 'GitHub server url for end-user access.' scope: - GENERAL - PARAMETERS - STAGES - STEPS type: string default: https://github.com mandatory: true - name: token aliases: - name: githubToken description: 'GitHub personal access token as per https://help.github.com/en/github/authenticating-to-github/creating-a-personal-access-token-for-the-command-line' scope: - GENERAL - PARAMETERS - STAGES - STEPS type: string mandatory: true - name: uploadUrl aliases: - name: githubUploadUrl description: Set the GitHub API url. scope: - GENERAL - PARAMETERS - STAGES - STEPS type: string default: https://uploads.github.com mandatory: true - name: version description: 'Define the version number which will be written as tag as well as release name.' resourceRef: - name: commonPipelineEnvironment param: artifactVersion scope: - PARAMETERS - STAGES - STEPS type: string mandatory: true