ADO-Git
ADO-Git shows git repositories from Azure DevOps directly in the wiki: browse the tree, view source, edit and commit a file, and run clone, pull and push through a proxy. The package is meant for readers who need to see source without an ADO licence of their own, for authors who show a repository on a wiki page, and for operators who connect repositories and set their visibility.
Getting started
Quickstart: make the first ADO repository visible — the shortest way to a first result, in three steps.
Create a connection → Mount the repository → Set the visibility → Show the repository on a page
{{wk:adogit>…}} markup on a page. This is the commonest reason for the impression that a mount does not work.
Common tasks
| What you want | For whom | Where you do it | Instructions |
|---|---|---|---|
| set up a connection to Azure DevOps | operators | do=wkdoado on a project page | Tutorial: connection |
| mount a repository | operators | Admin > ADO-Git Repo Mounts | Tutorial: mount |
set the visibility (private, readonly, public or team) | operators | the same screen, tier selector | Tutorial: visibility tier |
| show a repository on a page | authors | a wiki page in the project, markup {{wk:adogit>…}} | Tutorial: the page with the browser |
| open a repository that has no page of its own | readers | %do=wkdoadogit_repo&ns=<mount namespace>% | Reference: repository screen (German) |
| open a folder or a file | readers | the tree on the page | Tutorial: folder and file |
| show source code on a page | authors | markup {{source>ado:…}} | How to: show source code |
| edit a file and commit | editors | the button beside the file in the tree | How to: edit a file |
use clone, pull and push locally | developers | the address of the git proxy | How to: clone a repository |
| issue a personal git token | developers | do=wkdoadogit_tokens | How to clone: personal token |
| download a snapshot as a ZIP archive | readers from level 2 | the repository browser | Tutorial: folder and file |
| find the cause of an error | everyone | – | Diagnostics |
The flow at a glance
The path from a repository in Azure DevOps to a visible file in the wiki:
| Step | Where | What happens |
|---|---|---|
| 1 | do=wkdoado on a project page | The connection is created: key, server address and secret reference. Without it nothing can be read |
| 2 | Admin > ADO-Git Repo Mounts | The mount is created: the repository is bound to a wiki namespace |
| 3 | the same screen, tier selector | The visibility tier writes the permissions of that namespace automatically |
| 4 | a wiki page inside the project | An author places the {{wk:adogit>…}} markup. Only this page shows the repository |
| 5 | the tree on that page | A reader opens a folder and a file; the file appears in the source drawer |
| 6 | do=wkdoadogit_tokens | Anyone wanting git clone outside the wiki issues themselves a personal token |
Key features
- A repository browser on a wiki page. The
{{wk:adogit>connection:project:repo}}markup draws the header with the visibility tier and the folder tree; subfolders load only when opened. - Rendering of a single file. The
{{source>ado:…}}markup shows one file, optionally just a range of lines. - Editing and committing a single file. The commit applies against the revision the author saw; otherwise the server rejects it.
- Creating a branch or a tag straight from the browser, for users with write permission.
- A git proxy for
clone,pullandpushwith an ordinary client. Authentication uses a personal token, not the wiki password. - Downloading a snapshot as a ZIP archive from the repository browser.
- A single control for visibility: the tier of the mount, which writes the permissions automatically.
Core concepts
A connection describes the ADO server and belongs to a DWDO project; a mount binds one repository of that connection to a wiki namespace and carries a visibility tier, which writes the permissions of that namespace. One connection carries any number of mounts.
The mount namespace is virtual: no page lies in it, and every access — the browser, file rendering, the git proxy and the ZIP download — asks for the permissions of that namespace, not those of the page the reader is standing on. A single service account always signs in to Azure DevOps; who may do what is therefore decided by DokuWiki's permissions alone.
In full, with the tier matrix and the double meaning of a level: Technical reference, section "Visibility tier and the DokuWiki ACL".
Administration
- Admin > ADO-Git Repo Mounts (
do=admin&page=wkdoadogit_mounts) — connect repositories, change namespace and tier - Admin > ADO-Git access tokens — inspect and revoke issued tokens
- Admin > ADO-Git Subversion connections — Subversion endpoints of the same connection
- Settings of the package — values, defaults and their effect
Diagnostics
For developers
- Technical reference — managing mounts, markup, actions, tokens, settings
- Concepts — mounts, visibility tier, second factor, limits
- wkdoado — the hardened ADO connection this package builds on
- wksourceview — the source rendering this package supplies
- wkcore — the registry through which both services are found
Related topics
- Show an ADO repository in the wiki for the first time — show a repository in the wiki for the first time, from the connection to the file
- Show source code on a wiki page — show source code on a wiki page
- Edit a file and commit from the wiki — edit a file and commit from the wiki
- Diagnostics — symptom, cause and remedy