> For the complete documentation index, see [llms.txt](https://docs.medcrypt.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.medcrypt.com/fr/helm/automate-and-integrate/automate-sbom-management-via-github-actions.md).

# Automatisez la gestion des SBOM via GitHub Actions

Vous pouvez facilement intégrer Helm à votre processus CI/CD afin de simplifier et d’automatiser la création des produits et de leurs versions, ainsi que le téléversement des SBOM vers Helm. Vous pouvez utiliser notre GitHub Action de manière autonome ou l’intégrer à votre workflow GitHub Action existant. Vous pourrez ainsi tenir à jour, avec un minimum d’efforts, une documentation complète sur les composants, les dépendances et les vulnérabilités de votre produit.

## Gagnez du temps et évitez les efforts liés à la maintenance manuelle des SBOM

Une fois Helm configuré, il ajoutera automatiquement les produits et ajoutera ou mettra à jour les SBOM des versions de produit appropriées, en fonction du déclencheur d’événement, lorsque de nouveaux SBOM ou des SBOM mis à jour seront ajoutés à votre dépôt GitHub connecté.

* **Efficacité :** Automatise le processus fastidieux de maintenance des SBOM, ce qui permet à votre équipe de se consacrer au développement.
* **Exactitude et cohérence :** Garantit que chaque modification de votre base de code est reflétée dans vos SBOM.
* **Intégration transparente :** S’intègre naturellement à vos workflows GitHub existants et améliore vos pratiques DevOps sans les perturber.
* **Conformité et transparence :** Facilite le respect des exigences réglementaires et renforce la transparence vis-à-vis des parties prenantes grâce à des SBOM détaillés et à jour.

{% hint style="info" %}
**Quels formats sont pris en charge ?**\
Actuellement, seul le format JSON CycloneDX est pris en charge. Si vous avez besoin de la prise en charge de SPDX, [faites-le-nous savoir](mailto:support@medcrypt.com).
{% endhint %}

## **Automatiser le téléversement de SBOM depuis un dépôt GitHub**

Notre [GitHub Action](https://github.com/marketplace/actions/medcrypt-helm-sbom-upload) simplifie la gestion des SBOM en automatisant la création des versions de produit et le téléversement des fichiers SBOM correspondants depuis votre dépôt GitHub.

1. Pour commencer, vous aurez besoin d’un accès à l’API Helm, des identifiants de l’API ainsi que de l’URL de l’API Helm (`api-base-url`).
2. Dans votre dépôt GitHub, créez un répertoire /workflows : `.github/workflows`
3. Créez un nouveau fichier de workflow `.yml` dans `.github/workflows/` si vous n’en avez pas déjà un. Si vous en avez déjà un, ajoutez simplement notre étape sous jobs: > steps.
4. Créez une étape pour téléverser votre SBOM dans la section `jobs` .
5. Dans cette étape, vous pouvez vous reporter aux paramètres du tableau ci-dessous ou au **Readme** pour connaître les paramètres à ajouter.
6. Indiquez le `workspace-name` auquel le produit est affecté ou sera affecté (en cas de création d’un nouveau produit). Ce champ est facultatif. S’il n’est pas renseigné, l’espace de travail par défaut sera utilisé.
7. Indiquez le `product-name` et le `product-version-name`.
8. Si le produit n’existe pas et que vous souhaitez que nous le créions, définissez `create-product-if-not-found` sur `true`.
9. Si la version du produit n’existe pas et que vous souhaitez que nous la créions, définissez `create-version-if-not-found` sur `true`.
10. Transmettez votre `client-id` et `client-secret`. Il s’agit de vos identifiants API Helm. `client-id` correspond à l’adresse e-mail de l’utilisateur qui a généré la clé API et `client-secret` correspond à la clé API de cet utilisateur.
11. Indiquez votre `sbom-file-path`.
12. Dans notre action, nous définissons actuellement `on` sur `workflow_dispatch`, ce qui vous permet de l’exécuter manuellement depuis l’interface GitHub, mais vous pouvez définir le déclencheur de votre choix, par exemple `push`, `pull_request`, ou configurer une exécution planifiée.

{% hint style="success" %}
**Vous utilisez l’éditeur Visual Studio Code ?**

Vous pouvez installer le plug-in GitHub Actions, qui vous permettra de survoler les paramètres pour afficher les informations du tableau ci-dessous ou du fichier Readme.
{% endhint %}

#### Paramètres à inclure dans le fichier YAML

Dans le paramètre `uses:` définissez la valeur suivante : `/medcrypt/action-helm-sbom-upload@your_version_branch`

Dans le paramètre `with:` indiquez les informations suivantes :

<table><thead><tr><th width="207">Paramètre</th><th width="227">Valeur</th><th>Description</th></tr></thead><tbody><tr><td>repository</td><td>'https://helm.environment.medcrypt.co/sub-path/'</td><td>Il s’agit de l’URL racine de l’API Helm, fournie par Medcrypt.</td></tr><tr><td>workspace-name</td><td>'Nom de l’espace de travail'</td><td>Il s’agit de l’espace de travail auquel le produit est affecté ou auquel il le sera (en cas de création d’un nouveau produit). Ce paramètre est facultatif. Si vous ne le renseignez pas, l’espace de travail par défaut sera utilisé.</td></tr><tr><td>product-name</td><td>'nom de votre produit'</td><td>Il s’agit du nom de votre produit. Les guillemets sont facultatifs.</td></tr><tr><td>product-version-name</td><td>'1.0'</td><td>Il s’agit de la version de votre produit. Elle doit être encadrée de guillemets afin d’éviter la troncature des valeurs numériques.</td></tr><tr><td>create-product-if-not-found</td><td>'false'</td><td>Indique si un produit doit être créé s’il n’existe pas dans Helm. Cette option est désactivée par défaut. À utiliser avec précaution.</td></tr><tr><td>create-version-if-not-found</td><td>'false'</td><td>Indique si une version de produit doit être créée si le produit ou la version n’existe pas dans Helm. Cette option est désactivée par défaut. À utiliser avec précaution.</td></tr><tr><td>client-id</td><td>${{ secrets.CLIENT_ID }}</td><td>Il s’agit de l’adresse e-mail de l’utilisateur qui dispose d’un accès à l’API Helm.</td></tr><tr><td>client-secret</td><td>${{ secrets.CLIENT_SECRET }}</td><td>Il s’agit de la clé API de l’API Helm.</td></tr><tr><td>sbom-file-path</td><td>./api_test_sbom.json</td><td>Il s’agit du chemin d’accès à votre fichier SBOM. Il doit correspondre à l’emplacement du fichier dans votre espace de travail GitHub actuel, par exemple après l’extraction du code source ou le téléchargement d’un artefact.</td></tr></tbody></table>

### *Importer des SBOM pour plusieurs produits depuis le même dépôt*

Intégrez notre action dans votre propre fichier de workflow, puis écrivez un workflow réutilisable en utilisant `on: workflow_call` pour appeler votre workflow.

### *Importer des SBOM pour différents produits depuis différents dépôts*

Copiez-collez simplement l’étape dans le fichier yml de ce dépôt. Si vous le souhaitez, vous pouvez créer votre propre action réutilisable pour stocker `client-id` et `client-secret`, ainsi que toute autre valeur commune à votre organisation.

### *Que se passe-t-il en cas d’erreur lors du téléversement du SBOM ?*

En cas d’erreur, vous pouvez examiner l’action pour voir où les erreurs se sont produites.

### *Que faire si j’ajoute par erreur le mauvais produit ou la mauvaise version ?*

Vous pouvez [supprimer le produit](/fr/helm/manage-sbom/managing-products-and-versions-archive-and-removal.md) depuis l’interface utilisateur ou [supprimer la version](/fr/helm/manage-sbom/managing-products-and-versions-archive-and-removal.md). La suppression du produit l’archive, ce qui vous permet de l’ajouter à nouveau. En revanche, si vous supprimez la version, vous ne pourrez plus accéder au SBOM correspondant et devrez l’ajouter à nouveau.

### *Que faire si je dois modifier la configuration ou déconnecter un dépôt ?*

Vous pouvez cesser d’utiliser cette action ou modifier ses paramètres à tout moment, notamment pour changer ou déconnecter des dépôts, modifier les déclencheurs d’événements, et bien plus encore.

<br>


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.medcrypt.com/fr/helm/automate-and-integrate/automate-sbom-management-via-github-actions.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
