Help:Toolforge/My first Pywikibot tool
|This page is currently a draft.|
More information and discussion about changes to this draft on the talk page.
Caution: This page may contain inaccuracies. It is currently being edited and redesigned for better readability. For further information, please see: https://phabricator.wikimedia.org/T134495
Request access to Toolforge
Before creating your tool, you need to create a Wikimedia developer account and request access Toolforge:
- Create a Wikimedia developer account from the Toolforge admin console. This account is used for most developer activities including editing this wiki, accessing code repositories, and accessing the bug tracking system. Take note of your LDAP username and your UNIX shell username:
- Fill out an access request to join the Toolforge project. You will receive a reply on your Wikitech talk page.
Accessing Toolforge for the first time
Once your request to access Toolforge is approved, you can set up ssh access to Toolforge severs:
Generate a new SSH key for your account
- From a Linux terminal, you can generate a new ssh key using the
ssh-keygen -t rsa -C "firstname.lastname@example.org"
Select a passphrase for your ssh key and press Enter. The command will create two files in your
~/.ssh/id_rsa : identification (private) key ~/.ssh/id_rsa.pub : public key
- Add your public key to your Wikimedia developer account in the SSH Keys page of the Toolforge admin console. Copy the contents of
~/.ssh/id_rsa.pubinto the New SSH Key field and click Add SSH key.
Log into Toolforge with ssh
After you add your public key to your Wikimedia developer account, you can use your private key to log into the Toolforge servers. From a Linux command line, use
ssh to log in with your UNIX shell username:
ssh -i ~/.ssh/id_rsa <unix shell username>@login.tools.wmflabs.org
Create your Pywikibot Tool account
In addition to your own Toolforge account, you also need to create a Tool acoount for your Pywikibot tool.
- Navigate to the Create Tool Account page in the Toolforge admin console.
- Enter a Unique Tool Name for your tool account.
Do not prefix your tool name with
tools.as this prefix will cause errors.
Note: If you only recently received access to the tools project, you may get an error about appropriate credentials. Log out and back in to fix the issue.
Within a minute or two, Toolforge creates the Tool account and grants you access. If you were logged in through ssh when you created the Tool account, you must log off and log in again
Access your Pywikibot tool
After you create your Pywikibot's tool account, you can log into your tool project with SSH.
$ ssh <unix shell username>@login.tools.wmflabs.org
From the command line, switch to your tool account:
You should see the command prompt change to:
Now, you can install Pywikibot.
Using your tool account, do the following:
- Use git to download Pywikibot:
git clone --recursive --branch stable https://gerrit.wikimedia.org/r/pywikibot/core.git pywikibot-core cd pywikibot-core
Set up your bot for selected wikis by running:
Choose a license
Pywikibot comes with an MIT LICENSE file. Make sure to choose a license for your tool early on. Also see, Help:Tool_Labs/Developing#Licensing_your_source_code
Set up a webpage for your tool
You can add webpage for your tool under http://tools.wmflabs.org/TOOLNAME. For example, http://tools.wmflabs.org/my-first-pywikibot-tool. Once you set up a webpage for your tool, the Tool list will link to it.
To set up webpage for you tool:
- Log in with your Tool account.
- Create a ~/public_html directory.
- Create ~/public_html/index.html.
- Start the web service:
$ webservice start
Communication and support
We communicate and provide support through several primary channels. Please reach out with questions and to join the conversation.
|Phabricator Workboard||#Cloud-Services||Task tracking and bug reporting|
|IRC Channel||#wikimedia-cloud connect||General discussion and support|
|Mailing List||cloud@||Information about ongoing initiatives, general discussion and support|
|Announcement emails||cloud-announce@||Information about critical changes (all messages mirrored to cloud@)|
|News wiki page||News||Information about major near-term plans|
|Blog||Clouds & Unicorns||Learning more details about some of our work|