# Pourquoi une redirection vers une URL Kibana "hard-codé" fonctionne mais pas lorsque l'URL est créée dynamiquement

**URL:** https://discuss.elastic.co/t/pourquoi-une-redirection-vers-une-url-kibana-hard-code-fonctionne-mais-pas-lorsque-lurl-est-creee-dynamiquement/311219
**Category:** Discussions en français
**Created:** [August 2, 2022, 12:38pm UTC](https://discuss.elastic.co/t/pourquoi-une-redirection-vers-une-url-kibana-hard-code-fonctionne-mais-pas-lorsque-lurl-est-creee-dynamiquement/311219 "2022-08-02T12:38:01Z")
**Posts on this page:** 3
**Page:** 1

<div class="post-metadata">

### Author: ![Vincent92](https://avatars.discourse-cdn.com/v4/letter/v/ea5d25/32.png) [@Vincent92](https://discuss.elastic.co/u/Vincent92)
#### Post date: [August 2, 2022, 12:38pm UTC](https://discuss.elastic.co/t/pourquoi-une-redirection-vers-une-url-kibana-hard-code-fonctionne-mais-pas-lorsque-lurl-est-creee-dynamiquement/311219/1 "2022-08-02T12:38:01Z")

</div>

Bonjour,

Je cherche à générer des urls de connexion **pour aller d'une application maison vers des requêtes spécifiques dans notre Kibana**.

Pour ce faire, j'ai déjà posé la question suivante sur le forum ce matin : [question précédente](https://discuss.elastic.co/t/comment-rediriger-une-application-vers-une-session-dun-index-specifique-sur-kibana/311195).

J'ai un peu évolué depuis mais je suis maintenant dans une situation que je ne comprends pas.

Si je passe mon url **en l'écrivant directement dans une chaîne de caractère la redirection se fait vers le bon index et sur la bonne session dans le kibana**.

Mais si je crée la même chaîne de caractère mais dynamiquement pour associer chaque id de mes logs dans mon app à la bonne session kibana, alors kibana me redirige vers l'index de base sans aucune donnée spécifiée dans la partie requête de l'url.

URL codée en dur dans le code :

```auto
const URL_ROOT_KIBANA_DISCOVER_TEST = "http://HOST_NAME:5601/app/kibana#/discover?_g=(refreshInterval:(pause:!t,value:0),time:(from:now-15M,to:now))&_a=(columns:!(_source),index:ab4ed2e0-fe84-11eb-8151-69b4ba83c682,interval:auto,query:(language:kuery,query:'FIELD_AGGREGATE_NAME:FIELD_VALUE%20and%20_id:" +'"ID_TO_RESEARCH"' + "'),sort:!(!('@timestamp',desc)))";

function createKibanaUrl(): string {
        //Cette méthode où j'hard-code l'URL me fait la bonne redirection
        let testKibana = URL_ROOT_KIBANA_DISCOVER_TEST;
        return testKibana;
    }

```

L'URL est assignée au href d'une balise d'ancrage contenue dans un bouton et en appuyant sur le bouton, je suis renvoyé à la bonne session.

Code avec l'URL générée dynamiquement:

```auto
const TEMPORARY_INDEX = "ab4ed2e0-fe84-11eb-8151-69b4ba83c682";
const URL_ROOT_KIBANA_DISCOVER = "http://HOST_NAME:5601/app/kibana#/discover?_g=(refreshInterval:(pause:!t,value:0),time:(from:now-";

const diffDays = (selectedDate: Date) => Math.ceil(Math.abs(new Date().getTime() - new Date(selectedDate).getTime()) / (1000 * 60 * 60 * 24));
const diffMonths = (selectedDate: Date) => new Date(selectedDate).getMonth() - new Date().getMonth() + 12 * (new Date(selectedDate).getFullYear() - new Date().getFullYear());
const diffYears = (selectedDate: Date) => new Date(selectedDate).getFullYear() - new Date().getFullYear();

function createKibanaUrl(timestamp: Date, idSession: string): string {
        let kibanaUrl: string = URL_ROOT_KIBANA_DISCOVER;
        const timeSlotInDays = diffDays(timestamp);
        const timeSlotInMonths = diffMonths(timestamp);
        const timeSlotInYears = diffYears(timestamp);
        if (timeSlotInDays <= 30) {
            kibanaUrl = kibanaUrl + timeSlotInDays.toString() + "d,to:now))";
        } else if ( timeSlotInDays > 30 && timeSlotInDays < 365) {
            kibanaUrl = kibanaUrl + timeSlotInMonths.toString() + "M,to:now))";
        } else if (timeSlotInDays >= 365) {
            kibanaUrl = kibanaUrl + timeSlotInYears.toString() + "y,to:now))";
        }
        kibanaUrl = kibanaUrl + "&_a=(columns:!(_source),index:" + TEMPORARY_INDEX + ",interval:auto,query:(language:kuery,query:'FIELD_AGGREGATE_NAME:" + "FIELD_VALUE" + "%20and%20_id:" + '"' + idSession + '"' + "'),sort:!(!('@timestamp',desc))"
        return kibanaUrl;
    }

```

Avec cette méthode je suis renvoyé sur la page de base de l'application Kibana Discover de mon entreprise, l'url que j'ai assigné est supprimé puis remplacé au début de la connexion kibana.

Qu'est-ce qui peut expliquer ce comportement s'il vous plaît.

---

<div class="post-metadata">

### Author: ![Vincent92](https://avatars.discourse-cdn.com/v4/letter/v/ea5d25/32.png) [@Vincent92](https://discuss.elastic.co/u/Vincent92)
#### Post date: [August 2, 2022, 1:52pm UTC](https://discuss.elastic.co/t/pourquoi-une-redirection-vers-une-url-kibana-hard-code-fonctionne-mais-pas-lorsque-lurl-est-creee-dynamiquement/311219/2 "2022-08-02T13:52:32Z")

</div>

Désolé du dérangement, je viens de me rencontre que j'avais oublié une parenthèse à la fin de mon url générée dynamiquement 🤦‍♂️

---

<div class="post-metadata">

### Author: ![system](https://us1.discourse-cdn.com/elastic/original/3X/1/a/1ac57faf039f6b580b3f104ef42a2a89e41014de.png) [@system](https://discuss.elastic.co/u/system)
#### Post date: [August 30, 2022, 1:53pm UTC](https://discuss.elastic.co/t/pourquoi-une-redirection-vers-une-url-kibana-hard-code-fonctionne-mais-pas-lorsque-lurl-est-creee-dynamiquement/311219/3 "2022-08-30T13:53:28Z")

</div>

This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.
