# Helm Chart<no value>
// <!-- Required for asciidoctor -->
:toc:
// Set toclevels to be at least your hugo [markup.tableOfContents.endLevel] config key
:toclevels: 4



[cols="1^,1^,1^",options=header]
|===
| source | condition | target
| &#10004; | &#10004; | &#10004;
|===

**source**

The Helm chart "source" retrieves the latest version of a Helm package.

**condition**

The Helm chart "condition" tests if a helm chart release exist.

**target**

The Helm chart "target" updates a helmchart and bump the chart metadata. It handle AppVersion, incremental version update and requirements.lock. It both works with helm chart located locally or on a git repository. If the helm chart is located locally, then chart name must be an absolute path to the chart.

== Parameter

{{< resourceparameters "sources" "helmchart" >}}

== Example

[source,yaml]
----
# updatecli.yaml
{{<include "assets/code_example/docs/plugins/resources/helmchart/updatecli.d/default.yaml">}}
----

What it says:

**Source**

Retrieve the version from the Jenkins helm chart repository located on "https://charts.jenkins.io"
  => 2.7.1

**Conditions**

Then there is an `helmchart` condition: "Is the prometheus helm chart version "11.16.5" is available from https://prometheus-community.github.io/helm-charts?
  => Yes, proceed, No then abort

**Targets**
If all conditions are met, we bump the Jenkins upstream version into our local one. We remove the requirements.lock if it exists.  We bump the chart version using the incremental version (patch,minor,major). Finally we commit our changes and then open a pull request on Github.
