1
0
mirror of https://github.com/SAP/jenkins-library.git synced 2024-12-14 11:03:09 +02:00
sap-jenkins-library/resources/metadata/githubPublishRelease.yaml
Christopher Fenner 465bab8ddf
feat(githubRelease): publish multiple assets (#3702)
* add parameter for uploading multiple assets

* use assetPathList parameter

* add test case

* fix typo

* fix test case

* generage ghClient mock

* add test files

* make function testable

* add test case

* regenerate mock

* regenerate mocks
2022-04-08 11:29:07 +02:00

189 lines
5.4 KiB
YAML

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 release 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: assetPathList
description: List of paths 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: Name of the GitHub organization.
resourceRef:
- name: commonPipelineEnvironment
param: github/owner
scope:
- PARAMETERS
- STAGES
- STEPS
type: string
mandatory: true
- name: preRelease
description: "If set to `true` the release will be marked as Pre-release."
scope:
- PARAMETERS
- STAGES
- STEPS
type: bool
default: false
- name: releaseBodyHeader
description: Content which will appear for the release.
scope:
- PARAMETERS
- STAGES
- STEPS
type: string
- name: repository
aliases:
- name: githubRepo
description: Name of 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: tagPrefix
type: string
description: "Defines a prefix to be added to the tag."
scope:
- PARAMETERS
- STAGES
- STEPS
default: ""
- name: token
aliases:
- name: githubToken
- name: access_token
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
secret: true
resourceRef:
- name: githubTokenCredentialsId
type: secret
- type: vaultSecret
default: github
name: githubVaultSecretName
- 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