gctsCreateRepository¶
Creates a Git repository on an ABAP system
Description¶
Creates a local Git repository on an ABAP system if it does not already exist.
Usage¶
We recommend to define values of step parameters via .pipeline/config.yml file.
In this case, calling the step is essentially reduced to defining the step name.
Calling the step can be done either in an orchestrator specific way (e.g. via a Jenkins library step) or on the command line.
library('piper-lib-os')
gctsCreateRepository script: this
piper gctsCreateRepository
Prerequisites¶
This step creates a local Git repository on an ABAP server. More information about the Git-enabled Change and Transport System (gCTS).
Parameters¶
Overview - Step¶
| Name | Mandatory | Additional information |
|---|---|---|
| client | yes | |
| host | yes | |
| password | (yes) | abapCredentialsId) |
| repository | yes | |
| script | (yes) | |
| username | (yes) | abapCredentialsId) |
| queryParameters | no | |
| remoteRepositoryURL | no | |
| role | no | |
| skipSSLVerification | no | |
| type | no | |
| vSID | no | |
| verbose | no | activates debug output |
Overview - Execution Environment¶
Orchestrator-specific only
These parameters are relevant for orchestrator usage and not considered when using the command line option.
| Name | Mandatory | Additional information |
|---|---|---|
Details¶
client¶
Specifies the client of the ABAP system to be addressed
| Scope | Details |
|---|---|
| Aliases | - |
| Type | string |
| Mandatory | yes |
| Default | $PIPER_client (if set) |
| Secret | no |
| Configuration scope |
|
| Resource references | none |
host¶
Specifies the protocol and host address, including the port. Please provide in the format <protocol>://<host>:<port>. Supported protocols are http and https.
| Scope | Details |
|---|---|
| Aliases | - |
| Type | string |
| Mandatory | yes |
| Default | $PIPER_host (if set) |
| Secret | no |
| Configuration scope |
|
| Resource references | none |
password¶
Password to authenticate to the ABAP system
| Scope | Details |
|---|---|
| Aliases | - |
| Type | string |
| Mandatory | yes |
| Default | $PIPER_password (if set) |
| Secret | yes |
| Configuration scope |
|
| Resource references | Jenkins credential id: id: abapCredentialsIdreference to: password |
queryParameters¶
Add query parameters (for API requests) that apply to all endpoints of the step. Provide the parameters as key-value pair map in the format <query parameter>:<value>.
| Scope | Details |
|---|---|
| Aliases | - |
| Type | map[string]interface{} |
| Mandatory | no |
| Default | $PIPER_queryParameters (if set) |
| Secret | no |
| Configuration scope |
|
| Resource references | none |
remoteRepositoryURL¶
URL of the corresponding remote repository
| Scope | Details |
|---|---|
| Aliases | - |
| Type | string |
| Mandatory | no |
| Default | $PIPER_remoteRepositoryURL (if set) |
| Secret | no |
| Configuration scope |
|
| Resource references | none |
repository¶
Specifies the name (ID) of the local repository on the ABAP system
| Scope | Details |
|---|---|
| Aliases | - |
| Type | string |
| Mandatory | yes |
| Default | $PIPER_repository (if set) |
| Secret | no |
| Configuration scope |
|
| Resource references | none |
role¶
Role of the local repository. Choose between 'TARGET' and 'SOURCE'. Local repositories with a TARGET role will NOT be able to be the source of code changes
| Scope | Details |
|---|---|
| Aliases | - |
| Type | string |
| Mandatory | no |
| Default | SOURCE |
| Possible values | - SOURCE- TARGET |
| Secret | no |
| Configuration scope |
|
| Resource references | none |
script¶
The common script environment of the Jenkinsfile running. Typically the reference to the script calling the pipeline step is provided with the this parameter, as in script: this. This allows the function to access the commonPipelineEnvironment for retrieving, e.g. configuration parameters.
| Scope | Details |
|---|---|
| Aliases | - |
| Type | Jenkins Script |
| Mandatory | yes |
| Default | |
| Secret | no |
| Configuration scope |
|
| Resource references | none |
skipSSLVerification¶
Skip the verification of SSL (Secure Socket Layer) certificates when using HTTPS. This parameter is not recommended for productive environments.
| Scope | Details |
|---|---|
| Aliases | - |
| Type | bool |
| Mandatory | no |
| Default | false |
| Possible values | - true- false |
| Secret | no |
| Configuration scope |
|
| Resource references | none |
type¶
Type of the used source code management tool
| Scope | Details |
|---|---|
| Aliases | - |
| Type | string |
| Mandatory | no |
| Default | GIT |
| Possible values | - GIT |
| Secret | no |
| Configuration scope |
|
| Resource references | none |
username¶
Username to authenticate to the ABAP system
| Scope | Details |
|---|---|
| Aliases | - |
| Type | string |
| Mandatory | yes |
| Default | $PIPER_username (if set) |
| Secret | yes |
| Configuration scope |
|
| Resource references | Jenkins credential id: id: abapCredentialsIdreference to: username |
vSID¶
Virtual SID of the local repository. The vSID corresponds to the transport route that delivers content to the remote Git repository
| Scope | Details |
|---|---|
| Aliases | - |
| Type | string |
| Mandatory | no |
| Default | $PIPER_vSID (if set) |
| Secret | no |
| Configuration scope |
|
| Resource references | none |
verbose¶
verbose output
| Scope | Details |
|---|---|
| Aliases | - |
| Type | bool |
| Mandatory | no |
| Default | false |
| Possible values | - true- false |
| Secret | no |
| Configuration scope |
|
| Resource references | none |
abapCredentialsId¶
Jenkins credentials ID containing username and password for authentication to the ABAP system on which you want to create the repository
| Scope | Details |
|---|---|
| Aliases | - |
| Type | string |
| Configuration scope |
|
Example¶
Example configuration for the use in a Jenkinsfile.
gctsCreateRepository(
script: this,
host: 'https://abap.server.com:port',
client: '000',
abapCredentialsId: 'ABAPUserPasswordCredentialsId',
repository: 'myrepo',
remoteRepositoryURL: 'https://github.com/user/myrepo',
role: 'SOURCE',
vSID: 'ABC'
)
Example for the use in a YAML configuration file (such as .pipeline/config.yaml).
steps:
<...>
gctsCreateRepository:
host: 'https://abap.server.com:port'
client: '000'
abapCredentialsId: 'ABAPUserPasswordCredentialsId'
repository: 'myrepo'
remoteRepositoryURL: 'https://github.com/user/myrepo'
role: 'SOURCE'
vSID: 'ABC'