как встроить текст в ссылку - PullRequest
0 голосов
/ 05 января 2019

Я пытаюсь встроить ссылку с идентификатором проблемы от JIRA.

Я хочу, чтобы идентификатор проблемы JIRA был встроенной ссылкой на JIRA.

class ComplainceServer():

    def __init__(self, jira_server, username, password, encoding='utf-8'):
        if jira_server is None:
            error('No server provided.')

        #print(jira_server)
        self.jira_server = jira_server
        self.username = username
        self.password = password
        self.encoding = encoding

    def checkComplaince(self, appid, toAddress):

        query = "/rest/api/2/search?jql=issuetype = \"Application Security\" AND \"Prod Due Date\" < now()
        request = self._createRequest()
        response = request.get(query, contentType='application/json')
        # Parse result
        if response.status == 200 and action == "warn":
            data = Json.loads(response.response)
            print "#### Issues found"
            issues = {}
            msg = "WARNING: The below tickets are non-complaint in fortify, please fix them or raise exception.\n"
            issue1 = data['issues'][0]['key']
            for item in data['issues']:
                issue = item['key']
                issues[issue] = item['fields']['summary']
                print u"* {0} - {1}".format(self._link(issue), item['fields']['summary'])
                print "\n"
                data = u" {0}  -  {1}".format(self._link(issue), item['fields']['summary'])

                msg += '\n'+ data
            SOCKET_TIMEOUT = 30000 # 30s
            email = SimpleEmail()
            email.setHostName('smtp.com')
            email.setSmtpPort(25)
            email.setSocketConnectionTimeout(SOCKET_TIMEOUT);
            email.setSocketTimeout(SOCKET_TIMEOUT);

            email.setFrom('R@group.com')
            for toAddress in toAddress.split(','):
                email.addTo(toAddress)
            email.setSubject('complaince report')
            email.addHeader('X-Priority', '1')
            email.setMsg(str(msg))
            email.send()

    def _createRequest(self):
        return HttpRequest(self.jira_server, self.username, self.password)

    def _link(self, issue):
        return '[{0}]({1}/browse/{0})'.format(issue, self.jira_server['url'])

Это вызывающая функция. APPid и toAddress будут передаваться из другого интерфейса.

from Complaince import ComplainceServer

jira = ComplainceServer(jiraServer, username, password)

issues = jira.checkComplaince(appid, toAddress)

Я хочу, чтобы IssueId было встроенной ссылкой.

В настоящее время электронное письмо отправляется следующим образом:

MT-4353 (https://check.com/login/browse/MT-4353) - Сайт Sc: DM isg_cq5

но я хочу [MT-4353] в качестве гиперссылки на URL https://check.com/login/browse/MT-4353

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...