Allow all the traffic to the following hosts. These are required for the operation of this integration:
Before you deploy and implement the Lumu Integration, you need to prepare your Jira SM deployment to ensure the integration works as expected.
To identify your instance, go to your Web browser and open your Jira console. Check the URL and extract your instance name. Your Jira URL must look like <INSTANCE>.atlassian.net. That is your instance name.
1. To create an API Account token, you need to go to the Manage account option. Under your Jira console, click on your user picture in the right top corner of your screen, then click on the Manage account menu. Under the Atlassian account screen, click on the Security tab.
2. Under the API Token subsection, click on the Create and manage API Tokens link. Click on the Create API token button. Fill in the requested information and save your new token.
Keep at hand the user email, the API Token, and the instance name for the configuration file.
The tickets created by the integration will be associated with a project managed in your Jira SM portal. You can select an existing project or create a new one.
If you need to create a new one, under your Jira SM console, click on the Project tab, then on the Create Project button. Configure your new project based on the offered template.
You need to associate a type for the request created by the integration. Select the request type you want to use from the list under your Project Settings from the left panel and click on Request types.
Jira SM requests operate with workflows. Each Jira workflow is composed of a set of statuses (the state your work can be in) and transitions (how your work moves between statuses). You need to make sure the workflow allows you to change states based on the required transitions.
You can check this by clicking on the three-dots icon on the left side of the request type. In the drop-down list, click on the View workflow option.
From this workflow, identify and classify its transitions into three categories:
Here, you see two workflow examples. The first workflow looks as follows
The statuses for this workflow are TO DO, IN PROGRESS, PENDING, and DONE.
The transitions are: Approved, Start, Reopened, In review, and Resolved.
Let’s map each transition in each category:
Now, you need to identify which status you will use for each Lumu status:
Now, let’s analyze the second example:
The statuses for this workflow are WAITING FOR SUPPORT, WAITING FOR CUSTOMER, ESCALATED, IN PROGRESS, PENDING, CANCELED, RESOLVED, and CLOSED.
The transitions are: In progress, Pending, Respond to customer, Resolve this issue, and Cancel request.
Let’s map each transition in each category:
Now, you need to identify which status you will use for each Lumu status:
The integration requires this complementary information:
The label is a tag that allows you to easily identify a request within a project. For example, you can use “LumuSecOps” as a label.
An Organization is an entity that can be used for MSPs to identify groups of customers within a project, e.g. “CompanyEast”
If you need to assign or create Lumu tickets to or on behalf of a particular user, you can define the Assignee and the Reporter. You can use its Display name or email.
The allowed values are Highest, High, Medium, Low, Lowest
The integration set-up process needs you to collect this information from Lumu portal:
Log in to your Lumu portal and run the following procedures to collect these data.
To collect the Lumu Defender API key, refer to the Defender API document.
To collect your Lumu company UUID, log in to your Lumu portal. Once you are in the main window, copy the string below your company name.
There are 2 environment options to deploy the script, select the one that best fits your current infrastructure.
Whichever alternative you select, you need to first unpack the integration package shared by our Support team.
Unpack the deployment package provided by Lumu in your preferred path/folder. Keep in mind this location, as it will be required for further configurations. From now on, we will refer to this folder as <app_lumu_root>.
To set up the integration, you need to add and edit a configuration file. This file contains all the parameters needed to run properly. The configuration file looks as follows:
- -
lumu:uuid: "<COMPANY-UUID>"defender_key: "<DEFENDER-KEY>"include_muted_updates: false # Boolean: true | falseapp:Priority: "Low" # Highest, High, Medium, Low, LowestLabel: "LumuSecOps"ProjectName: "<PROJECT-NAME>"RequestType: "<REQUEST-TYPE-NAME>"Organization: "<PROJECT-ORGANIZATION>" # DisplayName | nullAssignee: "<ASSIGNEE>" # DisplayName | email Address | null (without quotation)Reporter: "<REPORTER>" # DisplayName | email Address | null (without quotation)days: 60 # Filters issues by created field during since x days IN JIRAMap:TransitionInProgress: [ "Approved", "Start", "Reopened", "Back to in progress", "In progress" ]TransitionPending: [ "In review", "Pending" ]TransitionDone: [ "Resolved", "Resolve this issue", "Close" ]Status: [ "To Do", "In Progress", "Pending", "Done", "Resolved", "Closed" ]StatusAction:{ "In Progress": "unmute", "Pending": "mute", "Done": "close", "Resolved": "close", "Closed": "close" }api:username: "<EMAIL|USERNAME>"password: "<TOKEN>"hostname: "<INSTANCE.atlassian.net>"-COMPANY 2-COMPANY 3-...
Replace the values according to your environment based on the collected data from previous steps, using these indications:
For instance, the above Map Sections on YAML config template were filled out based on the following workflows:
To deploy the integration as a script, you need to run the install.sh script inside the integration package.
To run the installation script, go to the app_lumu_root folder, then execute this line through CLI.
The installation script will set up the Python environment and an auxiliary cron job.
To use the script, you must locate yourself on the path selected for deployment (<app_root_path>). Use the following command to show the help command line.
Usage: jira_lumu.py [options]
Options | Description |
-h, --help | show this help message and exit |
--config CONFIG | default: companies.yml, CONFIG FILE PATH of the companies, follow the nex YML template. |
-v, --verbose | the flag means DEBUG mode, by default is INFO mode |
-l {screen,file}, --logging {screen,file} | logs output on command line or file |
--hours HOURS | To keep db log record from [x hours], for auto maintenance purpose |
Use the following command to listen to Lumu operational events and manage service tickets in your Jira Service Management instance:
The application will run reading the CONFIG file and keep the preceding HOURS tickets/incidents, by default 720 (30 days)
Use the option --logging=file to store a record of all tasks run by the script. Using this, all the script output will be redirected to a file named lumu.log in the folder where you have deployed the script.
The above samples can be combined according to your needs.
To identify failures on the script execution, use the -v flag to activate DEBUG logs.
The application runs one instance at a time. The script will block multiple attempts to run the same integration if one is already running. If this is the case, the following message appears.
The integration can be deployed in a docker environment. To do so, run the following commands located in the integration folder:
1. Build the Docker image
2. Create and run the Docker container
For troubleshooting purposes, you can run the following commands:
To log in to your container using an interactive shell:
To collect integration logs:
After running the script, the list of the incidents mapping to requests (Jira issue) are in the Queue -> All Open window in the Service Management Project section.
Any updates and status changes will be reflected in the Details and the Comment section of the Request