Pipeline: REST Get for Customer Items

In this Page

Scenario

I want to query our issue/feature tracking system's REST API for which features or defects included in the release were submitted by which customers.

Requirements

To achieve this, we need two Pipelines:

  • All Accepted Items: One to query all accepted defects and features within the release submitted by a certain customer. An “accepted” item is one that has been verified by QA to be functioning in the release.
  • Customer List: One to gather the list of customers and call the first Pipeline to run against it.

Configuration

All Accepted Items Pipeline

Since the feature/defect tool in use tracks features and defects as separate objects and these items are further categorized as either for the platform or Snaps, we need a Pipeline that will query for: 

  • Platform features accepted in this release submitted by a customer.
  • Platform defects accepted in this release submitted by a customer.
  • Snap features accepted in this release submitted by a customer.
  • Snap defects accepted in this release submitted by a customer.

We'll want to query for that data, sort it by customer, and send it to our support team. The Pipeline looks like this.

Mapper Snaps are used to get the details needed about the items such as ID, summary, customer, and priority. The data is sorted by the item ID and a Union Snap is used to combine the data. Since users tend to want to know about the higher risk items first, the list is sorted again by Priority before sending it on to our support team. With the introduction of the Google Spreadsheet Snap Pack, we can create one spreadsheet in Google Drive, with each customer’s results written to a separate worksheet. Alternatively,

we could write the results per customer to files on SLDB, then send them in emails. Depending on the number of customers, you could end up with several email messages.

Customer List Pipeline

The way we track submitted items submitted by customers is through a custom multi-select field, allowing for multiple customers to request the same feature or submit the same defect. This second Pipeline:

  • queries our custom added lists for only the Customers list.
  • converts the Customer array to a string.
  • uses a Pipeline Execute Snap to call the All Accepted Items Pipeline for each customer name.
  • sends an email to our support team to let them know that the Pipeline has been kicked off and to look for the updated Google Spreadsheet in Google Drive.

Since the Email Sender Snap is configured with the Email type of HTML table and connected to the Pipeline, the body of the email contains the data configured within the Snap as well as the details passed through the Pipeline (Customer, Pipeline runtime ID, and the state of the Pipeline).