@@ -0,0 +1,1112 @@
+import os.path%0Afrom urlobject import URLObject%0Afrom oauthlib.oauth1 import SIGNATURE_RSA%0Afrom flask_dance.consumer import OAuth1ConsumerBlueprint%0A%0A%0Adef make_jira_blueprint(consumer_key, rsa_key, base_url,%0A                        redirect_url=None, redirect_to=None,%0A                        login_url=None, authorized_url=None):%0A    if os.path.isfile(rsa_key):%0A        with open(rsa_key) as f:%0A            rsa_key = f.read()%0A    base_url = URLObject(base_url)%0A%0A    jira_bp = OAuth1ConsumerBlueprint(%22jira%22, __name__,%0A        client_key=consumer_key,%0A        rsa_key=rsa_key,%0A        signature_method=SIGNATURE_RSA,%0A        base_url=base_url,%0A        request_token_url=base_url.relative(%22plugins/servlet/oauth/request-token%22),%0A        access_token_url=base_url.relative(%22plugins/servlet/oauth/access-token%22),%0A        authorization_url=base_url.relative(%22plugins/servlet/oauth/authorize%22)%0A        redirect_url=redirect_url,%0A        redirect_to=redirect_to,%0A        login_url=login_url,%0A        authorized_url=authorized_url,%0A    )%0A    jira_bp.session.headers%5B%22Content-Type%22%5D = %22application/json%22%0A    return jira_bp%0A

Add contrib/jira.py