diff --git a/pagure/lib/__init__.py b/pagure/lib/__init__.py index 5a3cd23..3eb7203 100644 --- a/pagure/lib/__init__.py +++ b/pagure/lib/__init__.py @@ -5064,7 +5064,7 @@ def link_pr_issue(session, issue, request): :arg session: The SQLAlchemy session to use :type session: sqlalchemy.orm.session.Session - :arg issue: The issue mentionned in the commits of the pull-requests to + :arg issue: The issue mentioned in the commits of the pull-requests to be associated with :type issue: pagure.lib.model.Issue :arg request: A pull-request to associate the specified issue with @@ -5072,12 +5072,11 @@ def link_pr_issue(session, issue, request): ''' - associated_issue = [iss.uid for iss in request.related_issues] - if issue.uid not in associated_issue: + associated_issues = [iss.uid for iss in request.related_issues] + if issue.uid not in associated_issues: obj = model.PrToIssue( pull_request_uid=request.uid, issue_uid=issue.uid ) session.add(obj) session.flush() - session.commit() diff --git a/pagure/lib/tasks.py b/pagure/lib/tasks.py index 61bfed0..ce97237 100644 --- a/pagure/lib/tasks.py +++ b/pagure/lib/tasks.py @@ -918,3 +918,9 @@ def link_pr_to_ticket(self, session, pr_uid): 'LINK_PR_TO_TICKET: Link ticket %s to PRs %s' % ( issue, request)) pagure.lib.link_pr_issue(session, issue, request) + + try: + session.commit() + except SQLAlchemyError: + _log.exception('Could not link ticket to PR :(') + session.rollback()