Update Centercode Feedback via External Tracking Systems

Receive updates from Jira, Agile Central, TFS, Salesforce, and more using an External Listener!

Written by Jim Le Updated over a week ago

Note that while Centercode’s integration features are intended to be approachable by a Customer Validation Professional, you might need to enlist help from an internal technical resource and refer to our vocabulary and troubleshooting documentation.

Through Enhanced Integrations, Centercode offers integration functionality to allow your issue tracking system to update Centercode feedback through API integration. A common use-case for this type of integration would be to “close the loop” on feedback you’ve sent to your tracking tool (ex: Jira). With the appropriate integration, your engineers can close issues once resolved, triggering automation to close the corresponding ticket within Centercode.

The principles included in this guide apply to any API-capable endpoint that can externally trigger a feedback macro within Centercode. In this example, we’ll be triggering a Status change within Centercode by changing the status of the corresponding ticket in Jira.

In this guide, you will:

Create (or identify) an API Key in Centercode

Create a Feedback Macro in Centercode

Create a Feedback External Listener in Centercode

Create a Jira Webhook to trigger your new Feedback External Listener in Jira

In order to configure both sides of this integration, you will need:

Access to an existing API Key or Community Manager access to create a new one

A Jira Administrator account or assistance from your Jira Administrator

Preparing Centercode to Listen for Your External System

1. Creating an API Key

From the Centercode side, the first step in any API integration is to ensure that you have an API Key available within your Centercode Community. API Keys are used to track and control how API endpoints are accessed and can be leveraged by multiple simultaneous API integrations. If one is already created and available for use, you may continue past this step.

If necessary, create a Community API Key by following steps outlined here.-

2. Creating a Feedback Macro

Macros allow you to create a single instruction that includes a set of actions to complete a desired task. Feedback Macros perform these actions on Feedback Tickets (like bugs or suggestions) using information relative to that ticket. In this example, we’re creating a Feedback Macro to change the Status of a feedback ticket to Closed.

From the Project Home Page:

Click the desired Feedback Type (left-hand menu)

If necessary, click the Switch to Advanced View button (top right corner)

Click the Feedback Resources button

Click the Create a Macro button

Select the Adjust Workflow checkbox

Choose the appropriate responsible Team (typically Beta Support or Project Managers)

Select the appropriate Workflow (typically Default)

Select the appropriate Status (typically Closed)

Click the Submit button

You’ve just created your Feedback Macro. Your next step is to create the External Listener that will listen for Jira to tell Centercode to trigger this macro.-

3. Creating an External Listener

Now that you’ve created the Macro telling Centercode what to do, you’ll need to set up how to trigger it. An External Listener is effectively a URL created by Centercode that your third party system reaches out to. This provides a path for that system to interact with your Centercode site for a predetermined purpose - in this case, to trigger a pre-created macro and close a specific feedback ticket.

After creating the Macro above (from Feedback Resources):

Click Feedback Automation

Click Create an External Listener

Create an (internally-facing) name

Add a simple key to help identify this External Listener (ex: “jiraclosed”)

Add a Filter, if desired

Under Listener Type dropdown, select Macro Execution

Select a Feedback Macro

Copy / Save the provided API Endpoint URL (needed in Section 4 below)

Click Submit

You’ve just created your External Listener!-

Configuring Your External System to Talk to Centercode

4. Configure a Webhook in your External System (Jira):

You’ll now need to add a Webhook in your external system to contact the Centercode platform via the External Listener. In order to that, you’ll need to verify Webhooks are enabled within that system. This example follows the process for enabling Webhooks in Atlassian Jira (Atlassian Support Documentation). Please note: enabling Webhooks requires global administrator access in Jira.

Replace the placeholder of VALUE with the the stored Centercode ID or Jira ID - ${issue.key} - via the available dynamic identifiers

If the Centercode ticket has been sent to Jira through our first-class Jira integration, use ${issue.key}to target the ticket that’s being updated. If the ticket was not sent through our first-class Jira integration, VALUE must reference the Centercode ID.

listener_key - the value that targets your External Listener in order to trigger the desired action within Centercode (“jiraclosed” in Section 3)

find= - targets the feedback ticket within Centercode. This corresponds to either the Centercode Feedback ID (e.g. BUG-0001) or the Jira ID of a Centercode ticket that was sent to Jira through our first-class Jira Integration feature. Your endpoint system will need to dynamically insert the appropriate ID.

prefix-community_API_key - refers to the Community API Key from Section 1 above

Filters in the ExternalListener automation are used to limit the list of macro targets. In other words, the Listener will only trigger if the user or feedback is within the filter results. For example, rather than trigger the Listener for any Centercode feedback ticket (No Filter), you can designate only iOS issues or issues in the Logged to Jira status to be targeted.

This example uses an Event Listener to trigger a specific Feedback Macro - a macro could be used for much more than just a changing Status (ex: scoring, static comments, email notifications, and more)