Add email template for direct reminder about nomination deadline
This new template can be generated for single project, it will have list of all contributors to the project as "TO" list. It is intended to be send before end of the nomination period to the contributors of the projects without PTL candidates proposed. Change-Id: Ie96281207c68852f4a6faea07317a400ad59dd93
This commit is contained in:
parent
2647c469cc
commit
a1eea1fb3a
@ -97,6 +97,12 @@ A couple of days before the candidacy submission ends:
|
||||
|
||||
* ``tox -e venv -- template-emails nominations_last_days``
|
||||
|
||||
* Optionally send direct *PTL nominations Last Days* email to the members of the
|
||||
teams with no PTL candidates proposed:
|
||||
|
||||
* ``tox -evenv -- template-emails nominations_direct_reminder -p
|
||||
<project_name> -o <owners_dir>``
|
||||
|
||||
When PTL Candidacy submission ends:
|
||||
|
||||
* Send *PTL Nominations End* email
|
||||
|
@ -19,7 +19,8 @@ time_frame = "%(start_str)s - %(end_str)s" % (conf['timeframe'])
|
||||
start_release, _, end_release = conf['timeframe']['name'].partition('-')
|
||||
|
||||
template_names = ['election_season', 'nominations_kickoff',
|
||||
'nominations_last_days', 'end_nominations',
|
||||
'nominations_last_days', 'nominations_direct_reminder',
|
||||
'end_nominations',
|
||||
'voting_optin_civs', 'voting_kickoff', 'voting_last_days']
|
||||
fmt_args = dict(
|
||||
email_deadline=conf['timeframe']['email_deadline'],
|
||||
@ -68,10 +69,49 @@ if election_type in ['ptl', 'combined']:
|
||||
|
||||
|
||||
def main():
|
||||
timeframe_start_date = conf['timeframe']['start'].strftime('%Y-%m-%d')
|
||||
timeframe_end_date = conf['timeframe']['end'].strftime('%Y-%m-%d')
|
||||
parser = argparse.ArgumentParser('Tool to generate form emails')
|
||||
parser.add_argument('template', choices=template_names)
|
||||
parser.add_argument('-p', '--project-name', required=False,
|
||||
help="Specify name of the project for which template "
|
||||
"will be generated. Required only for the "
|
||||
"'nominations_direct_reminder' template")
|
||||
parser.add_argument('-o', '--owners-dir', required=False,
|
||||
help="Path to the owners outdir. "
|
||||
"It can be generated with: "
|
||||
"'tox -e venv -- owners -a %s -b %s "
|
||||
"-o <owners_dir>'" % (
|
||||
timeframe_start_date, timeframe_end_date))
|
||||
|
||||
args = parser.parse_args()
|
||||
|
||||
if args.template == 'nominations_direct_reminder':
|
||||
if not args.project_name:
|
||||
print("Project name is required for the "
|
||||
"'nominations_direct_reminder' template to be generated",
|
||||
file=sys.stderr)
|
||||
return 1
|
||||
if not args.owners_dir:
|
||||
print("Please provide path to the owners directory. "
|
||||
"It can be generated with command: "
|
||||
"tox -e venv -- owners -a %s -b %s "
|
||||
"-o <owners_dir>" % (timeframe_start_date,
|
||||
timeframe_end_date),
|
||||
file=sys.stderr)
|
||||
return 1
|
||||
project_owners_file = "%s/%s.txt" % (
|
||||
args.owners_dir, args.project_name.lower())
|
||||
contributors = ""
|
||||
with open(project_owners_file) as f:
|
||||
contributors = ", ".join([
|
||||
email.strip() for email in f.readlines()])
|
||||
|
||||
fmt_args.update(dict(
|
||||
project_name=args.project_name.title(),
|
||||
contributors=contributors
|
||||
))
|
||||
|
||||
func_name = ('%(election_type)s_%(template)s' %
|
||||
(dict(election_type=conf['election_type'],
|
||||
template=args.template)))
|
||||
|
@ -0,0 +1,27 @@
|
||||
BCC: {{ contributors }}
|
||||
Subject: OpenStack {{ project_name }} PTL {{ release }} cycle Election Nominations Last Days
|
||||
|
||||
You are OpenStack {{ project_name }} contributor. This project still does not
|
||||
have any candidates for PTL.
|
||||
|
||||
This is a reminder that we are in the last days for declaring PTL candidacies.
|
||||
Nominations are open until {{ end_nominations }}.
|
||||
|
||||
If you want to stand for election, don't delay, follow the instructions at [1]
|
||||
to make sure the community knows your intentions.
|
||||
If you don't want to stand for election, maybe you can remind other members of
|
||||
the {{ project_name }} team about the nomination deadline.
|
||||
|
||||
If you or someone from the {{ project_name }} team already proposed their
|
||||
candidacy, please make sure that nomination(s) has been submitted to the
|
||||
openstack/election repository and approved by election officials.
|
||||
|
||||
If there will not be any candidate for the PTL for the
|
||||
{{ project_name }}, when the nomination deadline ends, it will be deemed
|
||||
leaderless.
|
||||
In this case the TC will oversee PTL selection as described by [2].
|
||||
|
||||
Thank you,
|
||||
|
||||
[1] https://governance.openstack.org/election/#how-to-submit-a-candidacy
|
||||
[2] {{ leaderless_url }}
|
@ -0,0 +1,27 @@
|
||||
To: {{ contributors }}
|
||||
Subject: OpenStack {{ project_name }} PTL {{ release }} cycle Election Nominations Last Days
|
||||
|
||||
You are OpenStack {{ project_name }} contributor. This project still don't have
|
||||
any candidates for PTL.
|
||||
|
||||
This is a reminder that we are in the last hours for declaring PTL candidacies.
|
||||
Nominations are open until {{ end_nominations }}.
|
||||
|
||||
If you want to stand for election, don't delay, follow the instructions at [1]
|
||||
to make sure the community knows your intentions.
|
||||
If you don't want to stand for election, maybe You can remind other members of
|
||||
the {{ project_name }} team about the nomination deadline.
|
||||
|
||||
If you or someone from the {{ project_name }} team already proposed
|
||||
candidacy, please make sure that nomination(s) has been submitted to the
|
||||
openstack/election repository and approved by election officials.
|
||||
|
||||
In case if there will be no any candidate for the PTL for the
|
||||
{{ project_name }}, with approximately 2 days left, it will be deemed
|
||||
leaderless.
|
||||
In this case the TC will oversee PTL selection as described by [2].
|
||||
|
||||
Thank you,
|
||||
|
||||
[1] https://governance.openstack.org/election/#how-to-submit-a-candidacy
|
||||
[2] {{ leaderless_url }}
|
Loading…
Reference in New Issue
Block a user