mirror of
https://github.com/SAP/jenkins-library.git
synced 2024-12-14 11:03:09 +02:00
Merge pull request #219 from marcusholl/pr/nestedConfig
nested config for changeManagment related steps
This commit is contained in:
commit
5b8dd91510
@ -1,11 +1,11 @@
|
||||
# checkChangeInDevelopment
|
||||
|
||||
## Description
|
||||
Checks if a Change Document is in status 'in development'. The change document id is retrieved from the git commit history. The change document id
|
||||
Checks if a Change Document in SAP Solution Manager is in status 'in development'. The change document id is retrieved from the git commit history. The change document id
|
||||
can also be provided via parameter `changeDocumentId`. Any value provided as parameter has a higher precedence than a value from the commit history.
|
||||
|
||||
By default the git commit messages between `origin/master` and `HEAD` are scanned for a line like `ChangeDocument : <changeDocumentId>`. The commit
|
||||
range and the pattern can be configured. For details see 'parameters' table.
|
||||
range and the pattern can be configured. For details see 'parameters' table.
|
||||
|
||||
## Prerequisites
|
||||
* **[Change Management Client 2.0.0 or compatible version](http://central.maven.org/maven2/com/sap/devops/cmclient/dist.cli/)** - available for download on Maven Central.
|
||||
@ -15,27 +15,72 @@ range and the pattern can be configured. For details see 'parameters' table.
|
||||
| -------------------|-----------|--------------------------------------------------------|--------------------|
|
||||
| `script` | yes | | |
|
||||
| `changeDocumentId` | yes | | |
|
||||
| `credentialsId` | yes | | |
|
||||
| `endpoint` | yes | | |
|
||||
| `gitFrom` | no | `origin/master` | |
|
||||
| `gitTo` | no | `HEAD` | |
|
||||
| `gitChangeDocumentLabel` | no | `ChangeDocument\s?:` | regex pattern |
|
||||
| `gitFormat` | no | `%b` | see `git log --help` |
|
||||
| `changeManagement/changeDocumentLabel` | no | `ChangeDocument\s?:` | regex pattern |
|
||||
| `changeManagement/credentialsId` | yes | | |
|
||||
| `changeManagement/endpoint` | yes | | |
|
||||
| `changeManagement/git/from` | no | `origin/master` | |
|
||||
| `changeManagement/git/to` | no | `HEAD` | |
|
||||
| `changeManagement/git/format` | no | `%b` | see `git log --help` |
|
||||
| `failIfStatusIsNotInDevelopment` | no | `true` | `true`, `false` |
|
||||
|
||||
* `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`](commonPipelineEnvironment.md) for retrieving, for example, configuration parameters.
|
||||
* `changeDocumentId` - The id of the change document to transport. If not provided, it is retrieved from the git commit history.
|
||||
* `credentialsId` - The credentials to connect to the Solution Manager.
|
||||
* `endpoint` - The address of the Solution Manager.
|
||||
* `gitFrom` - The starting point for retrieving the change document id
|
||||
* `gitTo` - The end point for retrieving the change document id
|
||||
* `gitChangeDocumentLabel` - A pattern used for identifying lines holding the change document id.
|
||||
* `gitFormat` - Specifies what part of the commit is scanned. By default the body of the commit message is scanned.
|
||||
* `changeManagement/changeDocumentLabel` - A pattern used for identifying lines holding the change document id.
|
||||
* `changeManagement/credentialsId` - The id of the credentials to connect to the Solution Manager. The credentials needs to be maintained on Jenkins.
|
||||
* `changeManagement/endpoint` - The address of the Solution Manager.
|
||||
* `changeManagement/git/from` - The starting point for retrieving the change document id
|
||||
* `changeManagement/git/to` - The end point for retrieving the change document id
|
||||
* `changeManagement/git/format` - Specifies what part of the commit is scanned. By default the body of the commit message is scanned.
|
||||
* `failIfStatusIsNotInDevelopment` - when set to `false` the step will not fail in case the step is not in status 'in development'.
|
||||
|
||||
## Step configuration
|
||||
The following parameters can also be specified as step parameters using the global configuration file:
|
||||
The step is configured using a customer configuration file provided as
|
||||
resource in an custom shared library.
|
||||
|
||||
* `credentialsId`
|
||||
* `endpoint`
|
||||
```
|
||||
@Library('piper-library-os@master') _
|
||||
|
||||
// the shared lib containing the additional configuration
|
||||
// needs to be configured in Jenkins
|
||||
@Library(foo@master') __
|
||||
|
||||
// inside the shared lib denoted by 'foo' the additional configuration file
|
||||
// needs to be located under 'resources' ('resoures/myConfig.yml')
|
||||
prepareDefaultValues script: this,
|
||||
customDefaults: 'myConfig.yml'
|
||||
```
|
||||
|
||||
Example content of ```'resources/myConfig.yml'``` in branch ```'master'``` of the repository denoted by
|
||||
```'foo'```:
|
||||
|
||||
```
|
||||
general:
|
||||
changeManagement:
|
||||
changeDocumentLabel: 'ChangeDocument\s?:'
|
||||
cmClientOpts: '-Djavax.net.ssl.trustStore=<path to truststore>'
|
||||
credentialsId: 'CM'
|
||||
endpoint: 'https://example.org/cm'
|
||||
git:
|
||||
from: 'HEAD~1'
|
||||
to: 'HEAD'
|
||||
format: '%b'
|
||||
```
|
||||
|
||||
The properties configured in section `'general/changeManagement'` are shared between all change managment related steps.
|
||||
|
||||
The properties can also be configured on a per-step basis:
|
||||
|
||||
```
|
||||
[...]
|
||||
steps:
|
||||
checkChangeInDevelopment:
|
||||
changeManagement:
|
||||
endpoint: 'https://example.org/cm'
|
||||
[...]
|
||||
failIfStatusIsNotInDevelopment: true
|
||||
```
|
||||
|
||||
The parameters can also be provided when the step is invoked. For examples see below.
|
||||
|
||||
## Return value
|
||||
`true` in case the change document is in status 'in development'. Otherwise an hudson.AbortException is thrown. In case `failIfStatusIsNotInDevelopment`
|
||||
@ -45,9 +90,26 @@ is set to `false`, `false` is returned in case the change document is not in sta
|
||||
* `AbortException`:
|
||||
* If the change id is not provided via parameter and if the change document id cannot be retrieved from the commit history.
|
||||
* If the change is not in status `in development`. In this case no exception will be thrown when `failIfStatusIsNotInDevelopment` is set to `false`.
|
||||
|
||||
## Example
|
||||
* `IllegalArgumentException`:
|
||||
* If a mandatory property is not provided.
|
||||
## Examples
|
||||
```groovy
|
||||
// simple case. All mandatory parameters provided via
|
||||
// configuration, changeDocumentId provided via commit
|
||||
// history
|
||||
checkChangeInDevelopment script:this
|
||||
```
|
||||
|
||||
```groovy
|
||||
// explict endpoint provided, we search for changeDocumentId
|
||||
// starting at the previous commit (HEAD~1) rather than on
|
||||
// 'origin/master' (the default).
|
||||
checkChangeInDevelopment script:this
|
||||
changeManagement: [
|
||||
endpoint: 'https:example.org/cm'
|
||||
git: [
|
||||
from: 'HEAD~1'
|
||||
]
|
||||
]
|
||||
```
|
||||
|
||||
|
@ -11,41 +11,88 @@ Creates a Transport Request for a Change Document on the Solution Manager.
|
||||
| -----------------|-----------|--------------------------------------------------------|--------------------|
|
||||
| `script` | yes | | |
|
||||
| `changeDocumentId` | yes | | |
|
||||
| `credentialsId` | yes | | |
|
||||
| `endpoint` | yes | | |
|
||||
| `clientOpts` | no | | |
|
||||
| `gitFrom` | no | `origin/master` | |
|
||||
| `gitTo` | no | `HEAD` | |
|
||||
| `gitChangeDocumentLabel` | no | `ChangeDocument\s?:` | regex pattern |
|
||||
| `gitFormat` | no | `%b` | see `git log --help` |
|
||||
| `changeManagement/credentialsId` | yes | | |
|
||||
| `changeManagement/endpoint` | yes | | |
|
||||
| `changeManagement/clientOpts` | no | | |
|
||||
| `changeManagement/git/from` | no | `origin/master` | |
|
||||
| `changeManagement/git/to` | no | `HEAD` | |
|
||||
| `changeManagement/changeDocumentLabel` | no | `ChangeDocument\s?:` | regex pattern |
|
||||
| `changeManagement/git/format` | no | `%b` | see `git log --help` |
|
||||
|
||||
* `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`](commonPipelineEnvironment.md) for retrieving, for example, configuration parameters.
|
||||
* `changeDocumentId` - The id of the change document to transport.
|
||||
* `credentialsId` - The credentials to connect to the Solution Manager.
|
||||
* `endpoint` - The address of the Solution Manager.
|
||||
* `clientOpts`- Options forwarded to JVM used by the CM client, like `JAVA_OPTS`
|
||||
* `gitFrom` - The starting point for retrieving the change document id
|
||||
* `gitTo` - The end point for retrieving the change document id
|
||||
* `gitChangeDocumentLabel` - A pattern used for identifying lines holding the change document id.
|
||||
* `gitFormat` - Specifies what part of the commit is scanned. By default the body of the commit message is scanned.
|
||||
* `changeManagement/credentialsId` - The credentials to connect to the Solution Manager.
|
||||
* `changeManagement/endpoint` - The address of the Solution Manager.
|
||||
* `changeManagement/clientOpts`- Options forwarded to JVM used by the CM client, like `JAVA_OPTS`
|
||||
* `changeManagement/git/from` - The starting point for retrieving the change document id
|
||||
* `changeManagement/git/to` - The end point for retrieving the change document id
|
||||
* `changeManagement/changeDocumentLabel` - A pattern used for identifying lines holding the change document id.
|
||||
* `changeManagement/git/format` - Specifies what part of the commit is scanned. By default the body of the commit message is scanned.
|
||||
|
||||
## Step configuration
|
||||
The following parameters can also be specified as step parameters using the global configuration file:
|
||||
The step is configured using a customer configuration file provided as
|
||||
resource in an custom shared library.
|
||||
|
||||
* `credentialsId`
|
||||
* `endpoint`
|
||||
* `clientOpts`
|
||||
```
|
||||
@Library('piper-library-os@master') _
|
||||
|
||||
// the shared lib containing the additional configuration
|
||||
// needs to be configured in Jenkins
|
||||
@Library(foo@master') __
|
||||
|
||||
// inside the shared lib denoted by 'foo' the additional configuration file
|
||||
// needs to be located under 'resources' ('resoures/myConfig.yml')
|
||||
prepareDefaultValues script: this,
|
||||
customDefaults: 'myConfig.yml'
|
||||
```
|
||||
|
||||
Example content of ```'resources/myConfig.yml'``` in branch ```'master'``` of the repository denoted by
|
||||
```'foo'```:
|
||||
|
||||
```
|
||||
general:
|
||||
changeManagement:
|
||||
changeDocumentLabel: 'ChangeDocument\s?:'
|
||||
cmClientOpts: '-Djavax.net.ssl.trustStore=<path to truststore>'
|
||||
credentialsId: 'CM'
|
||||
endpoint: 'https://example.org/cm'
|
||||
git:
|
||||
from: 'HEAD~1'
|
||||
to: 'HEAD'
|
||||
format: '%b'
|
||||
```
|
||||
|
||||
The properties configured in section `'general/changeManagement'` are shared between
|
||||
all change managment related steps.
|
||||
|
||||
The properties can also be configured on a per-step basis:
|
||||
|
||||
```
|
||||
[...]
|
||||
steps:
|
||||
transportRequestCreate:
|
||||
changeManagement:
|
||||
endpoint: 'https://example.org/cm'
|
||||
[...]
|
||||
```
|
||||
|
||||
The parameters can also be provided when the step is invoked. For examples see below.
|
||||
|
||||
## Return value
|
||||
The id of the Transport Request that has been created.
|
||||
|
||||
## Exceptions
|
||||
* `AbortException`:
|
||||
* If the change id is not provided.
|
||||
* If the creation of the transport request fails.
|
||||
* `IllegalStateException`:
|
||||
* If the change id is not provided.
|
||||
|
||||
## Example
|
||||
```groovy
|
||||
def transportRequestId = transportRequestCreate script:this, changeDocumentId: '001'
|
||||
def transportRequestId = transportRequestCreate script:this,
|
||||
changeDocumentId: '001,'
|
||||
changeManagement: [
|
||||
endpoint: 'https://example.org/cm'
|
||||
]
|
||||
```
|
||||
|
||||
|
@ -12,42 +12,90 @@ Releases a Transport Request for a Change Document on the Solution Manager.
|
||||
| `script` | yes | | |
|
||||
| `changeDocumentId` | yes | | |
|
||||
| `transportRequestId`| yes | | |
|
||||
| `credentialsId` | yes | | |
|
||||
| `endpoint` | yes | | |
|
||||
| `gitTransportRequestLabel` | no | `TransportRequest\s?:` | regex pattern |
|
||||
| `gitFrom` | no | `origin/master` | |
|
||||
| `gitTo` | no | `HEAD` | |
|
||||
| `gitChangeDocumentLabel` | no | `ChangeDocument\s?:` | regex pattern |
|
||||
| `gitFormat` | no | `%b` | see `git log --help` |
|
||||
| `changeManagement/changeDocumentLabel` | no | `ChangeDocument\s?:` | regex pattern |
|
||||
| `changeManagment/transportRequestLabel` | no | `TransportRequest\s?:` | regex pattern |
|
||||
| `changeManagement/credentialsId` | yes | | |
|
||||
| `changeManagement/endpoint` | yes | | |
|
||||
| `changeManagement/git/from` | no | `origin/master` | |
|
||||
| `changeManagement/git/to` | no | `HEAD` | |
|
||||
| `changeManagement/git/format` | no | `%b` | see `git log --help` |
|
||||
|
||||
* `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`](commonPipelineEnvironment.md) for retrieving, for example, configuration parameters.
|
||||
* `changeDocumentId` - The id of the change document related to the transport request to release.
|
||||
* `transportRequestId` - The id of the transport request to release.
|
||||
* `credentialsId` - The credentials to connect to the Solution Manager.
|
||||
* `endpoint` - The address of the Solution Manager.
|
||||
* `gitFrom` - The starting point for retrieving the change document id
|
||||
* `gitTo` - The end point for retrieving the change document id
|
||||
* `gitChangeDocumentLabel` - A pattern used for identifying lines holding the change document id.
|
||||
* `gitTransportReqeustLabel` - A pattern used for identifying lines holding the transport request id.
|
||||
* `gitFormat` - Specifies what part of the commit is scanned. By default the body of the commit message is scanned.
|
||||
* `changeManagement/changeDocumentLabel` - A pattern used for identifying lines holding the change document id.
|
||||
* `changeManagment/transportRequestLabel` - A pattern used for identifying lines holding the transport request id.
|
||||
* `changeManagement/credentialsId` - The id of the credentials to connect to the Solution Manager. The credentials needs to be maintained on Jenkins.
|
||||
* `changeManagement/endpoint` - The address of the Solution Manager.
|
||||
* `changeManagement/git/from` - The starting point for retrieving the change document id
|
||||
* `changeManagement/git/to` - The end point for retrieving the change document id
|
||||
* `changeManagement/git/format` - Specifies what part of the commit is scanned. By default the body of the commit message is scanned.
|
||||
|
||||
## Step configuration
|
||||
The following parameters can also be specified as step parameters using the global configuration file:
|
||||
The step is configured using a customer configuration file provided as
|
||||
resource in an custom shared library.
|
||||
|
||||
* `credentialsId`
|
||||
* `endpoint`
|
||||
```
|
||||
@Library('piper-library-os@master') _
|
||||
|
||||
// the shared lib containing the additional configuration
|
||||
// needs to be configured in Jenkins
|
||||
@Library(foo@master') __
|
||||
|
||||
// inside the shared lib denoted by 'foo' the additional configuration file
|
||||
// needs to be located under 'resources' ('resoures/myConfig.yml')
|
||||
prepareDefaultValues script: this,
|
||||
customDefaults: 'myConfig.yml'
|
||||
```
|
||||
|
||||
Example content of ```'resources/myConfig.yml'``` in branch ```'master'``` of the repository denoted by
|
||||
```'foo'```:
|
||||
|
||||
```
|
||||
general:
|
||||
changeManagement:
|
||||
changeDocumentLabel: 'ChangeDocument\s?:'
|
||||
cmClientOpts: '-Djavax.net.ssl.trustStore=<path to truststore>'
|
||||
credentialsId: 'CM'
|
||||
endpoint: 'https://example.org/cm'
|
||||
git:
|
||||
from: 'HEAD~1'
|
||||
to: 'HEAD'
|
||||
format: '%b'
|
||||
```
|
||||
|
||||
The properties configured in section `'general/changeManagement'` are shared between all change managment related steps.
|
||||
|
||||
The properties can also be configured on a per-step basis:
|
||||
|
||||
```
|
||||
[...]
|
||||
steps:
|
||||
transportRequestRelease:
|
||||
changeManagement:
|
||||
endpoint: 'https://example.org/cm'
|
||||
[...]
|
||||
```
|
||||
|
||||
The parameters can also be provided when the step is invoked. For examples see below.
|
||||
|
||||
## Return value
|
||||
None.
|
||||
|
||||
## Exceptions
|
||||
* `AbortException`:
|
||||
* `IllegalArgumentException`:
|
||||
* If the change id is not provided.
|
||||
* If the transport request id is not provided.
|
||||
* `AbortException`:
|
||||
* If the release of the transport request fails.
|
||||
|
||||
## Example
|
||||
```groovy
|
||||
transportRequestRelease script:this, changeDocumentId: '001', transportRequestId: '001'
|
||||
transportRequestRelease script:this,
|
||||
changeDocumentId: '001',
|
||||
transportRequestId: '001',
|
||||
changeManagement: [
|
||||
endpoint: 'https://example.org/cm'
|
||||
]
|
||||
```
|
||||
|
||||
|
@ -14,46 +14,97 @@ Uploads a file to a Transport Request for a Change Document on the Solution Mana
|
||||
| `transportRequestId`| yes | | |
|
||||
| `applicationId` | yes | | |
|
||||
| `filePath` | yes | | |
|
||||
| `credentialsId` | yes | | |
|
||||
| `endpoint` | yes | | |
|
||||
| `gitFrom` | no | `origin/master` | |
|
||||
| `gitTo` | no | `HEAD` | |
|
||||
| `gitChangeDocumentLabel` | no | `ChangeDocument\s?:` | regex pattern |
|
||||
| `gitTransportRequestLabel` | no | `TransportRequest\s?:` | regex pattern |
|
||||
| `gitFormat` | no | `%b` | see `git log --help` |
|
||||
| `changeManagement/credentialsId` | yes | | |
|
||||
| `changeManagement/endpoint` | yes | | |
|
||||
| `changeManagement/git/from` | no | `origin/master` | |
|
||||
| `changeManagement/git/to` | no | `HEAD` | |
|
||||
| `changeManagement/changeDocumentLabel` | no | `ChangeDocument\s?:` | regex pattern |
|
||||
| `changeManagement/transportRequestLabel` | no | `TransportRequest\s?:` | regex pattern |
|
||||
| `changeManagement/git/format` | no | `%b` | see `git log --help` |
|
||||
|
||||
* `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`](commonPipelineEnvironment.md) for retrieving, for example, configuration parameters.
|
||||
* `changeDocumentId` - The id of the change document related to the transport request to release.
|
||||
* `transportRequestId` - The id of the transport request to release.
|
||||
* `applicationId` - The id of the application.
|
||||
* `filePath` - The path of the file to upload.
|
||||
* `credentialsId` - The credentials to connect to the Solution Manager.
|
||||
* `endpoint` - The address of the Solution Manager.
|
||||
* `gitFrom` - The starting point for retrieving the change document id
|
||||
* `gitTo` - The end point for retrieving the change document id
|
||||
* `gitChangeDocumentLabel` - A pattern used for identifying lines holding the change document id.
|
||||
* `gitTransportRequestLabel` - A pattern used for identifying lines holding the transport request id.
|
||||
* `gitFormat` - Specifies what part of the commit is scanned. By default the body of the commit message is scanned.
|
||||
* `changeManagement/credentialsId` - The credentials to connect to the Solution Manager.
|
||||
* `changeManagement/endpoint` - The address of the Solution Manager.
|
||||
* `changeManagement/git/from` - The starting point for retrieving the change document id
|
||||
* `changeManagement/git/to` - The end point for retrieving the change document id
|
||||
* `changeManagement/changeDocumentLabel` - A pattern used for identifying lines holding the change document id.
|
||||
* `changeManagement/transportRequestLabel` - A pattern used for identifying lines holding the transport request id.
|
||||
* `changeManagement/git/format` - Specifies what part of the commit is scanned. By default the body of the commit message is scanned.
|
||||
|
||||
## Step configuration
|
||||
The following parameters can also be specified as step parameters using the global configuration file:
|
||||
The step is configured using a customer configuration file provided as
|
||||
resource in an custom shared library.
|
||||
|
||||
* `credentialsId`
|
||||
* `endpoint`
|
||||
```
|
||||
@Library('piper-library-os@master') _
|
||||
|
||||
// the shared lib containing the additional configuration
|
||||
// needs to be configured in Jenkins
|
||||
@Library(foo@master') __
|
||||
|
||||
// inside the shared lib denoted by 'foo' the additional configuration file
|
||||
// needs to be located under 'resources' ('resoures/myConfig.yml')
|
||||
prepareDefaultValues script: this,
|
||||
customDefaults: 'myConfig.yml'
|
||||
```
|
||||
|
||||
Example content of ```'resources/myConfig.yml'``` in branch ```'master'``` of the repository denoted by
|
||||
```'foo'```:
|
||||
|
||||
```
|
||||
general:
|
||||
changeManagement:
|
||||
changeDocumentLabel: 'ChangeDocument\s?:'
|
||||
cmClientOpts: '-Djavax.net.ssl.trustStore=<path to truststore>'
|
||||
credentialsId: 'CM'
|
||||
endpoint: 'https://example.org/cm'
|
||||
git:
|
||||
from: 'HEAD~1'
|
||||
to: 'HEAD'
|
||||
format: '%b'
|
||||
```
|
||||
|
||||
The properties configured in section `'general/changeManagement'` are shared between all change managment related steps.
|
||||
|
||||
The properties can also be configured on a per-step basis:
|
||||
|
||||
```
|
||||
[...]
|
||||
steps:
|
||||
transportRequestUploadFile:
|
||||
applicationId: 'FOO'
|
||||
changeManagement:
|
||||
endpoint: 'https://example.org/cm'
|
||||
[...]
|
||||
```
|
||||
|
||||
The parameters can also be provided when the step is invoked. For examples see below.
|
||||
|
||||
## Return value
|
||||
None.
|
||||
|
||||
## Exceptions
|
||||
* `AbortException`:
|
||||
* `IllegalArgumentException`:
|
||||
* If the change id is not provided.
|
||||
* If the transport request id is not provided.
|
||||
* If the application id is not provided.
|
||||
* If the file path is not provided.
|
||||
* `AbortException`:
|
||||
* If the upload fails.
|
||||
|
||||
## Example
|
||||
```groovy
|
||||
transportRequestUploadFile script:this, changeDocumentId: '001', transportRequestId: '001', applicationId: '001', filePath: '/path'
|
||||
transportRequestUploadFile script:this,
|
||||
changeDocumentId: '001',
|
||||
transportRequestId: '001',
|
||||
applicationId: '001',
|
||||
filePath: '/path',
|
||||
changeManagement:[
|
||||
endpoint: 'https://example.org/cm'
|
||||
]
|
||||
```
|
||||
|
||||
|
@ -1,7 +1,15 @@
|
||||
#Project Setup
|
||||
general:
|
||||
productiveBranch: 'master'
|
||||
|
||||
changeManagement:
|
||||
transportRequestLabel: 'TransportRequest\s?:'
|
||||
changeDocumentLabel: 'ChangeDocument\s?:'
|
||||
clientOpts: ''
|
||||
credentialsId: 'CM'
|
||||
git:
|
||||
from: 'origin/master'
|
||||
to: 'HEAD'
|
||||
format: '%b'
|
||||
#Steps Specific Configuration
|
||||
steps:
|
||||
artifactSetVersion:
|
||||
@ -174,29 +182,8 @@ steps:
|
||||
archive: false
|
||||
active: false
|
||||
checkChangeInDevelopment:
|
||||
credentialsId: 'CM'
|
||||
failIfStatusIsNotInDevelopment: true
|
||||
gitFrom: 'origin/master'
|
||||
gitTo: 'HEAD'
|
||||
gitChangeDocumentLabel: 'ChangeDocument\s?:'
|
||||
gitFormat: '%b'
|
||||
transportRequestCreate:
|
||||
credentialsId: 'CM'
|
||||
gitFrom: 'origin/master'
|
||||
gitTo: 'HEAD'
|
||||
gitChangeDocumentLabel: 'ChangeDocument\s?:'
|
||||
gitFormat: '%b'
|
||||
developmentSystemId: null
|
||||
transportRequestUploadFile:
|
||||
credentialsId: 'CM'
|
||||
gitFrom: 'origin/master'
|
||||
gitTo: 'HEAD'
|
||||
gitChangeDocumentLabel: 'ChangeDocument\s?:'
|
||||
gitTransportRequestLabel: 'TransportRequest\s?:'
|
||||
gitFormat: '%b'
|
||||
transportRequestRelease:
|
||||
credentialsId: 'CM'
|
||||
gitFrom: 'origin/master'
|
||||
gitTo: 'HEAD'
|
||||
gitChangeDocumentLabel: 'ChangeDocument\s?:'
|
||||
gitTransportRequestLabel: 'TransportRequest\s?:'
|
||||
gitFormat: '%b'
|
||||
|
@ -103,7 +103,6 @@ class ConfigurationHelper implements Serializable {
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
return config[parts.head()]
|
||||
}
|
||||
|
||||
|
@ -41,7 +41,7 @@ class CheckChangeInDevelopmentTest extends BasePiperTest {
|
||||
ChangeManagement cm = getChangeManagementUtils(true)
|
||||
boolean inDevelopment = jsr.step.checkChangeInDevelopment(
|
||||
cmUtils: cm,
|
||||
endpoint: 'https://example.org/cm')
|
||||
changeManagement: [endpoint: 'https://example.org/cm'])
|
||||
|
||||
assert inDevelopment
|
||||
|
||||
@ -50,7 +50,7 @@ class CheckChangeInDevelopmentTest extends BasePiperTest {
|
||||
endpoint: 'https://example.org/cm',
|
||||
userName: 'anonymous',
|
||||
password: '********',
|
||||
cmclientOpts: null
|
||||
cmclientOpts: ''
|
||||
]
|
||||
}
|
||||
|
||||
@ -63,7 +63,7 @@ class CheckChangeInDevelopmentTest extends BasePiperTest {
|
||||
ChangeManagement cm = getChangeManagementUtils(false)
|
||||
jsr.step.checkChangeInDevelopment(
|
||||
cmUtils: cm,
|
||||
endpoint: 'https://example.org/cm')
|
||||
changeManagement: [endpoint: 'https://example.org/cm'])
|
||||
}
|
||||
|
||||
@Test
|
||||
@ -72,7 +72,7 @@ class CheckChangeInDevelopmentTest extends BasePiperTest {
|
||||
ChangeManagement cm = getChangeManagementUtils(false)
|
||||
boolean inDevelopment = jsr.step.checkChangeInDevelopment(
|
||||
cmUtils: cm,
|
||||
endpoint: 'https://example.org/cm',
|
||||
changeManagement: [endpoint: 'https://example.org/cm'],
|
||||
failIfStatusIsNotInDevelopment: false)
|
||||
assert !inDevelopment
|
||||
}
|
||||
@ -84,7 +84,7 @@ class CheckChangeInDevelopmentTest extends BasePiperTest {
|
||||
jsr.step.checkChangeInDevelopment(
|
||||
changeDocumentId: '42',
|
||||
cmUtils: cm,
|
||||
endpoint: 'https://example.org/cm')
|
||||
changeManagement: [endpoint: 'https://example.org/cm'])
|
||||
|
||||
assert cmUtilReceivedParams.changeId == '42'
|
||||
}
|
||||
@ -95,7 +95,7 @@ class CheckChangeInDevelopmentTest extends BasePiperTest {
|
||||
|
||||
jsr.step.checkChangeInDevelopment(
|
||||
cmUtils: cm,
|
||||
endpoint: 'https://example.org/cm')
|
||||
changeManagement : [endpoint: 'https://example.org/cm'])
|
||||
|
||||
assert cmUtilReceivedParams.changeId == '0815'
|
||||
}
|
||||
@ -120,7 +120,7 @@ class CheckChangeInDevelopmentTest extends BasePiperTest {
|
||||
|
||||
jsr.step.checkChangeInDevelopment(
|
||||
cmUtils: cm,
|
||||
endpoint: 'https://example.org/cm')
|
||||
changeManagement: [endpoint: 'https://example.org/cm'])
|
||||
}
|
||||
|
||||
@Test
|
||||
@ -134,7 +134,7 @@ class CheckChangeInDevelopmentTest extends BasePiperTest {
|
||||
ChangeManagement cm = getChangeManagementUtils(false, null)
|
||||
jsr.step.checkChangeInDevelopment(
|
||||
cmUtils: cm,
|
||||
endpoint: 'https://example.org/cm')
|
||||
changeManagement: [endpoint: 'https://example.org/cm'])
|
||||
}
|
||||
|
||||
@Test
|
||||
@ -148,7 +148,7 @@ class CheckChangeInDevelopmentTest extends BasePiperTest {
|
||||
ChangeManagement cm = getChangeManagementUtils(false, '')
|
||||
jsr.step.checkChangeInDevelopment(
|
||||
cmUtils: cm,
|
||||
endpoint: 'https://example.org/cm')
|
||||
changeManagement: [endpoint: 'https://example.org/cm'])
|
||||
}
|
||||
|
||||
private ChangeManagement getChangeManagementUtils(boolean inDevelopment, String changeDocumentId = '001') {
|
||||
|
@ -33,12 +33,17 @@ public class TransportRequestCreateTest extends BasePiperTest {
|
||||
@Before
|
||||
public void setup() {
|
||||
|
||||
nullScript.commonPipelineEnvironment.configuration = [steps:
|
||||
[transportRequestCreate:
|
||||
|
||||
nullScript.commonPipelineEnvironment.configuration = [general:
|
||||
[changeManagement:
|
||||
[
|
||||
credentialsId: 'CM',
|
||||
endpoint: 'https://example.org/cm',
|
||||
clientOpts: '-DmyProp=myVal'
|
||||
clientOpts: '-DmyProp=myVal',
|
||||
changeDocumentLabel: 'ChangeId\\s?:',
|
||||
git: [from: 'origin/master',
|
||||
to: 'HEAD',
|
||||
format: '%b']
|
||||
]
|
||||
]
|
||||
]
|
||||
|
@ -34,8 +34,8 @@ public class TransportRequestReleaseTest extends BasePiperTest {
|
||||
@Before
|
||||
public void setup() {
|
||||
|
||||
nullScript.commonPipelineEnvironment.configuration = [steps:
|
||||
[transportRequestRelease:
|
||||
nullScript.commonPipelineEnvironment.configuration = [general:
|
||||
[changeManagement:
|
||||
[
|
||||
credentialsId: 'CM',
|
||||
endpoint: 'https://example.org/cm'
|
||||
|
@ -39,8 +39,8 @@ public class TransportRequestUploadFileTest extends BasePiperTest {
|
||||
|
||||
cmUtilReceivedParams.clear()
|
||||
|
||||
nullScript.commonPipelineEnvironment.configuration = [steps:
|
||||
[transportRequestUploadFile:
|
||||
nullScript.commonPipelineEnvironment.configuration = [general:
|
||||
[changeManagement:
|
||||
[
|
||||
credentialsId: 'CM',
|
||||
endpoint: 'https://example.org/cm'
|
||||
@ -177,7 +177,7 @@ public class TransportRequestUploadFileTest extends BasePiperTest {
|
||||
endpoint: 'https://example.org/cm',
|
||||
username: 'anonymous',
|
||||
password: '********',
|
||||
cmclientOpts: null
|
||||
cmclientOpts: ''
|
||||
]
|
||||
}
|
||||
|
||||
|
@ -50,7 +50,6 @@ class ConfigurationHelperTest {
|
||||
assertThat(configuration.getConfigProperty('a/c'), is((nullValue())))
|
||||
}
|
||||
|
||||
@Test
|
||||
void testGetPropertyNestedPathStartsWithTokenizer() {
|
||||
def configuration = new ConfigurationHelper([k:'v'])
|
||||
assertThat(configuration.getConfigProperty('/k'), is(('v')))
|
||||
|
@ -10,14 +10,8 @@ import com.sap.piper.cm.ChangeManagementException
|
||||
@Field def STEP_NAME = 'checkChangeInDevelopment'
|
||||
|
||||
@Field Set stepConfigurationKeys = [
|
||||
'cmClientOpts',
|
||||
'credentialsId',
|
||||
'endpoint',
|
||||
'failIfStatusIsNotInDevelopment',
|
||||
'gitFrom',
|
||||
'gitTo',
|
||||
'gitChangeDocumentLabel',
|
||||
'gitFormat'
|
||||
'changeManagement',
|
||||
'failIfStatusIsNotInDevelopment'
|
||||
]
|
||||
|
||||
@Field Set parameterKeys = stepConfigurationKeys.plus('changeDocumentId')
|
||||
@ -40,6 +34,17 @@ def call(parameters = [:]) {
|
||||
.mixinStageConfig(script.commonPipelineEnvironment, parameters.stageName?:env.STAGE_NAME, stepConfigurationKeys)
|
||||
.mixinStepConfig(script.commonPipelineEnvironment, stepConfigurationKeys)
|
||||
.mixin(parameters, parameterKeys)
|
||||
// for the following parameters we expect defaults
|
||||
.withMandatoryProperty('changeManagement/changeDocumentLabel')
|
||||
.withMandatoryProperty('changeManagement/clientOpts')
|
||||
.withMandatoryProperty('changeManagement/credentialsId')
|
||||
.withMandatoryProperty('changeManagement/git/from')
|
||||
.withMandatoryProperty('changeManagement/git/to')
|
||||
.withMandatoryProperty('changeManagement/git/format')
|
||||
.withMandatoryProperty('failIfStatusIsNotInDevelopment')
|
||||
// for the following parameters we expect a value provided from outside
|
||||
.withMandatoryProperty('changeManagement/endpoint')
|
||||
|
||||
|
||||
Map configuration = configHelper.use()
|
||||
|
||||
@ -51,15 +56,15 @@ def call(parameters = [:]) {
|
||||
|
||||
} else {
|
||||
|
||||
echo "[INFO] Retrieving ChangeDocumentId from commit history [from: ${configuration.gitFrom}, to: ${configuration.gitTo}]." +
|
||||
"Searching for pattern '${configuration.gitChangeDocumentLabel}'. Searching with format '${configuration.gitFormat}'."
|
||||
echo "[INFO] Retrieving ChangeDocumentId from commit history [from: ${configuration.changeManagement.git.from}, to: ${configuration.changeManagement.git.to}]." +
|
||||
"Searching for pattern '${configuration.changeManagement.changeDocumentLabel}'. Searching with format '${configuration.changeManagement.git.format}'."
|
||||
|
||||
try {
|
||||
changeId = cm.getChangeDocumentId(
|
||||
configuration.gitFrom,
|
||||
configuration.gitTo,
|
||||
configuration.gitChangeDocumentLabel,
|
||||
configuration.gitFormat
|
||||
configuration.changeManagement.git.from,
|
||||
configuration.changeManagement.git.to,
|
||||
configuration.changeManagement.changeDocumentLabel,
|
||||
configuration.changeManagement.git.format
|
||||
)
|
||||
if(changeId?.trim()) {
|
||||
echo "[INFO] ChangeDocumentId '${changeId}' retrieved from commit history"
|
||||
@ -70,11 +75,10 @@ def call(parameters = [:]) {
|
||||
}
|
||||
|
||||
configuration = configHelper.mixin([changeDocumentId: changeId?.trim() ?: null], ['changeDocumentId'] as Set)
|
||||
.withMandatoryProperty('endpoint')
|
||||
.withMandatoryProperty('changeDocumentId',
|
||||
"No changeDocumentId provided. Neither via parameter 'changeDocumentId' " +
|
||||
"nor via label '${configuration.gitChangeDocumentLabel}' in commit range " +
|
||||
"[from: ${configuration.gitFrom}, to: ${configuration.gitTo}].")
|
||||
"nor via label '${configuration.changeManagement.changeDocumentLabel}' in commit range " +
|
||||
"[from: ${configuration.changeManagement.git.from}, to: ${configuration.changeManagement.git.to}].")
|
||||
.use()
|
||||
|
||||
boolean isInDevelopment
|
||||
@ -82,16 +86,16 @@ def call(parameters = [:]) {
|
||||
echo "[INFO] Checking if change document '${configuration.changeDocumentId}' is in development."
|
||||
|
||||
withCredentials([usernamePassword(
|
||||
credentialsId: configuration.credentialsId,
|
||||
credentialsId: configuration.changeManagement.credentialsId,
|
||||
passwordVariable: 'password',
|
||||
usernameVariable: 'username')]) {
|
||||
|
||||
try {
|
||||
isInDevelopment = cm.isChangeInDevelopment(configuration.changeDocumentId,
|
||||
configuration.endpoint,
|
||||
configuration.changeManagement.endpoint,
|
||||
username,
|
||||
password,
|
||||
configuration.cmClientOpts)
|
||||
configuration.changeManagement.clientOpts)
|
||||
} catch(ChangeManagementException ex) {
|
||||
throw new AbortException(ex.getMessage())
|
||||
}
|
||||
|
@ -12,16 +12,11 @@ import hudson.AbortException
|
||||
@Field def STEP_NAME = 'transportRequestCreate'
|
||||
|
||||
@Field Set stepConfigurationKeys = [
|
||||
'credentialsId',
|
||||
'clientOpts',
|
||||
'endpoint',
|
||||
'gitFrom',
|
||||
'gitTo',
|
||||
'gitChangeDocumentLabel',
|
||||
'gitFormat'
|
||||
'changeManagement',
|
||||
'developmentSystemId'
|
||||
]
|
||||
|
||||
@Field Set parameterKeys = stepConfigurationKeys.plus(['changeDocumentId', 'developmentSystemId'])
|
||||
@Field Set parameterKeys = stepConfigurationKeys.plus(['changeDocumentId'])
|
||||
|
||||
@Field generalConfigurationKeys = stepConfigurationKeys
|
||||
|
||||
@ -39,7 +34,12 @@ def call(parameters = [:]) {
|
||||
.mixinStageConfig(script.commonPipelineEnvironment, parameters.stageName?:env.STAGE_NAME, stepConfigurationKeys)
|
||||
.mixinStepConfig(script.commonPipelineEnvironment, stepConfigurationKeys)
|
||||
.mixin(parameters, parameterKeys)
|
||||
.withMandatoryProperty('endpoint')
|
||||
.withMandatoryProperty('changeManagement/clientOpts')
|
||||
.withMandatoryProperty('changeManagement/credentialsId')
|
||||
.withMandatoryProperty('changeManagement/endpoint')
|
||||
.withMandatoryProperty('changeManagement/git/from')
|
||||
.withMandatoryProperty('changeManagement/git/to')
|
||||
.withMandatoryProperty('changeManagement/git/format')
|
||||
.withMandatoryProperty('developmentSystemId')
|
||||
|
||||
Map configuration = configHelper.use()
|
||||
@ -52,15 +52,16 @@ def call(parameters = [:]) {
|
||||
|
||||
} else {
|
||||
|
||||
echo "[INFO] Retrieving ChangeDocumentId from commit history [from: ${configuration.gitFrom}, to: ${configuration.gitTo}]." +
|
||||
"Searching for pattern '${configuration.gitChangeDocumentLabel}'. Searching with format '${configuration.gitFormat}'."
|
||||
echo "[INFO] Retrieving ChangeDocumentId from commit history [from: ${configuration.changeManagement.git.from}, to: ${configuration.changeManagement.git.to}]." +
|
||||
"Searching for pattern '${configuration.changeDocumentLabel}'. Searching with format '${configuration.changeManagement.git.format}'."
|
||||
|
||||
try {
|
||||
|
||||
changeDocumentId = cm.getChangeDocumentId(
|
||||
configuration.gitFrom,
|
||||
configuration.gitTo,
|
||||
configuration.gitChangeDocumentLabel,
|
||||
configuration.gitFormat
|
||||
configuration.changeManagement.git.from,
|
||||
configuration.changeManagement.git.to,
|
||||
configuration.changeManagement.changeDocumentLabel,
|
||||
configuration.changeManagement.git.format
|
||||
)
|
||||
|
||||
echo "[INFO] ChangeDocumentId '${changeDocumentId}' retrieved from commit history"
|
||||
@ -79,17 +80,17 @@ def call(parameters = [:]) {
|
||||
echo "[INFO] Creating transport request for change document '${configuration.changeDocumentId}' and development system '${configuration.developmentSystemId}'."
|
||||
|
||||
withCredentials([usernamePassword(
|
||||
credentialsId: configuration.credentialsId,
|
||||
credentialsId: configuration.changeManagement.credentialsId,
|
||||
passwordVariable: 'password',
|
||||
usernameVariable: 'username')]) {
|
||||
|
||||
try {
|
||||
transportRequestId = cm.createTransportRequest(configuration.changeDocumentId,
|
||||
configuration.developmentSystemId,
|
||||
configuration.endpoint,
|
||||
configuration.changeManagement.endpoint,
|
||||
username,
|
||||
password,
|
||||
configuration.clientOpts)
|
||||
configuration.changeManagement.clientOpts)
|
||||
} catch(ChangeManagementException ex) {
|
||||
throw new AbortException(ex.getMessage())
|
||||
}
|
||||
|
@ -12,14 +12,7 @@ import hudson.AbortException
|
||||
@Field def STEP_NAME = 'transportRequestRelease'
|
||||
|
||||
@Field Set stepConfigurationKeys = [
|
||||
'credentialsId',
|
||||
'cmClientOpts',
|
||||
'endpoint',
|
||||
'gitChangeDocumentLabel',
|
||||
'gitFrom',
|
||||
'gitTo',
|
||||
'gitTransportRequestLabel',
|
||||
'gitFormat'
|
||||
'changeManagement'
|
||||
]
|
||||
|
||||
@Field Set parameterKeys = stepConfigurationKeys.plus([
|
||||
@ -43,7 +36,12 @@ def call(parameters = [:]) {
|
||||
.mixinStageConfig(script.commonPipelineEnvironment, parameters.stageName?:env.STAGE_NAME, stepConfigurationKeys)
|
||||
.mixinStepConfig(script.commonPipelineEnvironment, stepConfigurationKeys)
|
||||
.mixin(parameters, parameterKeys)
|
||||
.withMandatoryProperty('endpoint')
|
||||
.withMandatoryProperty('changeManagement/clientOpts')
|
||||
.withMandatoryProperty('changeManagement/credentialsId')
|
||||
.withMandatoryProperty('changeManagement/endpoint')
|
||||
.withMandatoryProperty('changeManagement/git/to')
|
||||
.withMandatoryProperty('changeManagement/git/from')
|
||||
.withMandatoryProperty('changeManagement/git/format')
|
||||
|
||||
Map configuration = configHelper.use()
|
||||
|
||||
@ -55,15 +53,15 @@ def call(parameters = [:]) {
|
||||
|
||||
} else {
|
||||
|
||||
echo "[INFO] Retrieving transport request id from commit history [from: ${configuration.gitFrom}, to: ${configuration.gitTo}]." +
|
||||
" Searching for pattern '${configuration.gitTransportRequestLabel}'. Searching with format '${configuration.gitFormat}'."
|
||||
echo "[INFO] Retrieving transport request id from commit history [from: ${configuration.changeManagement.git.from}, to: ${configuration.changeManagement.git.to}]." +
|
||||
" Searching for pattern '${configuration.gitTransportRequestLabel}'. Searching with format '${configuration.changeManagement.git.format}'."
|
||||
|
||||
try {
|
||||
transportRequestId = cm.getTransportRequestId(
|
||||
configuration.gitFrom,
|
||||
configuration.gitTo,
|
||||
configuration.gitTransportRequestLabel,
|
||||
configuration.gitFormat
|
||||
configuration.changeManagement.git.from,
|
||||
configuration.changeManagement.git.to,
|
||||
configuration.changeManagement.transportRequestLabel,
|
||||
configuration.changeManagement.git.format
|
||||
)
|
||||
|
||||
echo "[INFO] Transport request id '${transportRequestId}' retrieved from commit history"
|
||||
@ -81,15 +79,15 @@ def call(parameters = [:]) {
|
||||
|
||||
} else {
|
||||
|
||||
echo "[INFO] Retrieving ChangeDocumentId from commit history [from: ${configuration.gitFrom}, to: ${configuration.gitTo}]." +
|
||||
"Searching for pattern '${configuration.gitChangeDocumentLabel}'. Searching with format '${configuration.gitFormat}'."
|
||||
echo "[INFO] Retrieving ChangeDocumentId from commit history [from: ${configuration.changeManagement.git.from}, to: ${configuration.changeManagement.git.to}]." +
|
||||
"Searching for pattern '${configuration.changeDocumentLabel}'. Searching with format '${configuration.changeManagement.git.format}'."
|
||||
|
||||
try {
|
||||
changeDocumentId = cm.getChangeDocumentId(
|
||||
configuration.gitFrom,
|
||||
configuration.gitTo,
|
||||
configuration.gitChangeDocumentLabel,
|
||||
configuration.gitFormat
|
||||
configuration.changeManagement.git.from,
|
||||
configuration.changeManagement.git.to,
|
||||
configuration.changeManagement.changeDocumentLabel,
|
||||
configuration.changeManagement.gitformat
|
||||
)
|
||||
|
||||
echo "[INFO] ChangeDocumentId '${changeDocumentId}' retrieved from commit history"
|
||||
@ -111,17 +109,17 @@ def call(parameters = [:]) {
|
||||
echo "[INFO] Closing transport request '${configuration.transportRequestId}' for change document '${configuration.changeDocumentId}'."
|
||||
|
||||
withCredentials([usernamePassword(
|
||||
credentialsId: configuration.credentialsId,
|
||||
credentialsId: configuration.changeManagement.credentialsId,
|
||||
passwordVariable: 'password',
|
||||
usernameVariable: 'username')]) {
|
||||
|
||||
try {
|
||||
cm.releaseTransportRequest(configuration.changeDocumentId,
|
||||
configuration.transportRequestId,
|
||||
configuration.endpoint,
|
||||
configuration.changeManagement.endpoint,
|
||||
username,
|
||||
password,
|
||||
configuration.cmClientOpts)
|
||||
configuration.changeManagement.clientOpts)
|
||||
} catch(ChangeManagementException ex) {
|
||||
throw new AbortException(ex.getMessage())
|
||||
}
|
||||
|
@ -12,14 +12,7 @@ import hudson.AbortException
|
||||
@Field def STEP_NAME = 'transportRequestUploadFile'
|
||||
|
||||
@Field Set generalConfigurationKeys = [
|
||||
'credentialsId',
|
||||
'cmClientOpts',
|
||||
'endpoint',
|
||||
'gitFrom',
|
||||
'gitTo',
|
||||
'gitChangeDocumentLabel',
|
||||
'gitTransportRequestLabel',
|
||||
'gitFormat'
|
||||
'changeManagement',
|
||||
]
|
||||
|
||||
@Field Set parameterKeys = generalConfigurationKeys.plus([
|
||||
@ -44,8 +37,14 @@ def call(parameters = [:]) {
|
||||
.mixinStageConfig(script.commonPipelineEnvironment, parameters.stageName?:env.STAGE_NAME, stepConfigurationKeys)
|
||||
.mixinStepConfig(script.commonPipelineEnvironment, stepConfigurationKeys)
|
||||
.mixin(parameters, parameterKeys)
|
||||
.withMandatoryProperty('endpoint')
|
||||
.withMandatoryProperty('applicationId')
|
||||
.withMandatoryProperty('changeManagement/changeDocumentLabel')
|
||||
.withMandatoryProperty('changeManagement/clientOpts')
|
||||
.withMandatoryProperty('changeManagement/credentialsId')
|
||||
.withMandatoryProperty('changeManagement/endpoint')
|
||||
.withMandatoryProperty('changeManagement/git/from')
|
||||
.withMandatoryProperty('changeManagement/git/to')
|
||||
.withMandatoryProperty('changeManagement/git/format')
|
||||
.withMandatoryProperty('filePath')
|
||||
|
||||
Map configuration = configHelper.use()
|
||||
@ -58,15 +57,15 @@ def call(parameters = [:]) {
|
||||
|
||||
} else {
|
||||
|
||||
echo "[INFO] Retrieving ChangeDocumentId from commit history [from: ${configuration.gitFrom}, to: ${configuration.gitTo}]." +
|
||||
"Searching for pattern '${configuration.gitChangeDocumentLabel}'. Searching with format '${configuration.gitFormat}'."
|
||||
echo "[INFO] Retrieving ChangeDocumentId from commit history [from: ${configuration.changeManagement.git.from}, to: ${configuration.changeManagement.git.to}]." +
|
||||
"Searching for pattern '${configuration.changeManagement.changeDocumentLabel}'. Searching with format '${configuration.changeManagement.git.format}'."
|
||||
|
||||
try {
|
||||
changeDocumentId = cm.getChangeDocumentId(
|
||||
configuration.gitFrom,
|
||||
configuration.gitTo,
|
||||
configuration.gitChangeDocumentLabel,
|
||||
configuration.gitFormat
|
||||
configuration.changeManagement.git.from,
|
||||
configuration.changeManagement.git.to,
|
||||
configuration.changeManagement.changeDocumentLabel,
|
||||
configuration.changeManagement.git.format
|
||||
)
|
||||
|
||||
echo "[INFO] ChangeDocumentId '${changeDocumentId}' retrieved from commit history"
|
||||
@ -114,7 +113,7 @@ def call(parameters = [:]) {
|
||||
echo "[INFO] Uploading file '${configuration.filePath}' to transport request '${configuration.transportRequestId}' of change document '${configuration.changeDocumentId}'."
|
||||
|
||||
withCredentials([usernamePassword(
|
||||
credentialsId: configuration.credentialsId,
|
||||
credentialsId: configuration.changeManagement.credentialsId,
|
||||
passwordVariable: 'password',
|
||||
usernameVariable: 'username')]) {
|
||||
|
||||
@ -123,10 +122,10 @@ def call(parameters = [:]) {
|
||||
configuration.transportRequestId,
|
||||
configuration.applicationId,
|
||||
configuration.filePath,
|
||||
configuration.endpoint,
|
||||
configuration.changeManagement.endpoint,
|
||||
username,
|
||||
password,
|
||||
configuration.cmClientOpts)
|
||||
configuration.changeManagement.clientOpts)
|
||||
} catch(ChangeManagementException ex) {
|
||||
throw new AbortException(ex.getMessage())
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user