Jobs

Overview of Job settings, which define the procedure that will be executed on the Agent.

From the Jobs table (Figure 1), you can see the most important information about existing jobs. From here you can also create a new job, as well as duplicate, update, or delete an existing one. Jobs can be grouped under custom categories. A new category can be make by clicking on the plus button () next to the All tab.

Figure 1. Jobs table

The jobs table shows the following information:

  1. Status: Status of the last ran execution. When created, Job has a status Idle, until the first execution is started. All possible states for the execution can be found here.
  2. Name
  3. Executions: Number of executions made of this job
  4. Last finish: Date and time of last finished execution of this job
  5. Last duration: Duration of last execution

Additionally, you can start a job directly from this table.

Note: By clicking on the button, columns of the table can be customized - hidden or shown depending on the preference. Columns of the table can be reordered by using drag and drop in the table header. When positioning cursor in between two columns, cursor for column resizing will show and enable change of the column's width. All changes made to the table will be automatically preserved.

Job details

Figure 2. Job details

In the Details section, you can find:

  1. Configuration tab: Here are displayed configuration data.
  2. Job Parameters tab: For managing parameters in order to easily change how a Job should behave from a Trigger.
  3. Changes history tab tab: Contains Job's history of changes.
  4. Executions tab: Contains table of executions that are made by running this job.
  5. Reports tab: Contains generated reports by running this execution.

You can also delete a job by clicking on the Delete job button.

Configuration tab

The tab displays configuration details for the selected Job and allows for updates. Within the configuration: agent, setup and tags can be marked as parametrizable. If a field is made parametrizable, the Job will have that field available as a parameter when running a job, within the run dialog. Additionally, any trigger connected to the job will also have the parametrizable field available as a parameter. The default value of the parametrized field will be set to the value specified in the job configuration, but the user can change it when running the Job or Trigger.

Changes history tab

Changes history for the selected Job is visible from this tab (Figure 3).

Figure 3. Job changes history

All snapshots (events) will be exported to JSON format and automatically downloaded by clicking on the button. By selecting each line in the table, single snapshot will be shown enabling preview of the made changes and allowing user to perform comparison between the selected snapshot and and any chosen snapshot.

Figure 4. Selected snapshot preiew

Single snapshot (event) can be exported as JSON and downloaded by clicking on the button. Snapshots can be compared through UI or as JSON, with JSON option having more clearly displayed differences between the two snapshots using Monaco editor.

Figure 5. Snapshot comparisson through UI
Figure 6. Snapshot comparisson through JSON

Deleting job

Clicking on the Delete job opens a confirmation dialog.

Figure 7. Job delete

If the Executions box is checked, then all executions made by this Job will be deleted but also additional information in the dialog will be available.

Figure 8. Job delete additional information in the dialog

If the Reports box is checked, then all Reports generated by this Job will be deleted.

If the Artifacts box is checked, then all Artifacts generated by this Job will be deleted.

Note: All items also can be left unchecked. In that case, only the Job will be deleted and all connected data will be preserved. A Job cannot be deleted if there is at least one unfinished execution of that Job.

Create job

A new Job can be added by clicking on the button. This opens the dialog window shown in Figure 9. An already existing Job can be duplicated by clicking on the button.

Figure 9. Add new job dialog

From this dialog, several options for defining the Job are available:

  1. Give a name which will be used to refer to it throughout the Typhoon Test Hub. The name must be unique.
  2. Write a description of the Job.
  3. Select the groups of categories where this Job should be displayed.
  4. Select one or more Agents that will be used to run this Job.
  5. Select one or more Setups that will be used when running this Job.
  6. Select one or more Tags that will be used when running this Job.
  7. Define timeout: time limit that determines how long a process or program can run before it's automatically interrupted.
  8. Add one or more Job Steps, with the restriction of having at least one. After choosing the desired step type from the dropdown menu and clicking the Add button, the step will be added to the initial form for Job creation.
Note: Agents, Setups and Tags fields can be parametrized. In that case fields will be available as parameters when running selected Job or Trigger connected to the chosen Job.
Within the advanced section, general retention policy can be enabled for executions, by defining for how long executions should be preserved. Policy can be defined in the following way:
  • Preserve latest - where number of executions that would be preserved needs to be entered.
  • Preserve for - where period needs to be entered (number and unit, where unit can be days/weeks/months/years) for which executions needs to be preserved.
Figure 10. Retention policy definition
The global retention policy can also be parameterized, and parameterized policies can be valuable when dealing with jobs, pipelines, or triggers that have different configurations or parameters and are used frequently. With parameterized policies, we can better filter out the executions we want to preserve based on their characteristics. Execution filters are used in order to filter executions and to write parametrized policy.
Figure 11. Example of a parametrized retention policy definition
Once a parametrized retention policy is defined, it will be visible in the advanced section of the form.
Figure 12. Example of a parametrized retention policy definition
Note: In order to save a form, all input fields must be valid. Required fields are signed with *.

Start job

When a job has no parameters, like Job97 in Figure 1, clicking on the Start button will cause a new execution to be made, which will be visible in the corresponding table on the Executions page. If the job has parameters, then the action button in the table will appear like this: .

Example for a job with parameter

If we want to create a parameter for the Source branch field, we could create a new parameter $BRANCH as in Figure 13.

Figure 13. New Job branch parameter creation

In this case, the Job's Source branch field will be configured like as in Figure 14.

Figure 14. Job Source branch parameterization

By clicking on the Play button, the Run Job97 agent 55 with parameters form will pop up.

From here, you can choose to use the default value of the Job parameter or input a new value, and then start the job.