Editer des composants partagés entre projets

Salim Hammar
Contributor
February 11, 2022

Bonjour 

Actuellement j'ai ce script : qui me permets de dupplier des composant entre plusieurs projetsjira.png

Mais je rencontre un problème quand je souhaite éditer le nom d'un composant dans le projet source , l'édition s'applique bien par contre dans le projet de destination il me créer un nouveau composant avec le nouveau nom que j'ai changé.

 

Je souhaiterai juste quand je modifie un composant sur le projet source , la mdodification s'applique aussi sur le projet source sans créer un nouveau composant

 

Merci d'avannce

1 answer

Suggest an answer

Log in or Sign up to answer
0 votes
Florian PEREZ
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Leaders.
February 12, 2022

Salut !

Ma ne fonctionnera que s'il n'y a qu'une différence entre les composant mais tu pourrais créer 2 array avec tes valeur de composants, les comparer et:

Si la longueur de tes 2 array et la même, update la valeur qui a changé

Si longueur différente alors tu ajoutes le nouveau.

 

Si le cas est plus complexe il va falloir me donner plus d'information !

Excellent week end! 

Salim Hammar
Contributor
February 12, 2022

Salut ;)

Moi ce que je souhaiterai ça serai de rajouter du code de la même fonction "edit" que jira propose c'est a dire qu'au lieu qu'il créer un nouveau composant a chaque fois que je veux modifier le nom du composant , il a juste a faire un update , mais a mon avis c'est ma fonction xxxxx.create qui créer a chaque fois.

 

 

Salim Hammar
Contributor
February 14, 2022

Salut @Florian PEREZ 

Alors j'ai fais ça : 

2022-02-14 10_48_52-Window.png

 

Mais j'ai un peu de mal , j'ai fais ça avec la taille des valeurs des composants mais j'ai des erreurs tu aurais une piste ou quelque chose ?

 

Merci d'avance

Florian PEREZ
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Leaders.
February 14, 2022

Alors déjà, sans trop regarder je vois que ta valeur componentTemp2est pas définie avant ton if, du coup tu compares ta valeur avec undefined (voir tu as un null pointer exception) 

Ici voici les étapes que tu devrai faire (avec des logs des valeur pour confirmer que tu as les valeurs attendue): 

- faire une liste des composant du proet cible AVANT update 

- Compter les composants (composantCount1) 

- Faire une liste des composants du projet origine  APRES update

- compter les composants  (composantCount2)

Si composantCount1==composantCount2

- comparer les 2 listes pour trouver le composant different ( composant1[i]!= composant2[i] dans un boucle)

- puis éditer la list cible avec la valeur origine 

 

sinon process classique 

Salim Hammar
Contributor
February 15, 2022

OK merci pour ton aide @Florian PEREZ 

 

Alors j'ai reussi a le faire fonctionner tout est bon , un peu differement mais ça marche , mais actuellement je souhaiterai faire la meme chose mais pour supprimer cette fois-ci j'arrive a voir comment je pourrai transformer la fonction 

 

"projectComponentManager.update(destComponent)"

en 

"projectComponentManager.delete(destComponent)"

 

tu aurais une idée ?

Merci d'avance

Florian PEREZ
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Leaders.
February 15, 2022

Hey mais je n'avais pas vu c'est Salim ! 

J'espère que tout va pour le mieux pour toi !  

 

Alors pour le coup c'est le même type de fonctionnement: 

- Dresser une liste des composant du proet cible AVANT update 

- Compter les composants (composantCount1) 

- Dresser une liste des composants du projet origine APRES update

- compter les composants (composantCount2)

Si composantCount1==composantCount2  >>> alors c'est une modification

Si composantCount1>composantCount2  >>> alors c'est un ajout

Si composantCount1<composantCount2  >>> alors c'est une suppression

- Ensuite tu édites le projet cible en fonction. 

 

Pour la fonction de delete elle existe et elle est trouvable sur https://docs.atlassian.com/software/jira/docs/api/7.2.3/com/atlassian/jira/bc/project/component/ProjectComponentManager.html 

 

Bon courage et le bonjour à toute la team :-) 

Salim Hammar
Contributor
February 15, 2022

Hé oui c'est moi le mec qui adore Jifu ;) @Florian PEREZ 

 

Bref alors moi par exemple pour le update voila ce que j'ai trouvé et ça marche : 

update.png

Et le lien que tu m'as envoyé pour la fonction " delete " mais il y a pas vraiment d'exemple.

 

Merci d'avance

Florian PEREZ
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Leaders.
February 15, 2022
Salim Hammar
Contributor
February 15, 2022

Merci @Florian PEREZ 

Mais j'ai un peu de mal a comprendre l'exemple.

TAGS
AUG Leaders

Atlassian Community Events