summaryrefslogtreecommitdiffstats
path: root/scripts/jira/jira-bug-closer/config
diff options
context:
space:
mode:
authorFrederik Gladhorn <frederik.gladhorn@qt.io>2019-03-26 09:27:36 +0100
committerFrederik Gladhorn <frederik.gladhorn@qt.io>2019-03-29 11:46:56 +0000
commitba041bc942056d52804acd5011ae5fe7877be045 (patch)
treef1a4540219f5287f395b6d9d1e9eb6e1695048ba /scripts/jira/jira-bug-closer/config
parentdc4cbd9fb654c1c0e06f7ea3183602fa714c4cb6 (diff)
Initial version of the JIRA-Gerrit bot
This bot listens to Gerrit ssh events and closes JIRA issues when the commit message contains a Fixes: QTBUG-### line. Change-Id: I6d68b69e624143e2aae84ad0b172583d3855703d Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@qt.io>
Diffstat (limited to 'scripts/jira/jira-bug-closer/config')
-rw-r--r--scripts/jira/jira-bug-closer/config/__init__.py3
-rw-r--r--scripts/jira/jira-bug-closer/config/config.py70
2 files changed, 73 insertions, 0 deletions
diff --git a/scripts/jira/jira-bug-closer/config/__init__.py b/scripts/jira/jira-bug-closer/config/__init__.py
new file mode 100644
index 00000000..a286bbb1
--- /dev/null
+++ b/scripts/jira/jira-bug-closer/config/__init__.py
@@ -0,0 +1,3 @@
+__all__ = ["Config"]
+
+from .config import Config
diff --git a/scripts/jira/jira-bug-closer/config/config.py b/scripts/jira/jira-bug-closer/config/config.py
new file mode 100644
index 00000000..3446c9fc
--- /dev/null
+++ b/scripts/jira/jira-bug-closer/config/config.py
@@ -0,0 +1,70 @@
+#############################################################################
+##
+## Copyright (C) 2019 The Qt Company Ltd.
+## Contact: https://www.qt.io/licensing/
+##
+## This file is part of the Quality Assurance module of the Qt Toolkit.
+##
+## $QT_BEGIN_LICENSE:GPL-EXCEPT$
+## Commercial License Usage
+## Licensees holding valid commercial Qt licenses may use this file in
+## accordance with the commercial license agreement provided with the
+## Software or, alternatively, in accordance with the terms contained in
+## a written agreement between you and The Qt Company. For licensing terms
+## and conditions see https://www.qt.io/terms-conditions. For further
+## information use the contact form at https://www.qt.io/contact-us.
+##
+## GNU General Public License Usage
+## Alternatively, this file may be used under the terms of the GNU
+## General Public License version 3 as published by the Free Software
+## Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT
+## included in the packaging of this file. Please review the following
+## information to ensure the GNU General Public License requirements will
+## be met: https://www.gnu.org/licenses/gpl-3.0.html.
+##
+## $QT_END_LICENSE$
+##
+#############################################################################
+
+import os
+from typing import Dict
+from configparser import ConfigParser
+
+
+from logger import logger
+log = logger('config')
+
+
+class Config:
+ def __init__(self, section: str) -> None:
+ self.section = section
+ self.file_path = os.path.dirname(os.path.abspath(__file__))
+ config_path = os.path.abspath(os.path.join(self.file_path, "../config.ini"))
+ self.config = ConfigParser()
+ self.config.read(config_path)
+
+ @property
+ def jira_url(self) -> str:
+ return self.config[self.section]['jira_url']
+
+ def get_oauth_data(self) -> Dict[str, str]:
+ section = self.config[self.section]
+ cert_file = section['key_cert_file']
+ cert_path = os.path.abspath(os.path.join(self.file_path, "..", cert_file))
+ with open(cert_path, 'r') as key_cert_file:
+ key_cert_data = key_cert_file.read()
+
+ oauth_data = {
+ 'access_token': section['oauth_token'],
+ 'access_token_secret': section['oauth_token_secret'],
+ 'consumer_key': section['consumer_key'],
+ 'key_cert': key_cert_data
+ }
+ return oauth_data
+
+ @property
+ def add_comment_to_issues(self) -> bool:
+ try:
+ return self.config[self.section].getboolean('add_comment_to_issues')
+ except KeyError:
+ return False