The goal is to make explicit who coded a deployed feature so that people (outside the dev team) know who to contact in case of complaints or praises.



Slack deploy notification with authors faces

This technique requires to have facemojis named after each developer (4 first letters of firstnames). It relies on a develop.md file that contains the changelog of the upcoming release, like so :

Higher level release description ### Added - item 1 ### Fixed - item 2 - item 3

We parse the output of git blame on that file to prepend a developer facemoji for each item.

For example, imagine I’ve coded item 1 feature and added it to the develop.md , then line - item 1 becomes :fabr: item 1 .

Code is straight-forward :

def get_changelog ( changelog_path ): """Extract release synopsis and changelog from given file. """ blamelog = subprocess . check_output ( 'git blame %s' % changelog_path ) synopsis = [] changelog = [] h3_found = False for blameline in blamelog . split ( '

' ): line = '' . join ( blameline . split ( ') ' )[ 1 :]) if line . startswith ( '###' ): h3_found = True if not h3_found : synopsis . append ( line ) else : if line . startswith ( '- ' ): author = blameline . split ()[ 1 ][ 1 : 5 ]. lower () line = ':%s: %s' % ( author . lower (), line [ 2 :]) changelog . append ( line ) return synopsis , changelog

We’re done, you can craft a message with the synopsis and changelog and post a slack notification using requests.