aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--app/blueprints/github/__init__.py8
-rw-r--r--app/flatpages/help/release_webhooks.md13
-rw-r--r--app/templates/github/setup_webhook.html6
-rw-r--r--app/templates/users/profile.html13
4 files changed, 32 insertions, 8 deletions
diff --git a/app/blueprints/github/__init__.py b/app/blueprints/github/__init__.py
index 1d160a2..7477238 100644
--- a/app/blueprints/github/__init__.py
+++ b/app/blueprints/github/__init__.py
@@ -18,7 +18,7 @@ from flask import Blueprint
bp = Blueprint("github", __name__)
-from flask import redirect, url_for, request, flash, abort, render_template, jsonify
+from flask import redirect, url_for, request, flash, abort, render_template, jsonify, current_app
from flask_user import current_user, login_required
from sqlalchemy import func
from flask_github import GitHub
@@ -35,6 +35,12 @@ from wtforms import SelectField, SubmitField
def start():
return github.authorize("", redirect_uri=abs_url_for("github.callback"))
+@bp.route("/github/view/")
+def view_permissions():
+ url = "https://github.com/settings/connections/applications/" + \
+ current_app.config["GITHUB_CLIENT_ID"]
+ return redirect(url)
+
@bp.route("/github/callback/")
@github.authorized_handler
def callback(oauth_token):
diff --git a/app/flatpages/help/release_webhooks.md b/app/flatpages/help/release_webhooks.md
index e9a9f81..2d751a5 100644
--- a/app/flatpages/help/release_webhooks.md
+++ b/app/flatpages/help/release_webhooks.md
@@ -23,19 +23,20 @@ The process is as follows:
## Setting up
-### Github (automatic)
+### GitHub (automatic)
-1. Go to your package page.
+1. Go to your package's page.
2. Make sure that the repository URL is set to a Github repository.
Only github.com is supported.
-3. Go to "Create a release", and click "Setup webhook" at the top of the page.
+3. Go to "Releases" > "+", and click "Setup webhook" at the top of the create release
+ page.
If you do not see this, either the repository isn't using Github or you do
not have permission to use webhook releases (ie: you're not a Trusted Member).
4. Grant ContentDB the ability to manage Webhooks.
-5. Set the event to either "New tag" or "Push". New tag is highlight recommended.
+5. Set the event to either "New tag or Github Release" (highly recommended) or "Push".
N.B.: GitHub uses tags to power GitHub Releases, meaning that creating a webhook
- on "new tag" will sync GitHub and ContentDB releases.
+ on "New tag" will sync GitHub and ContentDB releases.
### GitHub (manual)
@@ -48,7 +49,7 @@ The process is as follows:
7. Set the events
* If you want a rolling release, choose "just the push event".
* Or if you want a stable release cycle based on tags,
- choose "Let me select" > Branch or tag creation.
+ choose "Let me select" > Branch or tag creation.
### GitLab (manual)
diff --git a/app/templates/github/setup_webhook.html b/app/templates/github/setup_webhook.html
index d0012e2..d1a2bc6 100644
--- a/app/templates/github/setup_webhook.html
+++ b/app/templates/github/setup_webhook.html
@@ -20,4 +20,10 @@
{{ render_submit_field(form.submit) }}
</form>
+
+ <p class="mt-4">
+ You will need admin access to the repository.
+ When setting up hooks on an organisation,
+ <a href="{{ url_for('github.view_permissions') }}">make sure that you have granted access</a>.
+ </p>
{% endblock %}
diff --git a/app/templates/users/profile.html b/app/templates/users/profile.html
index d2f5baa..37ee5df 100644
--- a/app/templates/users/profile.html
+++ b/app/templates/users/profile.html
@@ -64,6 +64,7 @@
| <a href="{{ user.website_url }}" rel="nofollow">Website</a>
{% endif %}
+
{% if user == current_user %}
<br>
<small class="text-muted">
@@ -73,6 +74,16 @@
{% endif %}
</td>
</tr>
+
+ {% if user == current_user and user.github_username %}
+ <tr>
+ <td>Privacy:</td>
+ <td>
+ <a href="{{ url_for('github.view_permissions') }}">View ContentDB's GitHub Permissions</a>
+ </td>
+ </tr>
+ {% endif %}
+
{% if current_user.is_authenticated and current_user.rank.atLeast(current_user.rank.MODERATOR) %}
<tr>
<td>Admin</td>
@@ -115,7 +126,7 @@
</a>
{% endif %}
</td>
- </tr>
+ </tr>
<tr>
<td>Password:</td>
<td>