Faits :
A.
A.a. A._, né en 1969, exerce depuis 2005 une activité au sein de la chaîne de télévision régionale C._, association subventionnée par la commune B._. Il a par ailleurs été engagé par cette dernière en qualité de chargé de communication institutionnelle à un taux de 50 % dès le 1 er janvier 2012 et a été nommé à ce poste dès le 1 er janvier 2013 en qualité de fonctionnaire. Son taux d'activité a été augmenté à 70 % dès le 1 er janvier 2014 afin de lui permettre d'assurer la rédaction du rapport annuel sur les activités de la mairie (compte-rendu administratif: CRA).
Durant l'année 2014, A._ a rencontré des difficultés dans sa collaboration avec le secrétaire général de la commune, D._, dont il dépendait hiérarchiquement. Après une absence prolongée pour cause de maladie, A._ a repris son activité en juillet 2015 sous la responsabilité hiérarchique directe de E._, conseiller administratif, et son poste a été provisoirement détaché du secrétariat général.
Au mois de septembre 2015, la Cour des comptes a publié un rapport d'audit de gestion sur l'organisation des ressources humaines (RH) de la commune. Elle a constaté que la gestion des RH était inadéquate et fait le choix d'orienter son audit vers une logique de feuille de route, intégrant un plan d'actions concrètes devant permettre à la commune de sortir de la situation en matière de gestion des RH.
A.b. Au cours d'un entretien d'évaluation du 15 février 2016 portant sur l'année 2015, E._ a constaté que les relations de travail avec A._ s'étaient révélées laborieuses pour le conseil administratif, tant au niveau du suivi opérationnel et organisationnel de la rédaction que de la sous-traitance avec des partenaires extérieurs. E._ a retenu que la précision dans la qualité rédactionnelle des textes et l'actualisation du site internet de la mairie n'étaient pas satisfaisantes. Il a également fait état d'une communication grippée, voire "frondeuse" de la part de A._, une difficulté pour ce dernier à respecter les délais (en particulier pour la finalisation du CRA 2013) et une déresponsabilisation pour certaines tâches. Des moyens d'action étaient proposés. A._ a exprimé son désaccord sur l'évaluation concernant le CRA.
Par courrier du 20 mai 2016, E._ a fait savoir à A._ qu'il lui semblait difficile d'envisager la poursuite de son activité au poste de chargé de communication au sein de l'administration municipale. Depuis l'évaluation du 15 février 2016, aucune amélioration de son attitude et de ses prestations n'avait été constatée. Avant de soumettre le dossier au conseil administratif pour qu'il détermine les mesures à prendre, E._ souhaitait entendre A._ le 30 mai 2016 en présence d'un consultant RH mandaté par la commune. Après cet entretien, auquel A._ s'est rendu accompagné par un membre de la commission du personnel, le conseil administratif de la commune B._ a informé A._, par courrier du 8 juin 2016, qu'il envisageait de prononcer son licenciement pour motif fondé en application de l'art. 58 du statut du personnel.
A partir du 23 juin 2016, A._ a cessé son activité pour cause de maladie. Par courrier du 15 juillet 2016, le conseil administratif a maintenu ses griefs à l'encontre du travail et du comportement de A._. Par ailleurs, il a constaté que son activité accessoire exercée à C._ entrait en conflit d'intérêts avec l'activité principale de chargé de communication du fait de l'évolution de ces deux activités. Le conseil administratif s'est toutefois déclaré disposé à surseoir à la décision de licenciement envisagée, à condition que A._ abandonne son activité accessoire dans un délai de six mois expirant le 1 er février 2017. A._ s'y est opposé.
Par lettre du 31 août 2016, le conseil administratif a informé A._ que malgré le refus de ce dernier de donner suite à ses exigences pour surseoir au licenciement, il avait demandé au nouveau responsable de l'administration et des RH, F._, de recevoir l'intéressé pour faire le point sur sa situation et examiner si une solution moins douloureuse qu'un licenciement pouvait encore être envisagée. A._ ne s'était toutefois pas présenté au rendez-vous fixé le 23 août 2016 mais avait pris contact avec F._ par courriel du 28 août 2016 et la rencontre avait été fixée au 2 septembre 2016. Le 13 septembre 2016, A._ a contesté tous les motifs de licenciement invoqués et s'est dit victime de mobbing. Il a repris le travail le 17 septembre 2016.
Par décision du 21 septembre 2016, déclarée exécutoire nonobstant recours, le conseil administratif de la commune B._ a licencié A._ pour motif fondé avec effet au 31 décembre 2016 et l'a libéré de son obligation de travailler.
B.
A._ a déféré la décision du 21 septembre 2016 à la Chambre administrative de la Cour de justice de la République et canton de Genève. Il a demandé l'audition des parties et de deux témoins, G._ et H._, tous deux fonctionnaires de l'administration municipale. Dans sa réponse au recours, la commune B._ a également demandé l'audition de plusieurs témoins.
Le juge instructeur a tenu une audience de comparution personnelle le 29 mars 2017, lors de laquelle elle a entendu A._ ainsi que E._ et F._. A l'issue de l'audience, les parties ont maintenu leurs positions ainsi que leurs réquisitions d'audition de témoins. Par lettre du 6 avril 2017, le juge délégué a informé les parties que pour des motifs qui seraient indiqués dans l'arrêt à rendre, des mesures d'instruction complémentaires ne seraient pas ordonnées.
Par arrêt du 19 décembre 2017, la juridiction cantonale a rejeté le recours.
C.
A._ interjette un recours en matière de droit public contre ce jugement dont il demande l'annulation en concluant, principalement, au renvoi de la cause à la juridiction cantonale pour instruction complémentaire en raison d'une violation de son droit d'être entendu motivée par le refus d'entendre les deux témoins dont il avait demandé l'audition. Subsidiairement, il conclut à l'octroi d'une indemnité pour licenciement abusif correspondant à vingt-quatre mois de traitement. Il sollicite en outre le bénéfice de l'assistance judiciaire totale.
L'intimée s'en rapporte à l'appréciation du tribunal en ce qui concerne l'admission du grief de violation du droit d'être entendu. Sur le fond, elle conclut au rejet du recours et à la confirmation de l'arrêt attaqué.

Considérant en droit :
1.
Le jugement entrepris a été rendu en matière de rapports de travail de droit public au sens de l'art. 83 let. g LTF. Dans la mesure où la contestation porte sur la résiliation des rapports de service, il s'agit d'une contestation pécuniaire, de sorte que le motif d'exclusion de l'art. 83 let. g LTF n'entre pas en considération (p. ex.: arrêt 8C_310/2017 du 14 mai 2018 consid. 1 et l'arrêt cité). La valeur litigieuse dépasse largement le seuil de 15'000 fr. ouvrant la voie du recours en matière de droit public en ce domaine (art. 51 al. 2 et 85 al. 1 let. b LTF).
Pour le surplus, interjeté en temps utile et dans les formes requises contre une décision finale prise par un tribunal cantonal, le recours respecte les exigences des art. 42, 86 al. 1 let. d, 90 et 100 al. 1 LTF. Il est par conséquent recevable.
2.
Sous le titre marginal "Licenciement pour motif fondé après la période probatoire", l'art. 58 du statut du personnel de la Ville B._ prévoit ceci:
1. Après la période probatoire, le Conseil administratif peut, pour des motifs fondés, licencier un fonctionnaire moyennant un délai de résiliation de trois mois pour la fin d'un mois.
2. Par motifs fondés, il faut entendre toutes circonstances qui, d'après les règles de la bonne foi, ne permettent plus de maintenir les rapports de service. Sont notamment considérés comme motifs fondés:
- l'insuffisance des prestations;
- l'inaptitude à remplir les exigences du poste;
- la disparition durable d'une condition d'engagement;
- un manquement grave ou répété aux devoirs généraux.
3. Le fonctionnaire doit être entendu préalablement par le Conseil administratif sur les motifs de licenciement invoqués. Le licenciement fait l'objet d'une décision motivée.
3.
3.1. Dans un premier grief de nature formelle, le recourant reproche à la juridiction cantonale d'avoir violé son droit d'être entendu en refusant de donner suite à sa requête d'audition en qualité de témoins de deux fonctionnaires de l'administration municipale, soit G._ et H._. Il relève que malgré ses offres de preuve et le courrier du juge délégué du 6 avril 2017 l'informant que des mesures d'instruction complémentaires ne seraient pas ordonnées, l'arrêt attaqué ne contient aucune explication sur la renonciation à entendre les témoins précités. Il reproche à la juridiction cantonale d'avoir procédé arbitrairement à une administration anticipée des preuves.
3.2. Tel qu'il est reconnu par l'art. 29 al. 2 Cst., le droit d'être entendu comprend notamment le droit pour l'intéressé de prendre connaissance du dossier et d'offrir des preuves pertinentes (<ref-ruling> consid. 6.3.1 p. 299; <ref-ruling> consid. 5.1 p. 293). L'art. 29 al. 2 Cst. impose en particulier à l'autorité de donner suite à une offre de preuve lorsque celle-ci a été demandée en temps utile, dans les formes prescrites et qu'elle apparaît de nature à influer sur le sort de la décision à rendre. Il n'y a toutefois pas violation du droit à l'administration de preuves lorsque la mesure probatoire refusée est inapte à établir le fait à prouver, lorsque ce fait est sans pertinence ou lorsque, sur la base d'une appréciation non arbitraire des preuves dont elle dispose déjà, l'autorité parvient à la conclusion que les faits pertinents sont établis et que le résultat, même favorable au requérant, de la mesure probatoire sollicitée ne pourrait pas modifier sa conviction (<ref-ruling> consid. 6.3.1 p. 299; <ref-ruling> consid. 5.3 p. 236 s.; <ref-ruling> consid. 5.3 p. 148; arrêt 2C_974/2018 du 4 décembre 2018 consid. 3.1). En particulier, l'autorité de jugement peut renoncer à faire citer des témoins, qu'ils soient à charge ou à décharge, si, dans le cadre d'une appréciation anticipée des preuves, elle peut dénier à ces témoignages une valeur probante décisive pour le jugement (<ref-ruling> consid. 6c/cc p. 135 et 6c/dd p. 135 s.; <ref-ruling> consid. 5b p. 285; arrêt 6B_1368/2016 du 15 novembre 2017 consid. 8.1). Le refus d'une mesure probatoire par appréciation anticipée des preuves ne peut être remis en cause devant le Tribunal fédéral qu'en invoquant l'arbitraire (art. 9 Cst.) de manière claire et détaillée (<ref-law>; cf. arrêts 2C_974/2018 du 4 décembre 2018 consid. 3.1; 2C_124/2016 du 31 janvier 2017 consid. 4.1 et les références citées).
3.3. La juridiction cantonale a retenu que les auditions de témoins requises par les parties n'apparaissaient pas nécessaires, dès lors que les déclarations de ces dernières et leurs écritures ainsi que les pièces au dossier comprenaient les éléments pertinents lui permettant de se prononcer en toute connaissance de cause.
Par cette formulation toute générale, la cour cantonale n'explique pas, concrètement, en quoi les témoignages requis ne pouvaient pas avoir d'incidence sur l'issue de litige. Lors de l'audience d'instruction du 29 mars 2017, le recourant a notamment contesté les reproches qui lui étaient adressés par les représentants de la commune. On ne peut donc pas dire que les déclarations - contradictoires à mains égards - des parties, pas plus d'ailleurs que leurs écritures, permettaient de se prononcer en connaissance de cause. Par ailleurs, la juridiction cantonale ne précise pas en quoi les pièces du dossier suffisaient pour départager les versions opposées des parties.
Comme elle le précise dans sa réponse au recours, la commune intimée - qui émet d'ailleurs des doutes sur le bien-fondé des motifs invoqués par la juridiction cantonale à l'appui de son refus - ne s'est pas opposée aux témoignages proposés. Elle a elle-même aussi sollicité l'audition de témoins et maintenu sa demande (voir notamment le procès-verbal de l'audience du 29 mars 2017, p. 8), ce qui tend à mettre en évidence la difficulté pour elle, en présence de déclarations opposées, d'établir les reproches allégués. Enfin, le jugement attaqué relève que la commune, "aux termes de ses dernières écritures", a clarifié les motifs du licenciement, en ce sens qu'elle a précisé que les difficultés rencontrées par le recourant avec plusieurs instances de la commune en lien avec C._ n'étaient pas le motif de son licenciement. Ce motif résidait bien plutôt dans l'inaptitude de l'employé à remplir les exigences de son poste ainsi que dans son comportement. Comme le fait valoir le recourant, cette clarification de la part de la commune, intervenue après coup, était aussi un motif qui pouvait justifier l'audition de témoins sur les motifs de son licenciement.
Dans ces conditions, on doit admettre que la juridiction cantonale a procédé de façon arbitraire à une appréciation anticipée des preuves et violé le droit d'être entendu du recourant. Il convient, en conséquence, de renvoyer la cause à l'autorité précédente pour qu'elle donne suite à la requête d'audition des deux témoins requise par le recourant et statue à nouveau.
4.
Il résulte de ce qui précède que le recours doit être admis et le jugement entrepris annulé, sans qu'il soit nécessaire d'examiner les autres griefs de fond soulevés par le recourant.
5.
Contrairement à ce que voudrait l'intimée, il n'y a pas lieu de déroger à la règle générale selon laquelle les frais et dépens sont en principe mis à la charge de la partie qui succombe. On ne se trouve pas, en l'espèce, dans une situation extraordinaire qui justifierait de mettre les frais à la charge du canton (cf. BERNARD CORBOZ, in Commentaire de la LTF, 2 e éd. 2014, n° 20 ad <ref-law>; pour des cas semblables, voir arrêt 8C_528/2017 du 19 décembre 2017 consid. 3 et les références citées). Par conséquent, l'intimée supportera les frais judiciaires (<ref-law>) et versera au recourant une indemnité de dépens (<ref-law>). La demande d'assistance judiciaire du recourant est dès lors sans objet.

Par ces motifs, le Tribunal fédéral prononce :
1.
Le recours est admis. Le jugement attaqué est annulé et la cause renvoyée à l'autorité précédente pour nouvelle décision.
2.
La demande d'assistance judiciaire est sans objet.
3.
Les frais judiciaires, arrêtés à 1'500 fr., sont mis à la charge de la commune B._.
4.
La commune B._ versera au recourant une indemnité de 2'800 fr. à titre de dépens pour la procédure devant le Tribunal fédéral.
5.
Le présent arrêt est communiqué aux parties et à la Cour de justice de la République et canton de Genève, Chambre administrative.
Lucerne, le 17 décembre 2018
Au nom de la Ire Cour de droit social
du Tribunal fédéral suisse
Le Président : Maillard
La Greffière : Fretz Perrin