This documentation supports the 21.3 version of BMC Helix Innovation Studio.To view an earlier version, select the version from the Product version menu.

Example: Automating service requests for running a deployment job by using Jenkins


Use the BMC Sample Deploy Instance 21.05 sample service in the BMC Helix Digital Workplace Catalog  application to automate service requests for running a deployment job in Jenkins.

Scenario

Ajay, an application business analyst wants to create a service to automate service requests for running a BMC Helix Innovation Studio deployment jobHe uses the BMC Sample Deploy Instance 21.05.zip sample service content package. Ajay first creates a Jenkins connector configuration and creates a deployment job in Jenkins. He updates the service in the BMC Helix Digital Workplace Catalog application. He then publishes the service to make it available to users.

The following video (2:25) explains how to automate a user request for running a deployment job:


icon_play.pnghttps://youtu.be/P25iO07tZO0

Before you begin

Make sure that you create a deployment job in Jenkins.

Task 1: To create a Jenkins connector configuration

  1. Log in to BMC Helix Digital Workplace Catalog.
  2. On the Services tab, click Connectors.
  3. Select Jenkins, click Actions, and click Open.
  4. Update the following fields:

    Name

    Description

    URL

    URL of the Jenkins server.

    User

    User name to log in to the Jenkins server.
    Important: The user must have permissions to run the Jenkins jobs.

    Password

    Password to log in to the Jenkins server.
    Alternatively, you can use the API token in your Jenkins user profile configuration as the password.

    Trust All Certificates

    If you want to trust your certificates, specify the value as True, else do not specify any value

  5. Click Save.

Task 2: To define Deploy Instance service

  1. Log in to BMC Helix Digital Workplace Catalog.
  2. On the Services tab, click Services.
    The service BMC Sample Deploy Instance 21.05 is displayed in the Service Management console.
  1. Select the service, click Actions, and click Edit Service Name.
    Deploy instance service name.png
  1. Update the service name, and click Save.
    For example, Deploy Instance.

Task 3: To define Deploy Instance service workflow

  1. In the BMC Helix Digital Workplace Catalog application, in the Service Management console, select the Deploy Instance service.
  2. Click Actions, and click Open.
  3. In the Service Options pane, click Edit corresponding to the Workflow option.

    Jenkins Edit workflow.png
  4. In the Workflow and Questions pane, in the Workflow section, click Edit.
    Deploy instance workflow edit.png
    The following workflow is displayed in the Workflow designer:
    Deploy instance workflow.png

    The following elements are used in the workflow:

    Element

    Label

    Description

    Create Document

    Job input parameters

    Accesses the attributes within the schema of the JenkinsParameters document definition.
    You must specify the document node values as they are used as input to run the Jenkins job.

    Run Jenkins job

    Run Jenkins job

    Triggers a Jenkins job.
    You must specify the deployment job that you want to run in the element properties.

    Get Queue Item

    Get Queue Item

    Retrieves the ID of an item in a Jenkins queue.

    Exclusive

    NA

    Checks if the queue item is retrieved.

    Receive Task

    Wait for queue item

    Waits for the queue item to be retrieved.

    Timer

    NA

    Interrupts a wait step after time out.

    Get Jenkins Job Build

    Get Jenkins job result

    Retrieves the build details of a Jenkins job.

    Exclusive

    NA

    Checks if the Jenkins job to be completed.

    Receive Task

    Wait for job result

    Adds wait steps in the workflow and waits for Jenkins job completion.

    Timer

    NA

    Interrupts a wait step after time out.

    Send User Message

    Send Message

    Sends job result to the service requester through an email.

  5. If required, update the workflow input variables.
    The following input variables are available:

    Deploy instance input variables.png

You must map these input variables to the service questionnaire so that the user responses to service questions are used as variable values.

  1. Select the Send User Message element in the workflow and update the Outgoing Profile Source and Outgoing Email Profile properties.
  1. Save the changes.

Task 4: To define Deploy Instance service questionnaire

  1. In the BMC Helix Digital Workplace Catalog application, in the Service Management console, select the Deploy Instance service.
  2. Click Actions, and click Open.
  3. In the Service Options pane, click Edit corresponding to the Workflow option.
    Jenkins Edit workflow.png
  1. In the Workflow and Questions pane, in the Questions section, click Edit.
    Deploy instance questions edit.png

    The following questions are displayed in the Questions Designer:
    Deploy instance questions.png

    Question

    Description

    VM Name

    Value specifies the name of the virtual machine. Users can specify the virtual machine name where they want to perform the deployment.

    Deploy BMC Helix Digital Workplace Catalog

    Value specifies the product name to deploy. Users can specify the value as true and update the product name based on your deployment job.

    Deploy BMC Helix Business Workflow

    Value specifies the product name to deploy. Users can specify the value as true and update the product name based on your deployment job.

    Deploy Approval

    Value specifies the product name to deploy. Users can specify the value as true and update the product name based on your deployment job.

  2. If you have added additional input variables in the workflow to receive inputs from the service requester, add questions corresponding to the variables.
  3. Save the changes.

Task 5: To publish the Deploy Instance service

  1. In the BMC Helix Digital Workplace Catalog application, in the Service Management console, select the Deploy Instance service.
  2. In the Service Options pane, click Example_Icon for publishing service.png, and click Publish.
    Deploy instance publish service.png
    After you publish the service, the service is available to users. 

Task 6: To test the Deploy Instance service

  1. Log in to BMC Helix Digital Workplace Advanced application.
  2. Submit a deployment request by using the Deploy Instance service.
    Deploy instance request submit.png
  1. Verify that you have received an email about deployment completion.

Result

The Deploy Jenkins service is available for the users. User can submit deployment requests by using this service and their requests are processed automatically.

Related topic

Setting up a process to automatically trigger a Jenkins job


 

Tip: For faster searching, add an asterisk to the end of your partial query. Example: cert*