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:
- Enable Outbound Networking on Jira Server
- If this is not enabled already, follow the instructions in to configure Jira so it can communicate externally through an outbound proxy: Configure an outbound proxy for use in Jira server.
- Complete the Moveworks Agent installation
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.
-
Modify the agent configuration file -
agent_config.yml
. Add a section to your configuration file within the/conf
directory:moveworks_proxy_configs: JIRA: port: 1045 # customer is free to select any open port target_url: [moveworks_data_center] # this is specific to Prod US
The contents of your
agent_config.yml
file should look similar to the following, assuming the Moveworks Agent is only configured to connect with Jira. For more sample Moveworks Agent configurations, please reference our documentation.bond_version: 2.10.3 # This will be set automatically by the configuration tool moveworks_config: access_key: [org_name] auth_url: [moveworks_agent_data_center]/api/v1/auth config_url: [moveworks_agent_data_center]/api/v1/config moveworks_access_secret: encrypted_value:[REDACTED] rest_configs: JIRA: enabled: true header_decorators: - basic_auth: password: encrypted_value: [REDACTED] username: [jira_username] service: JIRA moveworks_proxy_configs: JIRA: port: 1045 # customer is free to select any open port target_url: [moveworks_data_center]
Depending on the region in which your organization is hosted within the Moveworks environment, please use the following:
region moveworks_agent_data_center moveworks_data_center US Commercial https://agent.moveworks.com https://app.moveworks.io US GovCloud https://agent.moveworksgov.com https://app.moveworksgov.ai Canada https://agent.am-eu-central.moveworks.com https://app.prod.am-cac1.moveworks.io EU https://agent.am-ca-central.moveworks.com https://app.prod.am-euc1.moveworks.io APAC https://agent.am-ap-southeast.moveworks.com https://app.prod.am-apse2.moveworks.io
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.
-
Navigate to
https://{{instance_name}}/plugins/servlet/webhooks
and clickCreate a WebHook
-
The following fields should be set to the specified value:
-
Name:
Moveworks Webhook Integration
-
Status:
Enabled
-
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
andintegration_id
will be provided by your Moveworks Team.
- The
-
Exclude body must be
unchecked
-
JQL:
project in (PROJECT_NAME)
- For example, if the Project Name is
HELP
, this should be:project in (HELP)
- For example, if the Project Name is
-
The following events under
Issue related events
should bechecked
-
If the UI does not have “Attachment” then it may be ignored
-
NOTE: If you are using Jira Data Center Version 7.9.2 or above, leave the
Comment created
checkbox unchecked.
-
-
All other event categories can be ignored
-
Updated 15 days ago