Skip to content

Latest commit

 

History

History
108 lines (60 loc) · 3.38 KB

README.md

File metadata and controls

108 lines (60 loc) · 3.38 KB

J!German Bot

Description

This repo holds the code powering automation for the JGerman Team. As of today it has the following feature: Autocreate issues to the joomlagerman/joomla repo when an language changing PR at the joomla/joomla-cms repo got merged (using @jgerman-bot)

Initial Setup

  • cd /repo/path/jgerman-bot
  • git clone [email protected]:joomlagerman/jgerman-bot.git .
  • cp includes/constants.dist.php includes/constants.php
  • nano includes/constants.php (Add the access data)
  • Setup an daily cronjob on this script: php cli/jgerman-github-bot.php

Update Setup

  • cd /repo/path/jgerman-bot
  • git reset --hard HEAD && git pull origin master

Configuration

The Configuration is stored within the includes/constants.php. For an initial setup please see the includes/constants.dist.php file.

GitHub Access Data

GITHUB_USERNAME

Holds user username that is used to connect to the GitHub API and who is used to create PRs

GITHUB_AUTHTOKEN

Holds the authtoken of the username to connect to the GitHub API

GitHub Bot Configuration

GITHUB_SOURCE_OWNER

Holds the org name of the repo which should be watched by the bot

GITHUB_SOURCE_REPO

Holds the repository which should be watched by the bot

GITHUB_SOURCE_WATCHLABEL

Holds the label which should be watched within the mentiond source repo

GITHUB_TRANSLATION_OWNER

Holds the org name of the repo which the bot should be posting its issues at

GITHUB_TRANSLATION_REPO

Holds the repo where the bot should be posing its issues

GITHUB_TRANSLATION_LABEL

Holds the label that should be set for the issues created by the bot

GITHUB_TRANSLATION_ASSIGMENTS

Holds an array of github usernames that should be assigned to the issues that the bot creates

GITHUB_TRANSLATION_TEMPLATE_BODY

Holds a template of the body to be posted by the bot. This string allows the following codes which will be replaced before the issue is posted:

  • [sourcePullRequestUrl] => The URL of the original PR against the source repo
  • [sourcePullDiff] => The full diff of the original PR via an <details> tab

Notifyer Config

NOTIFYER_SLACK_ENABED

True or False whether the Slack notification should be anabled

NOTIFYER_SLACK_WEBHOOKURL

The webhook URL pointing to the slack channel where the message shoud be send to

NOTIFYER_SLACK_USERNAME

THe Slack username the message should be send as

NOTIFYER_MATTERMOST_ENABED

True or False whether the Slack notification should be anabled

NOTIFYER_MATTERMOST_WEBHOOKURL

The webhook URL pointing to the mattermost channel where the message should be send to

NOTIFYER_TELEGRAM_ENABED

True or False whether the Slack notification should be anabled

NOTIFYER_TELEGRAM_BOTTOKEN

The Telegram Channel Bot Token as which the message shoudl be send

NOTIFYER_TELEGRAM_CHATID

The Telegram ChatID the message should be send to

NOTIFYER_GITHUB_ISSUE_MESSAGE_TEMPLATE

The template of the message send to the channels as notification that a new issue has been created. This string allows the following codes which will be replaced before the message is send:

  • {title} => The title of the issue created by the bot
  • {issueUrl} => The issue URL created in the translation repo.