On 13 January 2015, in the winter transfer window, Avdijaj went on an 18-month loan deal at Austrian side Sturm Graz. He made his debut for Sturm Graz in a friendly match against Kalsdorf and scored a goal.
2014–15 season
On 21 February 2015. He made his professional debut in a 3–3 home draw against Wiener Neustadt. He came in as a substitute in the 81st minute in place of Bright Edomwonyi and just 2 minutes later, Avdijaj made an assist for the temporary advantage goal 3–2 scored by Martin Ehrenreich. In his second ever match for the senior squad, Avdijaj played only as a substitute against Rapid Wien, coming on in the 73rd minute in place of Daniel Offenbacher for the 1–0 loss. Then in his third match, Avdijaj played for the first time in the starting line up against Austria Wien on 3 March 2015 where he substituted off in the 64th minute for exactly his rival Bright Edomwonyi, whose place Avdijaj had previously taken in his debut. He scored his first goal for Sturm Graz in his 7th match on 21 March 2015 against Admira, playing as a starter and scoring the opening goal in the 28th minute in the 3–1 victory. After the 26th game week Avdijaj established himself in the starting line up playing as a side midfielder mostly on the left side, attacking midfielder and also as a second striker. He ended the season with total of 17 appearances, 12 as a starter including 8 full 90-minute matches where he managed to score in total 6 goals and provided 3 assists. Sturm Graz finished 4th in the league table to secure a place in the UEFA Champions League third qualifying round.
2015–16 season
On 18 July 2015, Avdijaj started the 2015–16 with an impressive performance against Hartberg in the 2015–16 Austrian Cup first round by scoring one goal, providing one assist and winning a penalty to help his side to take an away 0–6 victory.
On 15 January 2018. Avdijaj joined Eredivisie side Roda JC, on a 5-month loan. On 20 January 2018, he made his debut in a 1–1 home draw against Twente after being named in the starting line-up.
On 16 August 2018. Avdijaj joined Eredivisie side Willem II, on a year-long contract with the option of a second year. On 17 August 2018, he made his debut in a 0–1 away minimal win against Groningen after coming on as a substitute at 64th minute in place of James McGarry. On 18 March 2019, after having failed to get fit and not playing for the club for multiple months along with off the pitch issues, Willem II decided to dissolve Avdijaj's contract with immediate effect.
On 8 July 2019, Avdijaj joined Süper Lig side Trabzonspor after agreeing to a one-year deal with the option of continuation for three years. On 8 August 2019, he made his debut with Trabzonspor in the third round of 2019–20 UEFA Europa League against the Czech side Sparta Prague after coming on as a substitute at 76th minute in place of Abdülkadir Ömür. On 17 January 2020, his contract was terminated by mutual consent.
Heart of Midlothian
On 20 January 2020, Avdijaj joined Scottish Premiership side Heart of Midlothian, on a six-month contract. After signing for Hearts, Avdijaj said "There is no country, no city in the world where I don't score . I score everywhere." Two days later, he made his debut for Hearts in a goalless draw against Ross County.
International career
On 11 October 2014, Avdijaj announced to have refused the Germany U19 as his intention was to represent Albania, where he said: "It's better to have behind my own people, rather than foreigners" and he needed just an Albanian citizenship for him to be part of the national team managed by Gianni De Biasi. In November 2014, the coach Gianni De Biasi declared that he spoke with his father and the Schalke 04 coach Roberto Di Matteo for the situation of Avdijaj if he would play for the first team as a professional, a condition of De Biasi to invite him in the national team. In December 2014. Donis' father confirmed the family's desire that the footballer represents Albania in the future. In March 2015. Avdijaj told Albanian media that he has personally met with De Biasi and is looking forward to a call-up.
On 10 November 2016, two days before a match with Turkey, he joined with the Kosovo in Antalya, but in the match with Turkey, could not play because that was not allowed by FIFA. On 20 March 2017, he received the call-up from Kosovo in a match against Iceland. On 24 March 2017, FIFA accepted Avdijaj's request to play for Kosovo and on the same day he made his debut in a match of the 2018 FIFA World Cup qualifiers against Iceland.