mirror of
https://github.com/tldr-pages/tldr.git
synced 2025-04-29 23:24:55 +02:00
Using tldr bot on a separate server
- Sending the PR id and message as a POST request. - The bot running on a separate server receives the message and posts the comment on the PR.
This commit is contained in:
parent
8125f34ee7
commit
f73955fd06
4 changed files with 42 additions and 43 deletions
|
@ -10,6 +10,9 @@ cache: false
|
||||||
after_success:
|
after_success:
|
||||||
- bash scripts/build.sh
|
- bash scripts/build.sh
|
||||||
|
|
||||||
|
after_failure:
|
||||||
|
- cat test_result | python scripts/send_to_bot.py
|
||||||
|
|
||||||
env:
|
env:
|
||||||
global:
|
global:
|
||||||
- secure: ewQMcFd3wH8IHOeGhIkBr2kAgadONmesv2KB+9bPRCZ5gvtFFwlkCMdPnQBR9Kd3GKC8r+EO0JNNFWOvrDjPYhEHi9Ab26Q/qodwfwne9YloKXT+C48Zrbrj8q7kb/FeMYPev+RMuM96j5E5QyqBVohGP7hC2bpU3mvAhQ2wBCE=
|
- secure: ewQMcFd3wH8IHOeGhIkBr2kAgadONmesv2KB+9bPRCZ5gvtFFwlkCMdPnQBR9Kd3GKC8r+EO0JNNFWOvrDjPYhEHi9Ab26Q/qodwfwne9YloKXT+C48Zrbrj8q7kb/FeMYPev+RMuM96j5E5QyqBVohGP7hC2bpU3mvAhQ2wBCE=
|
||||||
|
|
|
@ -12,7 +12,7 @@
|
||||||
"precommit": "npm test",
|
"precommit": "npm test",
|
||||||
"lint-markdown": "markdownlint pages/**/*.md",
|
"lint-markdown": "markdownlint pages/**/*.md",
|
||||||
"lint-tldr": "tldr-lint ./pages",
|
"lint-tldr": "tldr-lint ./pages",
|
||||||
"test": "markdownlint pages/ && tldr-lint ./pages",
|
"test": "bash -c 'markdownlint pages/ && tldr-lint ./pages 2>&1 | tee test_result; test ${PIPESTATUS[0]} -eq 0'",
|
||||||
"build-index": "node ./scripts/build-index.js > pages/index.json"
|
"build-index": "node ./scripts/build-index.js > pages/index.json"
|
||||||
},
|
},
|
||||||
"repository": "tldr-pages/tldr",
|
"repository": "tldr-pages/tldr",
|
||||||
|
|
|
@ -1,42 +0,0 @@
|
||||||
import json
|
|
||||||
import os
|
|
||||||
import sys
|
|
||||||
import urllib2
|
|
||||||
|
|
||||||
GITHUB_URL = 'https://api.github.com'
|
|
||||||
|
|
||||||
def post_comment(pr_id, repo_slug, comment_body, user_token):
|
|
||||||
# Constructing the url
|
|
||||||
url = '{api_url}/repos/{slug}/issues/{number}/comments'.format(
|
|
||||||
api_url=GITHUB_URL, slug=repo_slug, number=pr_id)
|
|
||||||
req = urllib2.Request(url=url,
|
|
||||||
data=json.dumps({'body': comment_body}))
|
|
||||||
req.add_header('Authorization', 'token ' + user_token)
|
|
||||||
# Making the request
|
|
||||||
f = urllib2.urlopen(req)
|
|
||||||
if f.getcode() != 201:
|
|
||||||
print f.read()
|
|
||||||
|
|
||||||
|
|
||||||
# Get the environment variables
|
|
||||||
PR_NUMBER = os.environ.get('TRAVIS_PULL_REQUEST')
|
|
||||||
REPO_SLUG = os.environ.get('TRAVIS_REPO_SLUG') # owner_name/repo_name
|
|
||||||
BOT_TOKEN = os.environ.get('TRAVIS_BOT_GITHUB_TOKEN')
|
|
||||||
BUILD_ID = os.environ.get('TRAVIS_BUILD_ID')
|
|
||||||
|
|
||||||
# Read the test result output from stdin
|
|
||||||
test_result = sys.stdin.read().strip()
|
|
||||||
# Populate the template text
|
|
||||||
comment = (
|
|
||||||
"The [build]"
|
|
||||||
"(https://travis-ci.org/tldr-pages/tldr/builds/{build_id})"
|
|
||||||
" for this PR has failed with the following message:"
|
|
||||||
"\n```\n"
|
|
||||||
"{comment_body}"
|
|
||||||
"\n```\n"
|
|
||||||
"Please fix the error(s) and push again."
|
|
||||||
).format(build_id=BUILD_ID, comment_body=test_result)
|
|
||||||
|
|
||||||
# If its a PR, post a comment on it
|
|
||||||
if PR_NUMBER != "false":
|
|
||||||
post_comment(PR_NUMBER, REPO_SLUG, comment, BOT_TOKEN)
|
|
38
scripts/send_to_bot.py
Normal file
38
scripts/send_to_bot.py
Normal file
|
@ -0,0 +1,38 @@
|
||||||
|
import json
|
||||||
|
import os
|
||||||
|
import sys
|
||||||
|
import urllib2
|
||||||
|
|
||||||
|
URL = 'https://tldr-bot.starbeamrainbowlabs.com/'
|
||||||
|
|
||||||
|
def post_comment(pr_id, comment_body):
|
||||||
|
# Constructing the url
|
||||||
|
req = urllib2.Request(URL,
|
||||||
|
json.dumps({'body': comment_body, 'pr_id': pr_id }),
|
||||||
|
{'Content-Type': 'application/json'})
|
||||||
|
# Making the request
|
||||||
|
f = urllib2.urlopen(req)
|
||||||
|
if f.getcode() != 200:
|
||||||
|
print f.read()
|
||||||
|
|
||||||
|
|
||||||
|
# Get the environment variables
|
||||||
|
PR_NUMBER = os.environ.get('TRAVIS_PULL_REQUEST')
|
||||||
|
BUILD_ID = os.environ.get('TRAVIS_BUILD_ID')
|
||||||
|
|
||||||
|
# Read the test result output from stdin
|
||||||
|
test_result = sys.stdin.read().strip()
|
||||||
|
# Populate the template text
|
||||||
|
comment = (
|
||||||
|
"The [build]"
|
||||||
|
"(https://travis-ci.org/tldr-pages/tldr/builds/{build_id})"
|
||||||
|
" for this PR has failed with the following message:"
|
||||||
|
"\n```\n"
|
||||||
|
"{comment_body}"
|
||||||
|
"\n```\n"
|
||||||
|
"Please fix the error(s) and push again."
|
||||||
|
).format(build_id=BUILD_ID, comment_body=test_result)
|
||||||
|
|
||||||
|
# If its a PR, post a comment on it
|
||||||
|
if PR_NUMBER != "false":
|
||||||
|
post_comment(PR_NUMBER, comment)
|
Loading…
Add table
Reference in a new issue