LRM Process Commands Reference

From Lingoport Wiki
Revision as of 18:24, 29 April 2022 by Llawson (talk | contribs) (Custom Emails)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

Introduction

LRM Process interacts with the LRM engine (lrm-cli.jar) and L10n Vendors. It is also responsible for sending out notification emails. The LRM Process commands are called in the Lingoport Jenkins Jobs.

Each command has an abbreviation. The long version of each command starts with two dashes, --. The short version of each command starts with one dash, -.

Reference

This reference gives the short and the long version of each Resource Manager command and a usage example.


 -cs,--check-send                                     Command to send any pending prep kits to the active L10n vendor.

 -d,--debug                                           Log4j Debug mode

 -f,--file <path>                                     Location of file (-f C:/MyLocation) or file name with path (-f
                                                      C:/myfolder/myfile.xml)
 -gn,--group-name <group>                             Specifies the group name.

 -gr,--global-replace                                 Replace text in files that correspond to projects associated with supplied
                                                      application file or name. The text to replace was determined by LocalyzerQA.
                                                      Example 1: -gr -f <application config file>
                                                      Example 2: -gr -ap 'RebelOutfitters'
 -h,--help                                            Displays help

 -ik,--import-kit                                     Import the translated kit.
                                                      Example: `lrmprocess-cli.jar -ik `
 -im,--is-mt                                          Exit code is 0 if the supplied project`s L10n Vendor is a machine translated
                                                      vendor otherwise the exit code is 1.
                                                      Example: `lrmprocess-cli.jar --is-mt -pn <projectname> -gn <groupname> `
 -ju,--jenkins-user <jenkinsuser>                     Specifies the Jenkin's User that started the job. Default is `Jenkins`.

 -kv,--kit-version <version#>                         Specifies the kit version id when sending a prep kit

 -lc,--locale <locale(s)>                             List of locales for the prep kit --override option.

 -lk,--late-kits                                      Email type option to indicate that an email should be sent listing all late
                                                      prep kits.
 -nc,--notify-changes                                 Email type option to notify project managers of resource file changes.

 -or,--override                                       Create a prep kit regardless of whether there are changes to the base files.

 -pk,--prep-kit                                       Prep a kit.
                                                      Example: `lrmprocess-cli.jar -pk -pn <projectname> -gn <groupname>`
 -plr,--process-lqa-requests                          Process all pending LQA requests.
                                                      Example: `lrmprocess-cli.jar -plr`
 -pn,--project-name <project>                         Specifies the LRM project name.

 -ppr,--process-postedit-requests                     Process all pending Post Edit requests.
                                                      Example: `lrmprocess-cli.jar -ppr`
 -rf,--resource-file <resource-file(s)>               List of resource files for the prep kit --override option.

 -se,--send-email                                     Command to send an email. The type of email is indicated by additional
                                                      options.
                                                      Example: `lrmprocess-cli.jar -se <email type> -pn <projectname> -gn
                                                      <groupname>`
 -slr,--save-lqa-requests                             Save all outstanding LQA requests.
                                                      Example: `lrmprocess-cli.jar -slr`
 -spr,--save-postedit-requests                        Save all outstanding Post Edit requests.
                                                      Example: `lrmprocess-cli.jar -spr`
 -subj,--subject <arg>                                The subject line of the email. Required to send custom email.

 -vcg,--version-control-get                           Email type option to notify of version control issues when retrieving
                                                      source.
 -vci,--version-control-import                        Email type option to notify of version control issues when committing
                                                      changes.
 -vn,--version                                        LRM Process Main Version

 -vt,--velocity-template <arg>                        Email type option to indicate a custom email. Location of custom velocity
                                                      template is required.
                                    


--check-send (Upload pending prep kits)

The --check-send command is used to upload any prep kits that may not have been uploaded. This can occur if the connection to the L10n Vendor cannot be established. Once it is fixed, the --check-send command is called to upload the prep kits.

Notification emails are sent to the appropriate recipients (see Email Recipients)

This command is called during the Jenkins Check Send job (see Jenkin's CheckSend Job)

 java -jar lrmprocess-cli.jar --check-send

--import-kit (Import Kits returned by L10n Vendor)

The import kit command searches for any kits that have been returned by the L10nVendor and imports them into LRM (see Importing TranslatedKits).

Notification emails are sent to the appropriate recipients (see Email Recipients)

This command is called for each vendor's Jenkins Import Kit job (see Jenkin's Import Kit jobs)

If there is no option for the location of the translated files (--file option), then each L10n Vendor staging area is searched for pending translated kits.

  java -jar lrmprocess-cli.jar --import-kit

--prep-kit (Send out prep kits)

LRM Process calls the LRM engine's prep kit job, uploads the files to the appropriate L10n vendor and sends out notifications emails.

Notification emails are sent to the appropriate recipients (see Email Recipients)

This command is called during the Jenkins Prep Kit jobs (see Jenkin's Prep Kit Jobs).

 java -jar lrmprocess-cli.jar -pk -pn <project> -gn <group>


During the prep kit command, the files are prepped and moved to the prep kit staging area in order to be uploaded to the appropriate L10n vendor. The notification emails are then sent out.

Override Prep Kit

The override option of the prep kit command will prep a kit regardless of whether there are changes to the base resource files. The prep kit can be filtered by base resource files (--resource-file options) as well as locales (--locale option). If there are no additional options then all base resource file will be sent out for translation.

Examples:

  • Create a prep kit for all base resource files
   java -jar lrmprocess-cli.jar -pk --override -pn <project> -gn <group>
  • Create a prep kit for specific locales
   java -jar lrmprocess-cli.jar -pk --override -pn <project> -gn <group> --locale fr,de,es_mx
  • Create a prep kit for specific resource files
   java -jar lrmprocess-cli.jar -pk -or -pn <project> -gn <group> --resource-file /var/lib/jenkins/myproject/resources/file1.properties,/var/lib/jenkins/myproject/resources/file2.properties
  • Create a prep kit for a specific locale file
   java -jar lrmprocess-cli.jar -pk -or -pn <project> -gn <group> -lc fr -rf /var/lib/jenkins/myproject/resources/file3.properties

Send Emails

Version Control Error Emails

Errors may occur, outside of Localyzer, when trying to pull or push to the remote repository. If an error is detected, then in your script you can call the send-email with one of the following email type options:

  • --version-control-get - if the error occurred when pulling from the remote repository.
 java -jar lrmprocess-cli.jar --send-email --version-control-get -pn <project> -gn <group>
  • --version-control-import - if the error occurred when pushing the import files into the remote repository
    • Sends email to the import kit recipients for that project (see Email Recipients)
 java -jar lrmprocess-cli.jar --send-email --version-control-import -pn <project> -gn <group>

Custom Emails

You can create your own custom email by creating a custom velocity template (https://velocity.apache.org/engine/1.7/user-guide.html). This custom velocity template may have any of the following tokens:

  • $groupname - is a valid Localyzer group name
  • $projectname - is a valid Localyzer project name for the group
  • $prepkitversion - must be a number but doesn't need to be a valid prep kit version
  • $applicationname - can be any text. Does not need to be a valid application name
  • $locale - can be any text. Does not need to be a valid project locale

Example template where the name of the file is example.vm and it contains all of the available tokens.

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
    <body>
        <p> This is for group  $groupname</p>
        <p> This is for project $projectname </p>
        <p> This is for kit version $prepkitversion </p>
        <p> This is for application name $applicationname </p>        
        <p> This is for locale $locale </p>
    </body>
</html>

Command example for this template could be:

 java -jar lrmprocess-cli.jar -se -vt /var/lib/jenkins/velocity/example.vm -gn <group> -pn <project> -subj "My Custom Example" -kv 121 -an "'I can put anything here'"  -lc "'This can also be anything'"

Required arguments are the project name, group name, velocity file and subject.

The email will be sent to the import kit recipients for that project. (see Email Recipients)

There is a more robust sample for a custom velocity template located in the samples folder of your Localyzer install directory.