github.com/jaylevin/jenkins-library@v1.230.4/documentation/docs/steps/transportRequestUploadRFC.md (about)

     1  # ${docGenStepName}
     2  
     3  ## ${docGenDescription}
     4  
     5  ## Prerequisites
     6  
     7  * You have enabled RFC on the ABAP system.
     8  * You have a user account on the ABAP system where you have assigned the required roles for uploading via RFC.
     9  * You have created a transport request on the ABAP system, which is the target container of the upload.
    10  
    11  ## RFC Client
    12  
    13  The RFC Client connects to your ABAP system using the [SAP NetWeaver RFC SDK](https://support.sap.com/en/product/connectors/nwrfcsdk.html).
    14  
    15  For more information, see [classical SAP connectivity technology RFC](https://help.sap.com/viewer/753088fc00704d0a80e7fbd6803c8adb/1709%20000/en-US/4888068ad9134076e10000000a42189d.html).
    16  
    17  To install an RFC library based Connector Client, proceed as follows:
    18  
    19  1. Create a Docker image as described in the Git repository [devops-docker-images/node-rfc](https://github.com/rodibrin/devops-docker-images/tree/master/node-rfc).
    20  1. Push your image to your private [Docker Hub registry](https://hub.docker.com/).
    21  1. Add the following to your config.yml file:
    22  
    23  ```yaml
    24  steps:
    25    transportRequestUploadRFC:
    26      dockerImage: 'my/rfc-client'
    27  ```
    28  
    29  ## Specifying the Transport Request
    30  
    31  The target of the upload is a transport request, identified by an identifier (ID).
    32  
    33  The step `transportRequestUploadRFC` allows you to set the ID by parameter.
    34  
    35  Alternatively, you can pass the ID through the `commonPipelineEnvironment`.
    36  For example, by performing a step that generates the ID or obtains it differently.
    37  See [transportRequestReqIDFromGit](transportRequestReqIDFromGit.md).
    38  
    39  ### Adding a Parameter
    40  
    41  A parameterized pipeline allows you to specify the ID with the launch of the build instead of entering it statically into the pipeline.
    42  
    43  ```groovy
    44  transportRequestUploadRFC(
    45      script: this,
    46      transportRequestId: ${TRANSPORT_REQUEST_ID},
    47      ...
    48  )
    49  ```
    50  
    51  The Jenkins pipeline `input` step allows you to specify the ID at runtime of the pipeline.
    52  
    53  ```groovy
    54  def ids = input( message: "Upload?",
    55      parameters: [
    56          string(name: 'TRANSPORT_REQUEST_ID',description: 'Transport Request ID')
    57      ]
    58  )
    59  
    60  transportRequestUploadRFC(
    61      script:this,
    62      transportRequestId: ids['TRANSPORT_REQUEST_ID'],
    63      ...
    64  )
    65  ```
    66  
    67  ## Common Pipeline Environment
    68  
    69  Use the step [transportRequestReqIDFromGit](transportRequestReqIDFromGit.md) to obtain the  `transportRequestId` value from your Git commit messages.
    70  
    71  This step extracts the ID from the commit messages of your project repository and enters it into the `commonPipelineEnvironment`, in turn, the upload step `transportRequestUploadRFC` picks it up from there.
    72  
    73  ```groovy
    74  transportRequestReqIDFromGit( script: this )
    75  transportRequestUploadRFC( script: this, ... )
    76  ```
    77  
    78  ## ${docGenParameters}
    79  
    80  ## ${docGenConfiguration}
    81  
    82  ## ${docJenkinsPluginDependencies}
    83  
    84  ## Example
    85  
    86  ```yaml
    87  # config.yaml
    88  steps:
    89    transportRequestUploadRFC:
    90      changeManagement:
    91        credentialsId: 'RFC_CREDENTIALS_ID'
    92        endpoint: 'https://example.org/cm/rfc/endpoint'
    93        instance: '00'
    94        client: '001'
    95      abapPackage: 'PACK'
    96      applicationDescription: 'Lorem ipsum'
    97      applicationName: 'APP'
    98      dockerImage: 'my/rfc-client'
    99  ```
   100  
   101  ```groovy
   102  // pipeline script
   103  transportRequestReqIDFromGit( script: this )
   104  transportRequestUploadRFC( script: this, applicationUrl: 'https://example.org/appl/url/archive.zip')
   105  ```