/
ZE - Webhook Deployment

ZE - Webhook Deployment

Starting October 11, 2024 (Zephyr Enterprise 8.2), the Zephyr Enterprise documentation moved from its current location on Atlassian to a dedicated, standalone Zephyr Enterprise documentation page. Please see: https://support.smartbear.com/zephyr-enterprise/docs/en/zephyr-enterprise/zephyr-installation-and-upgrade-guides/zephyr-on-premise-production-installation/zephyr-enterprise-services/ze---webhook-deployment.html

Prerequisite

Webhook Service Deployment (Jar): -

  • Create a directory under folder opt “zephyrservice”

mkdir zephyrservice
  • Download the ze-jira-webhook.jar and copy it under zephyrservice

  • Create a ze-jira-webhook config file Named “zeJiraWebhook.properties" under folder zephyrservice

vi zeJiraWebhook.properties
  • Add the below line in the file zeJiraWebhook.properties.

#Webhook Service port server.port=8081 #context path property server.servlet.context-path=/webhook #Rabbitmq config zephyr.queue.name=ze_queue zephyr.queue.exchange=ze_exchange zephyr.queue.routing.key=ze_routing_key spring.rabbitmq.host=<hostname> spring.rabbitmq.port=<port> spring.rabbitmq.username=<username> spring.rabbitmq.password=<password> #ze_jira_webhook flags event.validator.json.file=classpath:webhook-events-validation.json ze.jira.webhook.event.validation_flag = false #ssl properties #uncomment the below line and add the SSL #server.ssl.enabled=true #server.ssl.key-store-type=PKCS12 #server.ssl.key-alias=<aliasname> #server.ssl.key-store=file:<path of the certificate> #server.ssl.key-store-password=<password>
  • An example of zeJiraWebhook.properties should look like the below: -

#Webhook Service port server.port=8081 #context path property server.servlet.context-path=/webhook #Rabbitmq config zephyr.queue.name=ze_queue zephyr.queue.exchange=ze_exchange zephyr.queue.routing.key=ze_routing_key spring.rabbitmq.host=localhost spring.rabbitmq.port=5672 spring.rabbitmq.username=guest spring.rabbitmq.password=guest # ze_jira_webhook flags event.validator.json.file=classpath:webhook-events-validation.json ze.jira.webhook.event.validation_flag = false #ssl properties server.ssl.enabled=true server.ssl.key-store-type=PKCS12 server.ssl.key-alias=mycert server.ssl.key-store=file:/home/ubuntu/keystore.p12 server.ssl.key-store-password=changeit
  • Make sure port 8081 is available.

  • zeJiraWebhook should be able to connect with RabbitMQ.

  • Open the “Terminal” or “Command Prompt”

  • Navigate to folder /opt/zephyrservice

  • Type the below command:

Start the ze-jira-webhook with the following command.

sudo nohup java -jar -DzeWebhookConfigPath="<config file path till root folder>" ze-jira-webhook_<version>.jar &

Example command:

sudo nohup java -jar -DzeWebhookConfigPath="//opt/zephyrservice" ze-jira-webhook.jar &

Log

  • The Logs folder will be created where your jars are deployed. Separate log files will be created for each jar. In the above example, it will be in /opt/zephyrservice.

Verification

Verify webhook application status by using http://<hostname>:8080/webhook/actuator/health

Webhook started snapshot for reference: -

1ed0b601-7787-4195-a88a-646535cddfea.png

Verification in the browser:

image-20240318-092543.png

Webhook Service Deployment (Docker): -

  • Install Docker in the System

  • Create a directory under folder opt “zephyrservice”

mkdir zephyrservice
#dockercompose version: '3.5' services: #webhookservice ze-jira-webhook: image: smartbear/zejirawebhook:ze-jira-webhook container_name: ze-jira-webhook ports: - "8081:8081" - "8000:8000" environment: - server_port=8081 volumes: - ./zeJiraWebhook.properties:/usr/src/app/zeJiraWebhook.properties networks: - webhook_service networks: webhook_service: name: zephyr external: true
  • Create a ze-jira-webhook config file Named “zeJiraWebhook.properties" under folder zephyrservice

vi zeJiraWebhook.properties
  • Add the below line in the file zeJiraWebhook.properties.

#Webhook Service port server.port=8081 #context path property server.servlet.context-path=/webhook #Rabbitmq config zephyr.queue.name=ze_queue zephyr.queue.exchange=ze_exchange zephyr.queue.routing.key=ze_routing_key spring.rabbitmq.host=<hostname> spring.rabbitmq.port=<port> spring.rabbitmq.username=<username> spring.rabbitmq.password=<password> #ze_jira_webhook flags event.validator.json.file=classpath:webhook-events-validation.json ze.jira.webhook.event.validation_flag = false #ssl properties #uncomment the below line and add the SSL #server.ssl.enabled=true #server.ssl.key-store-type=PKCS12 #server.ssl.key-alias=<aliasname> #server.ssl.key-store=file:<path of the certificate> #server.ssl.key-store-password=<password>
  • An example of zeJiraWebhook.properties should look like the below: -

#Webhook Service port server.port=8081 #context path property server.servlet.context-path=/webhook #Rabbitmq config zephyr.queue.name=ze_queue zephyr.queue.exchange=ze_exchange zephyr.queue.routing.key=ze_routing_key spring.rabbitmq.host=localhost spring.rabbitmq.port=5672 spring.rabbitmq.username=guest spring.rabbitmq.password=guest # ze_jira_webhook flags event.validator.json.file=classpath:webhook-events-validation.json ze.jira.webhook.event.validation_flag = false #ssl properties server.ssl.enabled=true server.ssl.key-store-type=PKCS12 server.ssl.key-alias=mycert server.ssl.key-store=file:/home/ubuntu/keystore.p12 server.ssl.key-store-password=changeit
  • Make sure port 8081 is available.

  • zeJiraWebhook should be able to connect with RabbitMQ.

Start the ze-jira-webhook with docker with the following command:

  • Navigate to zephyrservice and run the below command.

docker-compose up -d

Verification

Webhook started snapshot for reference: -

webhook.PNG

Verification in the browser:

Verify webhook application status by using http://<hostname>:8081/webhook/actuator/health

image-20240318-092543 (1).png

 

Related content