Fix webhook issues, make repo URLs matched case insensitive
This commit is contained in:
parent
d7977dec84
commit
7f650a619e
|
@ -90,9 +90,9 @@ def webhook():
|
||||||
|
|
||||||
# Get package
|
# Get package
|
||||||
github_url = "github.com/" + json["repository"]["full_name"]
|
github_url = "github.com/" + json["repository"]["full_name"]
|
||||||
package = Package.query.filter(Package.repo.like("%{}%".format(github_url))).first()
|
package = Package.query.filter(Package.repo.ilike("%{}%".format(github_url))).first()
|
||||||
if package is None:
|
if package is None:
|
||||||
return error(400, "Could not find package, did you set the VCS repo in CDB correctly?")
|
return error(400, "Could not find package, did you set the VCS repo in CDB correctly? Expected {}".format(github_url))
|
||||||
|
|
||||||
# Get all tokens for package
|
# Get all tokens for package
|
||||||
tokens_query = APIToken.query.filter(or_(APIToken.package==package,
|
tokens_query = APIToken.query.filter(or_(APIToken.package==package,
|
||||||
|
|
|
@ -30,9 +30,9 @@ def webhook():
|
||||||
|
|
||||||
# Get package
|
# Get package
|
||||||
gitlab_url = "gitlab.com/{}/{}".format(json["project"]["namespace"], json["project"]["name"])
|
gitlab_url = "gitlab.com/{}/{}".format(json["project"]["namespace"], json["project"]["name"])
|
||||||
package = Package.query.filter(Package.repo.like("%{}%".format(gitlab_url))).first()
|
package = Package.query.filter(Package.repo.ilike("%{}%".format(gitlab_url))).first()
|
||||||
if package is None:
|
if package is None:
|
||||||
return error(400, "Unknown package")
|
return error(400, "Could not find package, did you set the VCS repo in CDB correctly? Expected {}".format(gitlab_url))
|
||||||
|
|
||||||
# Get all tokens for package
|
# Get all tokens for package
|
||||||
secret = request.headers.get("X-Gitlab-Token")
|
secret = request.headers.get("X-Gitlab-Token")
|
||||||
|
|
|
@ -36,9 +36,9 @@ The process is as follows:
|
||||||
|
|
||||||
### GitHub (manual)
|
### GitHub (manual)
|
||||||
|
|
||||||
1. Create an API Token by visiting your profile and clicking "API Tokens: Manage".
|
1. Create a ContentDB API Token by visiting your profile and clicking "API Tokens: Manage".
|
||||||
2. Copy the access token that was generated.
|
2. Copy the access token that was generated.
|
||||||
3. Go to the repository's settings > Webhooks > Add Webhook.
|
3. Go to the GitLab repository's settings > Webhooks > Add Webhook.
|
||||||
4. Set the payload URL to `https://content.minetest.net/github/webhook/`
|
4. Set the payload URL to `https://content.minetest.net/github/webhook/`
|
||||||
5. Set the content type to JSON.
|
5. Set the content type to JSON.
|
||||||
6. Set the secret to the access token that you copied.
|
6. Set the secret to the access token that you copied.
|
||||||
|
@ -46,18 +46,20 @@ The process is as follows:
|
||||||
* If you want a rolling release, choose "just the push event".
|
* If you want a rolling release, choose "just the push event".
|
||||||
* Or if you want a stable release cycle based on tags,
|
* 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.
|
||||||
|
8. Create.
|
||||||
|
|
||||||
### GitLab (manual)
|
### GitLab (manual)
|
||||||
|
|
||||||
1. Create an API Token by visiting your profile and clicking "API Tokens: Manage".
|
1. Create a ContentDB API Token by visiting your profile and clicking "API Tokens: Manage".
|
||||||
2. Copy the access token that was generated.
|
2. Copy the access token that was generated.
|
||||||
3. Go to the repository's settings > Integrations.
|
3. Go to the GitLab repository's settings > Webhooks.
|
||||||
4. Set the URL to `https://content.minetest.net/gitlab/webhook/`
|
4. Set the URL to `https://content.minetest.net/gitlab/webhook/`
|
||||||
6. Set the secret token to the access token that you copied.
|
6. Set the secret token to the ContentDB access token that you copied.
|
||||||
7. Set the events
|
7. Set the events
|
||||||
* If you want a rolling release, choose "Push events".
|
* If you want a rolling release, choose "Push events".
|
||||||
* Or if you want a stable release cycle based on tags,
|
* Or if you want a stable release cycle based on tags,
|
||||||
choose "Tag push events".
|
choose "Tag push events".
|
||||||
|
8. Add webhook.
|
||||||
|
|
||||||
## Configuring
|
## Configuring
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue