how to best report "changed" for a group of tasks

I wonder if there is a way to report “changed” for a group of tasks…

For example, I want to have a play like this:

  • include: sub-play1.yml

  • include: sub-play2.yml
    “only when something changed in sub-play1”

Or, a play like this:

  • hosts: group1
    tasks:

  • t1

  • t2

  • hosts: group2
    tasks: …
    “only when something changed in either t1 or t2 of the previous tasks”

Maybe I can achieve this by getting access to the internal counter of “changed”? Or maybe there is a better way to do this? Thanks…

Are you saying you might to see the change report on a role-by-role basis?

This could be done with a custom callback plugin, but might take a bit of work.

Yeah, role-by-role is good enough.

Is there a link to such callback concept? Thanks…