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


Use the BMC Sample Deploy Instance <version> sample service in BMC Helix Digital Workplace Catalogto 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 Studiodeployment job. He uses the BMC Sample Deploy Instance <version>.zip sample service content package. Ajay first creates a Jenkins connector configuration and creates a deployment job in Jenkins. He updates the service in BMC Helix Digital Workplace Catalog. 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:


22_1_icon_play.pnghttps://youtu.be/P25iO07tZO0

Before you begin

Make sure that you create a deployment job in Jenkins. For more information, see Automating-triggering-of-Jenkins-jobs.

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

    Username 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 the 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 <version> is displayed in the Service Management console.
  1. Select the service, click Actions, and click Edit Service Name.
    22_1_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 BMC Helix Digital Workplace Catalog, 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.

    22_1_Jenkins Edit workflow.png
  4. In the Workflow and Questions pane, in the Workflow section, click Edit.
    22_1_Deploy instance workflow edit.png
    The following workflow is displayed in the Workflow designer:
    22_1_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 the 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 is to be completed.

    Receive Task

    Wait for the 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 results to the service requester through an email.

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

    22_1_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 the Deploy Instance service questionnaire

  1. In BMC Helix Digital Workplace Catalog, 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.
    22_1_Jenkins Edit workflow.png
  1. In the Workflow and Questions pane, in the Questions section, click Edit.
    22_1_Deploy instance questions edit.png

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

    Question

    Description

    VM Name

    The 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

    The 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 Workflows

    The 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

    The 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 BMC Helix Digital Workplace Catalog, in the Service Management console, select the Deploy Instance service.
  2. In the Service Options pane, click 22_1_Example_Icon for publishing service.png, and click Publish.
    22_1_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.
  2. Submit a deployment request by using the Deploy Instance service.
    22_1_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. Users can submit deployment requests by using this service and their requests are processed automatically.


 

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