Faits :
A.
Par jugement du 1er février 2013, le Tribunal criminel de l'arrondissement de la Broye et du Nord vaudois a reconnu A.A._ coupable de mise en danger de la vie d'autrui, d'agression, de tentative de séquestration et d'enlèvement, de délit et de contravention à la LArm, de mise à disposition d'un véhicule à un conducteur non titulaire du permis requis ainsi que d'usage abusif de plaques de contrôle. Il a condamné l'intéressé à une peine privative de liberté de 36 mois, sous déduction de la détention préventive déjà subie, et a suspendu l'exécution d'une partie de la peine à concurrence de 18 mois pendant cinq ans. En outre, il a prononcé une amende de 800 fr., la peine privative de liberté de substitution à défaut de paiement étant fixé à huit jours. Enfin, il a renoncé à révoquer un précédent sursis et prolongé le délai d'épreuve d'une durée d'une année à compter du jugement.
A.a. Statuant le 6 septembre 2013 sur appel de A.A._ et sur appel joint du Ministère public vaudois, la Cour d'appel pénale du Tribunal cantonal vaudois a rejeté l'appel du premier et admis partiellement celui du second. Elle a réformé le jugement de première instance. Premièrement, elle a augmenté la peine privative de liberté à 4,5 ans, tout en maintenant l'amende de 800 fr. et la peine privative de liberté de substitution de huit jours en cas de non-paiement de l'amende. En deuxième lieu, elle a révoqué le sursis octroyé le 27 mai 2011 par le Ministère public de l'arrondissement de Lausanne à la peine pécuniaire de dix jours-amende à 30 fr. le jour.
Cette condamnation repose notamment sur les faits suivants:
A.b. Après s'être fait frapper à coups de poing par A.A._ et son frère B.A._, C._, endolori et sonné, a rencontré, par hasard, D._ et E._, qui avaient passé la soirée à boire au " F._ ", à G._. Il leur a exposé ce qui s'était passé avec les frères A._. Tous trois ont décidé que l'affaire n'en resterait pas là. Ils se sont alors rendus à H._ à bord du véhicule Mercedes conduit par D._. Dans le véhicule se trouvait un bâton en bois. Arrivé devant le domicile de la famille A._ à H._, D._ a hurlé le nom de A.A._ et des insultes en albanais. Personne n'est toutefois sorti. D._ a alors convaincu E._ de casser la vitre d'un véhicule parqué, qu'il pensait appartenir à la famille A._, au moyen du bâton se trouvant dans la Mercedes. E._ s'est exécuté et a abandonné dans l'habitacle de la voiture le bâton. Les trois hommes ont alors quitté les lieux en voiture en direction de la gare de H._. Dès cet instant, ils se trouvaient mains nues.
Un peu plus tard, les trois prénommés sont revenus à bord de leur véhicule en direction de la maison des frères A._. Ils ont passé à proximité de ce logement à une vitesse réduite. Alors qu'ils circulaient ainsi, A.A._, muni d'une arme de poing qui n'a pas été retrouvée, a fait feu en direction de la Mercedes à au moins une reprise. Quant à B.A._, qui portait un pistolet Beretta 92S calibre 9 mm, il a lui aussi pointé son arme en direction de la Mercedes et a tiré à plusieurs reprises contre l'habitacle à une distance très proche du véhicule, de l'ordre de un à trois mètres. D._ a été gravement atteint au niveau de la poitrine, mais a néanmoins réussi à continuer à conduire. B.A._ est ensuite monté dans un véhicule non identifié, arrivé quelques dizaines de secondes après le départ de la Mercedes. La Mercedes a été prise en chasse et une course-poursuite s'est engagée, à tombeau ouvert. Quatre à cinq coups de feu ont encore été tirés sur la Mercedes qui a été touchée à plusieurs reprises. La course-poursuite a cessé lorsque le chargeur du Beretta a été vide.
A.c. Par arrêt du 10 novembre 2014 (6B_88/2014), la Cour de droit pénal du Tribunal fédéral a rejeté, dans la mesure où il était recevable, le recours en matière pénale formé par A.A._ contre le jugement du 6 septembre 2013.
B.
Par jugement du 12 décembre 2019, la Cour d'appel pénale du Tribunal cantonal vaudois a déclaré irrecevable la demande révision du jugement du 6 septembre 2013 déposée par A.A._.
C.
Contre ce jugement cantonal, A.A._ dépose un recours en matière pénale devant le Tribunal fédéral. Il conclut en substance, avec suite de frais et dépens, à la réforme de la décision attaquée, en ce sens que sa demande de révision est admise. Il sollicite également l'octroi de l'assistance judiciaire.

Considérant en droit :
1.
Le recourant reproche à la cour cantonale d'avoir déclaré sa demande de révision irrecevable. Il lui fait grief d'avoir écarté sans motif suffisant les preuves nouvelles qu'il a proposées dans sa demande de révision. Il soutient que ces preuves permettent d'établir qu'il n'était pas en possession d'une arme à feu au moment des faits, mais que, contrairement à ce qui a été retenu, les occupants du véhicule Mercedes étaient armés et ont fait usage d'au moins une arme lors des deux passages du véhicule devant sa maison.
1.1.
1.1.1. Aux termes de l'<ref-law>, toute personne lésée par un jugement entré en force peut en demander la révision s'il existe des faits ou des moyens de preuve qui étaient inconnus de l'autorité inférieure et qui sont de nature à motiver l'acquittement ou une condamnation sensiblement moins sévère ou plus sévère du condamné.
Les faits ou moyens de preuves invoqués doivent ainsi être nouveaux et sérieux. Les faits ou moyens de preuves sont inconnus lorsque le juge n'en a pas eu connaissance au moment où il s'est prononcé, c'est-à-dire lorsqu'ils ne lui ont pas été soumis sous quelque forme que ce soit (<ref-ruling> consid. 5.1.2 p. 66 s.). Ils sont sérieux lorsqu'ils sont propres à ébranler les constatations de fait sur lesquelles se fonde la condamnation et que l'état de fait ainsi modifié rend possible un jugement sensiblement plus favorable au condamné (<ref-ruling> consid. 1.1 p. 199; <ref-ruling> consid. 5.1.4 p. 68).
1.1.2. Selon l'<ref-law>, la juridiction d'appel n'entre pas en matière sur la demande de révision si celle-ci est manifestement irrecevable ou non motivée ou si une demande de révision invoquant les mêmes motifs a déjà été rejetée par le passé. La procédure de non-entrée en matière selon cette disposition est en principe réservée à des vices de nature formelle (par exemple le défaut de qualité pour recourir, le caractère non définitif du jugement entrepris, etc.). Il est néanmoins loisible à la juridiction d'appel de refuser d'entrer en matière si les motifs de révision invoqués apparaissent d'emblée non vraisemblables ou mal fondés (<ref-ruling> consid. 3.5 p. 129; arrêt 6B_273/2020 du 27 avril 2020 consid. 1.1), ou encore lorsque la demande de révision apparaît abusive (arrêts 6B_1110/2019 du 18 décembre 2019 consid. 1.1.2; 6B_324/2019 du 24 avril 2019 consid. 3.1). La cour cantonale a, en l'espèce, refusé d'entrer en matière, en application de l'<ref-law>, considérant que les motifs de révision apparaissaient d'emblée mal fondés.
1.1.3. Le Tribunal fédéral est un juge du droit. Il ne peut revoir les faits établis par l'autorité précédente que si ceux-ci l'ont été de manière manifestement inexacte (<ref-law>), c'est-à-dire arbitraire (<ref-ruling> consid. 5.1 p. 356). On peut renvoyer, sur la notion d'arbitraire, aux principes maintes fois exposés par le Tribunal fédéral (<ref-ruling> consid. 1.1 p. 155 s.; <ref-ruling> consid. 2.3.1 p. 244). En bref, pour qu'il y ait arbitraire, il ne suffit pas que la décision attaquée apparaisse discutable ou même critiquable; il faut qu'elle soit manifestement insoutenable et cela non seulement dans sa motivation, mais aussi dans son résultat.
Savoir si l'autorité cantonale s'est fondée sur une juste conception de faits ou de moyens de preuve nouveaux et sérieux est une question de droit. En revanche, savoir si un fait ou un moyen de preuve était effectivement inconnu du juge est une question de fait qui peut être revue pour arbitraire dans l'établissement des faits et l'appréciation des preuves. Il en va de même de la question de savoir si un fait nouveau ou un moyen de preuve nouveau est propre à modifier l'état de fait retenu puisqu'elle relève de l'appréciation des preuves, étant rappelé qu'une vraisemblance suffit au stade du rescindant. Enfin, c'est de nouveau une question de droit de savoir si la modification de l'état de fait est juridiquement pertinente, c'est-à-dire de nature, en fonction des règles de droit de fond applicables, à entraîner une décision plus favorable au condamné en ce qui concerne la culpabilité, la peine ou les mesures (<ref-ruling> consid. 1 p. 73 et les arrêts cités).
1.2.
1.2.1. Le recourant reproche à la cour cantonale d'avoir d'emblée considéré que les témoignages de I._ et de J._ ne constituaient pas des moyens de preuve sérieux. Il fait valoir que ces témoins étaient intervenus postérieurement en tant que médiateurs afin de tenter de participer au règlement du litige entre les bandes et familles opposées, " pour éviter la vendetta " et qu'ils avaient recueilli des éléments auprès des occupants de la Mercedes.
Dans son jugement du 6 septembre 2013, la cour cantonale avait retenu que le recourant était le second tireur, pour plusieurs raisons. La recherche au moyen du spray Ferro-Trace sur les mains de A.A._ montrait des zones de contact avec des métaux, qui étaient compatibles avec la manipulation d'une arme à feu, une main tenant la crosse et l'autre enveloppant le tout pour assurer la stabilité du tir. En outre, le test de recherche de résidus de tir avait révélé des particules spécifiques, en particulier au niveau des sourcils et du front. Le recourant attendait à l'extérieur le retour de la Mercedes; or, il était peu probable qu'il se serait exposé sans défense aux tirs de ses assaillants. Enfin, il était établi que D._ était le conducteur de la Mercedes, de sorte qu'il était peu probable qu'il ait pu simultanément être ce second tireur (jugement du 6 septembre 2013 p. 62 ss).
Dans le jugement attaqué, la cour cantonale a constaté que I._ ne faisait pas partie des bandes rivales, de sorte qu'elle ne voyait pas comment il pourrait fournir des informations utiles sur la question de savoir si le recourant était muni d'une arme. En outre, elle a indiqué qu'aucun des témoins interrogés durant l'enquête n'avait fait état de discussions entre les bandes rivales par un tiers interposé, de sorte que le témoignage de J._ était en contradiction totale avec les faits du jugement, et partant, qu'il n'était pas sérieux.
Le recourant critique le raisonnement de la cour cantonale, en faisant valoir que les témoins proposés étaient intervenus postérieurement en tant que médiateurs afin de tenter de participer au règlement du litige entre les bandes et familles opposées. Cette argumentation tombe à faux. Les témoignages de ces deux médiateurs apparaissent d'autant moins propres à établir que le recourant n'était pas en possession d'une arme si ceux-ci n'étaient pas présents pendant la fusillade. La cour cantonale n'a donc pas versé dans l'arbitraire en considérant d'emblée ces moyens de preuve comme non sérieux. Les griefs soulevés sont infondés.
1.2.2. Le recourant fait grief à la cour cantonale d'avoir d'emblée considéré que l'audition de K._ ne constituait pas un motif de révision.
La cour cantonale a estimé que l'audition de K._ ne pouvait pas donner lieu à une révision, pour deux raisons. D'une part, elle a considéré que l'audition de K._ n'était pas un moyen de preuve nouveau. En effet, le recourant avait déjà demandé l'audition de K._ au cours des débats de deuxième instance, mais la cour d'appel pénale avait rejeté cette requête au motif, notamment, que ce témoin n'était pas sur les lieux au moment de la fusillade le 31 octobre 2011. D'autre part, la cour cantonale a estimé que ce moyen de preuve n'était pas sérieux. En effet, ce témoignage n'était pas susceptible de prouver que le recourant n'était pas armé, dès lors que le résultat conjoint sur celui-ci des tests de recherche de résidus de tir et l'application du spay Ferro-Trace ne laissait subsister aucun doute sur la détention d'une arme à feu par le recourant.
Lorsque la décision cantonale repose sur plusieurs motivations indépendantes, alternatives ou subsidiaires, et que chacune d'elles suffit à sceller le sort de la cause, la partie recourante doit démontrer que chacune de ces motivations est contraire au droit; à défaut, la motivation du recours n'est pas suffisante (<ref-ruling> consid. 2.4 in fine p. 368; <ref-ruling> consid. 2.4 in fine; <ref-ruling> consid. 4.1.4 p. 100). Dans son argumentation, le recourant ne remet en cause que le caractère sérieux du moyen de preuve, mais ne conteste pas que celui-ci n'était pas nouveau. Son argumentation est dès lors irrecevable.
1.2.3. Le recourant reproche à la cour cantonale d'avoir considéré que l'audition de L._, responsable de communication auprès de la société M._ AG, ne constituait pas un moyen de preuve sérieux. Il explique à cet égard que ce témoin pourrait attester que des balles à blanc Parabellum 9 mm existent sur le marché et que, partant, les déclarations de l'inspecteur N._, selon lesquelles l'une des douilles retrouvées ne pouvait pas être une balle à blanc, car il n'existait pas de balle à blanc correspondant à ce modèle, seraient fausses. Il en déduit que le chauffeur de la Mercedes aurait tiré dans sa direction avec des balles à blanc lors des deux passages du véhicule devant son domicile, ce qui expliquerait pourquoi il avait été exposé à de la poudre sans avoir été blessé.
La cour cantonale a considéré que ce moyen de preuve n'était pas sérieux pour plusieurs raisons. Premièrement, elle a exposé que l'expert n'avait jamais dit que des balles à blanc de ce modèle n'existaient pas. En deuxième lieu, elle a relevé que, même s'il était établi que les occupants de la Mercedes avaient été en possession d'armes à feu, cela n'exclurait pas que le recourant était lui-même muni d'une arme à feu. Dans son argumentation, le recourant se borne à contester la première motivation, mais ne s'en prend pas à la seconde. Son argumentation est dès lors irrecevable.
1.3. En conclusion, c'est à juste titre que la cour cantonale a considéré que les motifs de révision étaient d'emblée mal fondés et qu'elle a déclaré irrecevable la demande de révision.
2.
Le recours doit être rejeté dans la mesure où il est recevable.
Comme ses conclusions étaient vouées à l'échec, l'assistance judiciaire ne peut être accordée (<ref-law>). Le recourant devra donc supporter les frais (<ref-law>), dont le montant sera toutefois fixé en tenant compte de sa situation financière.

Par ces motifs, le Tribunal fédéral prononce :
1.
Le recours est rejeté dans la mesure où il est recevable.
2.
La demande d'assistance judiciaire est rejetée.
3.
Les frais judiciaires, arrêtés à 1'200 fr., sont mis à la charge du recourant.
4.
Le présent arrêt est communiqué aux parties et à la Cour d'appel pénale du Tribunal cantonal du canton de Vaud.
Lausanne, le 10 juillet 2020
Au nom de la Cour de droit pénal
du Tribunal fédéral suisse
Le Président : Denys
La Greffière : Kistler Vianin