Channel Resolver Integration - Jira Server

Jira Server

Moveworks Channel Resolver can take issues posted in a help Slack channel (such as #help-it) and automatically convert them to real-time synced tickets, where updates happen bidirectionally between the ticket in Jira and the conversation in the Slack thread.

This guide walks through the setup required to enable ticket events, via Webhooks configured on your Jira Server instance.

Overview

A webhook is a user-defined callback over HTTP. You can use Jira webhooks to notify your app or web application when certain events occur in Jira. For example, you might want to alert your remote application when an issue is updated or when sprint is started. Using a webhook means that your remote application doesn't have to periodically poll Jira (via the REST APIs) to determine whether changes have occurred.

For on premise systems, it's good practice to ensure that webhook traffic remains within the Virtual Private Cloud (VPC) to enhance security and maintain control over the data flow. To achieve this, the Moveworks Agent allows the webhooks to be configured so that traffic routed through the agent is forwarded to the Moveworks platform. This agent acts as an intermediary, securely proxying the requests from the webhook to Moveworks' external endpoints outside the VPC.

To allow the Moveworks Agent to listen to the webhook traffic, host networking needs to be enabled on the Moveworks Agent. Enabling host networking on the Moveworks Agent allows the agent's container to share the host's networking namespace. This means that the container bypasses Docker/Podman's default network isolation mechanisms, directly interacting with the host's network just like any other non-containerized application running on the host. This setup is crucial for specific scenarios, such as when you require the agent to have full access to incoming webhook traffic.

Pre-Requisites

Provided by the Customer:

Provided by Moveworks:

  • Org Name: This is the same as your Customer ID which you should have used when setting up SSO.
  • Integration ID: This will be the unique name of the Jira connector in the Moveworks configurations.

Setup Steps

1. Validate the Moveworks Agent version

The Moveworks proxy is only available on versions 2.9.0 or later. If your Moveworks Agent is on an older version, you must first upgrade the agent.

  • Check your agent version. The version number will listed as bond_version
cat /home/moveworks/conf/agent_config.yml
  • Upgrade your agent
/setup_agent.sh —-upgrade

2. Configure the Moveworks Agent as a proxy

The Moveworks Agent will need to be configured to be used as a proxy to forward all traffic from your Jira webhook to the appropriate Moveworks endpoint (e.g. https://app.moveworks.io), enabling Moveworks services to process those events and act accordingly within the Slack channel and associated posts.

3. Enable the Moveworks Agent to listen to the Jira Webhooks

The Moveworks agent will need to be configured to run with host networking enabled.

  • Setup the Moveworks Agent with host networking
    sudo ./setup_agent.sh --docker --host-network
    
  • Restart the agent
    ./setup_agent.sh --start
    

4. Setup the webhooks for ticket events in the Jira Server instance

Ticket Syncing functionality within Channel Resolver relies on webhooks to notify Moveworks when certain events occur within Jira.

  1. Navigate to https://{{instance_name}}/plugins/servlet/webhooks and click Create a WebHook

  2. The following fields should be set to the specified value:

    1. Name: Moveworks Webhook Integration

    2. Status: Enabled

    3. URL: https://{agent_machine_url}/{org_name}/onprem/{integration_id}/events

      • The agent_machine_url needs to be the named server address or the IP address of the agent machine located on the network.
      • org_name and integration_id will be provided by your Moveworks Team.
    4. Exclude body must be unchecked

    5. JQL: project in (PROJECT_NAME)

      1. For example, if the Project Name is HELP, this should be: project in (HELP)
    6. The following events under Issue related events should be checked

      1. If the UI does not have “Attachment” then it may be ignored

      2. NOTE: If you are using Jira Data Center Version 7.9.2 or above, leave the Comment created checkbox unchecked.

    7. All other event categories can be ignored