Overview

Projects provide insight into your release process through a set of metrics generated from various tools including Jenkins and Artifactory. A Project can be a single microservice or a complete application and is defined using a set of builds in Artifactory. Project resources are automatically discovered from the different tools, and the data is collected and refreshed periodically resulting in a set of metrics that visualize the release process in the Project dashboard. 

A Project is created by selecting a set of builds from Artifactory. Mission Control uses the BuildInfo from Artifactory to discover resources like jobs in Jenkins (note that both upstream and downstream Jenkins jobs can be included in a project), issues from Xray, code repos from Git and artifact repos in Aritfactory. Data from each tool is periodically collected and metrics with 15 minute aggregates by builds are generated.

Collection Frequency

JFrog Mission Control collects the data used to generate the insight graphs in the following frequency:

ProductCollection Frequency
JFrog Artifactory ServicesEvery 15 minutes
JFrog Artifactory Edge NodesEvery 15 minutes
JFrog XrayOnce a day at midnight GMT
JFrog DistributionOnce a day at midnight GMT

 


Projects Dashboard

The Projects Dashboard displays the metrics according to their stage in the release process from code to artifact deployment. The dashboard presents data for the time range and filters set in three panes.

  • Mini graph: Displayed on the bottom in the order of the release lifecycle. The value displayed on the graph is an aggregate of data based on the selected filters along with a historical trend.
  • Main graph: Selecting a mini graph from the lower pane, displays the visualization of the data by build
  • Right pane: Displays the details of a selected point in the main graph including the break down by builds and runs

      


Filters

You can apply these global filters to gain different perspectives on your project:

  • Time rangeAllows you to set the time period. You can select a predefined time periods: Last 24 hours (default), Last week, Last month, Last quarter and Last year. You can also set a custom time range and select any period of time during which data was collected.
  • Builds selection: Allows you to select All builds (aggregate across all the builds) or an individual build from the list of available builds. The default is All Builds.
  • Build status: Allows you to view the data according to build status: All, Success, Failure and Unknown. The default is All.

Drilldown

By default, the first metric with data is selected in the mini graph and the main graph shows the aggregated data. Data is shown in aggregates depending on the time period selected. For example, for a time period of 24 hours, data is displayed in 15 minute aggregates. That means any selected point has data for the previous 15 minutes. Selecting a point displays the breakdown by build data for that metric. For each build selected in the filter the number of runs and aggregate for that build is displayed. If there are new runs for a build was created in that period, the build can be expanded to see the list of runs. For each run, the value of that metric along with the % change compared to the average of the period is also displayed. This enables determining if the run requires further investigation.

Selecting a run brings up the run details popup pane that shows all the data collected about that run from all the tools connected to the Project.

For example, in the above screenshot, the popup displays the run details for run 351 for clone-example-maven build. This provides a comprehensive view of that run across all the tools used to build/release the application, from commits to upstream/downstream job to vulnerabilities. Each build/run attribute is labeled and for attributes with numeric values, percentage change compared to the previous run is also displayed.   


Managing Projects

Once you have added at least one Enterprise+ Artifactory service, you can proceed to select your Jenkins and Xray services and create your first Project. 

Only admins can create Projects. All users can view all projects.

Prerequisites

Project supports the following versions of tools:

  • JFrog Artifactory Enterprise+.
  • JFrog Xray Enterprise+.
  • Jenkins version 2.0 and above.

Adding a Project 

  1. To add a project, click Add Project from the Projects module.


  2. Select an Artifactory service from the Select Artifactory Service field.
  3. Add builds to your project from services using one these methods:
    • Select Builds by Name
      Allows using wildcards or a regular expression to select specific builds for your project. For example, you can include all the Conan builds by adding  *conan.
      Add Project
    • The Include Patterns and the Exclude Patterns fields provide a way to filter out specific builds. Specify a list of Ant-like patterns to filter in and filter out build queries. Filtering works by subtracting the excluded patterns (default is none) from the included patterns (default is all).  

      A project may contain a maximum of 25 builds regardless of the number of Artifactory services included in the project, or the way in which you select the builds (by name or by pattern).


  4. Click Add.

    It may take a while for Mission Control to generate a new project based on the number and type of builds you selected.

    While Mission Control is collecting data for the selected builds the Project will appear in the Projects list with a status of In Progress to indicate that data collection is in progress. After the data collection process is complete, the status will be changed to Created.