This documentation supports the 22.1 version of BMC Helix Digital Workplace Basic and BMC Helix Digital Workplace Advanced. Icons distinguish capabilities available only for the Advanced and External license levels. For more information, see License-types-and-features.

Setting up a workflow to open a JIRA issue through a BMC Helix Integration Service connector


As a catalog administrator or internal supplier, you can create a workflow that uses a connector from BMC Helix Integration Service. This example uses the JIRA connector that is provided with BMC Helix Integration Service to open an issue. You can follow a similar process to perform other actions with the JIRA connector or with other provided connectors. In addition, developers can develop custom connectors in BMC Helix Integration Service that you can use in workflow.

Scenario: Automatic JIRA issue creation

The Open JIRA issue service is available in BMC Helix Digital Workplace Catalog

    1. Hannah, the catalog administrator, creates a service for end users to report application errors. This service in turn creates a Jira ticket and assigns it to the appropriate support group.  
    2. Britney, an end user encounters an error in one of the company applications. She submits a service to report this error, which creates a corresponding Jira ticket.
    3. When the Jira ticket is closed, the end user’s service request is also closed.

The following diagram illustrates this use case:

automatic issue creation.png

Before you begin

To create a workflow that uses the JIRA connector

  1. Log in to the Catalog console and open the workflow designer.
  2. Drag the Connector activity onto the canvas.
  3. In the Input Map section, complete the required fields:
    1. In the Connector field, select JIRA.
    2. Complete the Configuration and Profile fields. The values available for these fields are configured in BMC Helix Integration Service. 
    3. From the Action list, select Create Issue.
  4. Complete the required fields:
    1. Review the required fields:
      ReviewRequiredFields.png
    2. Create the necessary process input variables. For information about creating process variables, see Capturing-process-information-and-passing-it-into-a-workflow.
    3. Complete the required fields with the process variables that you have created. 
  5. (Optional) To pass other process information to a connected JIRA system: 
    1. Click Add/Remove Parameters
    2. Select the parameters of the connected JIRA system to which you want to pass values.
      For example, select Reporter and Issue Summary.
    3. Create the necessary process input variables. For information about creating process variables, see Capturing-process-information-and-passing-it-into-a-workflow.
    4. Complete the required fields with the process variables that you have created. 
  6. Complete building the workflow as required. 
    For example, if you want to send the in-app notification when the JIRA ticket is opened, drag Send In App Notification onto the canvas, and complete the details as required. For more information about the Send In App Notification workflow element, see  Designing-a-workflow-to-send-notification.
  7. Save the workflow.

The following screenshot shows the described workflow created in BMC Helix Digital Workplace Catalog:

WorkflowExample.png

Click here to view the JSON of the example workflow...

{

"version": null,
  "lastUpdateTime": "2018-02-21T18:43:09.689+0000",
  "lastChangedBy": "hannah_admin",
  "owner": "hannah_admin",
  "name": "myit-sb:Create JIRA issue via IS",
  "tags": null,
  "description": "",
  "overlayGroupId": "TNGADG1AAP0ICAOYEEMROXHSO2X4VB",
  "developerId": null,
  "scope": "BUNDLE",
  "guid": "rx-0ecbc55d-1a66-4fb7-bc9d-d11e32ce49f6",
  "flowElements": [
    {
      "resourceType": "com.bmc.arsys.rx.services.process.domain.StartEventDefinition",
      "version": null,
      "lastUpdateTime": "2018-02-21T18:43:09.689+0000",
      "lastChangedBy": "hannah_admin",
      "owner": "hannah_admin",
      "name": "Start",
      "tags": null,
      "description": "",
      "overlayGroupId": null,
      "developerId": null,
      "guid": "rx-91a3ac6d-04df-4e29-a2bc-108caebde2c0",
      "label": ""
    },
    {
      "resourceType": "com.bmc.arsys.rx.services.process.domain.ServiceTaskDefinition",
      "version": null,
      "lastUpdateTime": "2018-02-21T18:43:09.689+0000",
      "lastChangedBy": "hannah_admin",
      "owner": "hannah_admin",
      "name": "Create JIRA issue",
      "tags": null,
      "description": "",
      "overlayGroupId": null,
      "developerId": null,
      "guid": "rx-9485bb76-ffab-4c76-b9dc-a609ec5fc47f",
      "multiInstanceLoopDefinition": null,
      "actionTypeName": "connector",
      "inputMap": [
        {
          "assignTarget": "connectorName",
          "expression": "\"jira\""
        },
        {
          "assignTarget": "configId",
          "expression": "\"e55dbf1a-ba41-4c36-972a-7969d3adb263\""
        },
        {
          "assignTarget": "profileId",
          "expression": "\"32185de2-e89c-4780-9563-15fb46776b1f\""
        },
        {
          "assignTarget": "actionName",
          "expression": "\"CreateIssue\""
        },
        {
          "assignTarget": "fields.summary",
          "expression": "${processContext.IssueSummary}"
        },
        {
          "assignTarget": "fields.issuetype.name",
          "expression": "\"Bug\""
        },
        {
          "assignTarget": "fields.project.name",
          "expression": "\"Basic Project\""
        },
        {
          "assignTarget": "fields.reporter.name",
          "expression": "${processContext.processContext.requestedBy.fullName}"
        }
      ],
      "outputMap": [],
      "runAsUser": null,
      "label": "Create JIRA issue"
    },
    {
      "resourceType": "com.bmc.arsys.rx.services.process.domain.ServiceTaskDefinition",
      "version": null,
      "lastUpdateTime": "2018-02-21T18:43:09.689+0000",
      "lastChangedBy": "hannah_admin",
      "owner": "hannah_admin",
      "name": "Send In App Notification",
      "tags": null,
      "description": "",
      "overlayGroupId": null,
      "developerId": null,
      "guid": "rx-10bd561b-bc76-4970-bd9b-22483057c39f",
      "multiInstanceLoopDefinition": null,
      "actionTypeName": "myit-sb:sendInAppNotification",
      "inputMap": [
        {
          "assignTarget": "receiver",
          "expression": "\"hannah_admin\""
        },
        {
          "assignTarget": "title",
          "expression": "\"Notification from connected JIRA\""
        },
        {
          "assignTarget": "content",
          "expression": "\"JIRA tiicket was created.\""
        }
      ],
      "outputMap": [],
      "runAsUser": null,
      "label": "Send In App Notification"
    },
    {
      "resourceType": "com.bmc.arsys.rx.services.process.domain.EndEventDefinition",
      "version": null,
      "lastUpdateTime": "2018-02-21T18:43:09.689+0000",
      "lastChangedBy": "hannah_admin",
      "owner": "hannah_admin",
      "name": "End",
      "tags": null,
      "description": "",
      "overlayGroupId": null,
      "developerId": null,
      "guid": "rx-61214fcc-00a8-4718-a475-88458fb09c8a",
      "event": null,
      "label": ""
    },
    {
      "resourceType": "com.bmc.arsys.rx.services.process.domain.SequenceFlowDefinition",
      "version": null,
      "lastUpdateTime": "2018-02-21T18:43:09.689+0000",
      "lastChangedBy": "hannah_admin",
      "owner": "hannah_admin",
      "name": "Sequence Flow",
      "tags": null,
      "description": "",
      "overlayGroupId": null,
      "developerId": null,
      "guid": "rx-48467315-bb23-4ad1-ab47-2398535616dd",
      "sourceNode": "rx-10bd561b-bc76-4970-bd9b-22483057c39f",
      "targetNode": "rx-61214fcc-00a8-4718-a475-88458fb09c8a",
      "condition": ""
    },
    {
      "resourceType": "com.bmc.arsys.rx.services.process.domain.SequenceFlowDefinition",
      "version": null,
      "lastUpdateTime": "2018-02-21T18:43:09.689+0000",
      "lastChangedBy": "hannah_admin",
      "owner": "hannah_admin",
      "name": "Sequence Flow",
      "tags": null,
      "description": "",
      "overlayGroupId": null,
      "developerId": null,
      "guid": "rx-930265af-78e5-448c-b229-2e502014ef57",
      "sourceNode": "rx-9485bb76-ffab-4c76-b9dc-a609ec5fc47f",
      "targetNode": "rx-10bd561b-bc76-4970-bd9b-22483057c39f",
      "condition": ""
    },
    {
      "resourceType": "com.bmc.arsys.rx.services.process.domain.SequenceFlowDefinition",
      "version": null,
      "lastUpdateTime": "2018-02-21T18:43:09.689+0000",
      "lastChangedBy": "hannah_admin",
      "owner": "hannah_admin",
      "name": "Sequence Flow",
      "tags": null,
      "description": "",
      "overlayGroupId": null,
      "developerId": null,
      "guid": "rx-a0d8ac92-0482-4bea-8d46-8ff888e66bcc",
      "sourceNode": "rx-91a3ac6d-04df-4e29-a2bc-108caebde2c0",
      "targetNode": "rx-9485bb76-ffab-4c76-b9dc-a609ec5fc47f",
      "condition": ""
    }
  ],
  "inputParams": [
    {
      "resourceType": "com.bmc.arsys.rx.standardlib.record.CharacterFieldDefinition",
      "version": null,
      "lastUpdateTime": "2018-02-21T18:43:09.689+0000",
      "lastChangedBy": "hannah_admin",
      "owner": "hannah_admin",
      "name": "IssueDescription",
      "tags": null,
      "description": "",
      "overlayGroupId": null,
      "developerId": null,
      "id": 536870912,
      "fieldOption": "OPTIONAL",
      "permissions": null,
      "fieldTypeName": "com.bmc.arsys.rx.services.record.domain.DefaultFieldType",
      "isInherited": false,
      "explicitPermissions": null,
      "overlayDescriptor": null,
      "fieldMapping": null,
      "allowPermissionsOverlay": true,
      "allowOtherPropertiesOverlay": true,
      "auditOption": null,
      "maxLength": 0,
      "defaultValue": null,
      "searchDefinition": null,
      "namedListDefinition": null,
      "shouldPersistEncrypted": false,
      "anyUserAllowedToSubmit": false
    },
    {
      "resourceType": "com.bmc.arsys.rx.standardlib.record.CharacterFieldDefinition",
      "version": null,
      "lastUpdateTime": "2018-02-21T18:43:09.689+0000",
      "lastChangedBy": "hannah_admin",
      "owner": "hannah_admin",
      "name": "IssueSummary",
      "tags": null,
      "description": "",
      "overlayGroupId": null,
      "developerId": null,
      "id": 536870913,
      "fieldOption": "OPTIONAL",
      "permissions": null,
      "fieldTypeName": "com.bmc.arsys.rx.services.record.domain.DefaultFieldType",
      "isInherited": false,
      "explicitPermissions": null,
      "overlayDescriptor": null,
      "fieldMapping": null,
      "allowPermissionsOverlay": true,
      "allowOtherPropertiesOverlay": true,
      "auditOption": null,
      "maxLength": 0,
      "defaultValue": null,
      "searchDefinition": null,
      "namedListDefinition": null,
      "shouldPersistEncrypted": false,
      "anyUserAllowedToSubmit": false
    },
    {
      "resourceType": "com.bmc.myservice.servicerequest.process.ServiceBrokerContextFieldDefinition",
      "version": null,
      "lastUpdateTime": "2018-02-21T18:43:09.689+0000",
      "lastChangedBy": "hannah_admin",
      "owner": "hannah_admin",
      "name": "processContext",
      "tags": null,
      "description": "",
      "overlayGroupId": null,
      "developerId": null,
      "scope": null,
      "id": 536870914,
      "fieldOption": "OPTIONAL",
      "permissions": null,
      "fieldTypeName": "com.bmc.myservice.servicerequest.process.ServiceBrokerContextFieldType",
      "isInherited": false,
      "explicitPermissions": null,
      "overlayDescriptor": null,
      "fieldMapping": null,
      "allowPermissionsOverlay": true,
      "allowOtherPropertiesOverlay": true,
      "auditOption": null,
      "anyUserAllowedToSubmit": false
    }
  ],
  "outputParams": [],
  "localVariables": [],
  "contextKeyParam": null,
  "isEnabled": true,
  "permissions": [
    {
      "ownerId": {
        "value": 1000011,
        "type": "GROUP",
        "name": "sbe-public-computed"
      },
      "type": "EXECUTE"
    }
  ],
  "layout": "{\"cells\":[{\"type\":\"rx.EndEvent\",\"size\":{\"width\":30,\"height\":30},\"eventType\":\"end\",\"position\":{\"x\":900,\"y\":375},\"angle\":0,\"id\":\"61214fcc-00a8-4718-a475-88458fb09c8a\",\"z\":2,\"attrs\":{\".label\":{\"text\":\"\"},\".outer\":{\"stroke-width\":5},\".inner\":{\"visibility\":\"hidden\"}}},{\"type\":\"rx.StartEvent\",\"size\":{\"width\":30,\"height\":30},\"eventType\":\"start\",\"position\":{\"x\":55,\"y\":375},\"angle\":0,\"id\":\"91a3ac6d-04df-4e29-a2bc-108caebde2c0\",\"z\":5,\"attrs\":{\".label\":{\"text\":\"\"},\".inner\":{\"visibility\":\"hidden\"}}},{\"type\":\"rx.ProcessAction\",\"size\":{\"width\":90,\"height\":60},\"icon\":\"gear\",\"activityType\":\"task\",\"subProcess\":null,\"content\":\"Send In App Notification\",\"position\":{\"x\":485,\"y\":360},\"angle\":0,\"id\":\"10bd561b-bc76-4970-bd9b-22483057c39f\",\"z\":30,\"attrs\":{\".icon\":{\"ref\":\".outer\",\"ref-dy\":\"\",\"xlink:href\":\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAMCAYAAABWdVznAAAACXBIWXMAAAsSAAALEgHS3X78AAAAw0lEQVQoz22SwRGCQAxF3zIUQAnSAXSAHUgHcslZK3CswPu/YAeUQAlQgp3oJThhNTM7s8lPfv783UQWZtYAC4CklOMpNE3AAHTAzfErsAIj0EtaSwcm4ADMGeEj3CegLjwZssaXnxgDwDbQREBSLanOiBqAZGbvUFwltZkJSyQssrUrv7GTVrh1V89P7li0uNsck5TKjLkCZjN7en722rdnGxjD1gq4/JE2Rlt719oGeQB34OhY/33pP99jc66VtDPiA3vHNpWAb5BUAAAAAElFTkSuQmCC\"},\".inner\":{\"visibility\":\"hidden\"},\"text\":{\"ref-y\":0.5},\".content\":{\"html\":\"Send In App Notification\",\"title\":\"\"},\".fobj\":{\"width\":90,\"height\":60},\"div\":{\"style\":{\"width\":90,\"height\":60}},\".fobj div\":{\"style\":{\"verticalAlign\":\"middle\",\"paddingTop\":0}},\".outer\":{\"stroke-width\":2,\"stroke-dasharray\":\"none\"},\".sub-process\":{\"d\":\"M 0 0 L 30 0 30 30 0 30 z M 15 4 L 15 26 M 4 15 L 26 15\",\"stroke\":\"#000000\",\"fill\":\"transparent\",\"transform\":\"scale(0.3, 0.3) translate(0, 6)\",\"display\":\"none\",\"visibility\":\"hidden\",\"data-sub-process\":\"\"},\".icon-multi-instance-sequential\":{\"width\":10,\"height\":10,\"y\":1,\"xlink:href\":\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAACtJREFUeNpilJOTYaAEsADxf0oMYGKgEFBsAMgLjEPfC6OxMBoLFBsAEGAAje8DgZ8/t18AAAAASUVORK5CYII=\",\"display\":\"none\"},\".icon-multi-instance-parallel\":{\"width\":10,\"height\":10,\"y\":1,\"xlink:href\":\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAACxJREFUeNpilJOT+c+AAIwPHz5mkJeXBbGJEmdioBCMGjBqwKgBg8UAgAADADERCXj6SL6VAAAAAElFTkSuQmCC\",\"display\":\"none\"},\".rx-icon-container\":{\"ref\":\".body\",\"x-alignment\":\"middle\",\"ref-x\":0.5,\"ref-dy\":-15}}},{\"type\":\"rx.SequenceFlow\",\"router\":{\"name\":\"manhattan\"},\"labels\":[{\"attrs\":{\"text\":{\"text\":\"\"}},\"position\":\"0.5\"}],\"flowType\":\"normal\",\"id\":\"48467315-bb23-4ad1-ab47-2398535616dd\",\"source\":{\"id\":\"10bd561b-bc76-4970-bd9b-22483057c39f\"},\"target\":{\"id\":\"61214fcc-00a8-4718-a475-88458fb09c8a\"},\"z\":31,\"attrs\":{}},{\"type\":\"rx.Connector\",\"size\":{\"width\":90,\"height\":60},\"icon\":\"connector\",\"content\":\"Create JIRA issue\",\"activityType\":\"task\",\"subProcess\":null,\"position\":{\"x\":215,\"y\":360},\"angle\":0,\"id\":\"9485bb76-ffab-4c76-b9dc-a609ec5fc47f\",\"z\":40,\"attrs\":{\".icon\":{\"ref\":\".outer\",\"ref-dy\":\"\",\"xlink:href\":\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAMCAYAAABWdVznAAAAtklEQVQokYWRUQ2DQBBEHw0GsEAlYIFKoBJuJGChFgYJxQIWsICEVkL7AZce7ZFecj+bN5OZ3SKE8ACe/H81sJTA0/Y5R0jqNzB+yiM7SXegS0YD0J4O4AZov8YVQFZgewaufLqNwPQjkNRI6iW1tqdNNNq+RqZM4PsWYwRmScH2EJ13Akm3pGAH1LYvubgxUvVVrsqwO0G6kRHIugMUIYQX6zYG1uNMB2wNdCWwJNkBmiN3YHkDS8QzErkLgz8AAAAASUVORK5CYII=\"},\".inner\":{\"visibility\":\"hidden\"},\"text\":{\"ref-y\":0.5},\".content\":{\"html\":\"Create JIRA issue\",\"title\":\"\"},\".fobj\":{\"width\":90,\"height\":60},\"div\":{\"style\":{\"width\":90,\"height\":60}},\".fobj div\":{\"style\":{\"verticalAlign\":\"middle\",\"paddingTop\":0}},\".outer\":{\"stroke-width\":2,\"stroke-dasharray\":\"none\"},\".sub-process\":{\"d\":\"M 0 0 L 30 0 30 30 0 30 z M 15 4 L 15 26 M 4 15 L 26 15\",\"stroke\":\"#000000\",\"fill\":\"transparent\",\"transform\":\"scale(0.3, 0.3) translate(0, 6)\",\"display\":\"none\"},\".icon-multi-instance-sequential\":{\"width\":10,\"height\":10,\"y\":1,\"xlink:href\":\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAACtJREFUeNpilJOTYaAEsADxf0oMYGKgEFBsAMgLjEPfC6OxMBoLFBsAEGAAje8DgZ8/t18AAAAASUVORK5CYII=\",\"display\":\"none\"},\".icon-multi-instance-parallel\":{\"width\":10,\"height\":10,\"y\":1,\"xlink:href\":\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAACxJREFUeNpilJOT+c+AAIwPHz5mkJeXBbGJEmdioBCMGjBqwKgBg8UAgAADADERCXj6SL6VAAAAAElFTkSuQmCC\",\"display\":\"none\"},\".rx-icon-container\":{\"ref\":\".body\",\"x-alignment\":\"middle\",\"ref-x\":0.5,\"ref-dy\":-15}}},{\"type\":\"rx.SequenceFlow\",\"router\":{\"name\":\"manhattan\"},\"labels\":[{\"attrs\":{\"text\":{\"text\":\"\"}},\"position\":\"0.5\"}],\"flowType\":\"normal\",\"id\":\"a0d8ac92-0482-4bea-8d46-8ff888e66bcc\",\"source\":{\"id\":\"91a3ac6d-04df-4e29-a2bc-108caebde2c0\"},\"target\":{\"id\":\"9485bb76-ffab-4c76-b9dc-a609ec5fc47f\"},\"z\":41,\"attrs\":{}},{\"type\":\"rx.SequenceFlow\",\"router\":{\"name\":\"manhattan\"},\"labels\":[{\"attrs\":{\"text\":{\"text\":\"\"}},\"position\":\"0.5\"}],\"flowType\":\"normal\",\"id\":\"930265af-78e5-448c-b229-2e502014ef57\",\"source\":{\"id\":\"9485bb76-ffab-4c76-b9dc-a609ec5fc47f\"},\"target\":{\"id\":\"10bd561b-bc76-4970-bd9b-22483057c39f\"},\"z\":41,\"attrs\":{}}]}",
  "artifacts": [],
  "runAsUser": false,
  "synchronous": true,
  "overlayDescriptor": null,
  "allowOverlay": false,
  "localizableStrings": {}
}

Where to go from here

When you have created a workflow, create the questionnaire with the required process questions. For details, see Creating-service-questionnaires.

The following screenshot shows a questionnaire attached to the workflow described in this topic:

QuestionnaireExample.png

When you have created the process questionnaire, attach it to the service described in this topic, and publish the service. For details about publishing the service, see Approving-and-publishing-services.