Skip to content

Make it possible to edit wiki through CI

Everyone can contribute. Help move this issue forward while earning points, leveling up and collecting rewards.

Description

I have a project which create documentation (markdown) during the CI process. I want to be able to push the generate documentation directly from the CI. The goal is to have an up to date documentation when I accept a merge request on my master branch

It's the same issue as #21541. This issue is close but he didn't resolve the problem, he just get around.

Note that #30769 (closed) is the issue for just allowing CI to push to repositories. This issue is for making the wiki editable via pushes.

Proposal

I want to be abble to write this in the .gitlab-ci.yml :

update-doc:
  stage: update-doc
  script:
     - git clone https://gitlab-ci-token:${CI_BUILD_TOKEN}@domain.com/user/project.wiki.git
     - cd project.wiki.git
     - echo "test add text" > home.md
     - git add home.md
     - git commit -m "test update home.md"
     - git push https://gitlab-ci-token:${CI_BUILD_TOKEN}@domain.com/user/project.wiki.git

Links / references

~"feature proposal" CI gitlab-ce3081826

Issue was refined in #237798 (closed).

Permissions and Security

Involve AppSec for the authentication changes.

Documentation

Yes:

Availability & Testing

  • Unit tests around authentication classes.
  • API request specs using deploy tokens for read and write actions on a wiki repository.
  • Maybe feature specs for the new scopes in the project and group settings forms.

This page may contain information related to upcoming products, features and functionality. It is important to note that the information presented is for informational purposes only, so please do not rely on the information for purchasing or planning purposes. Just like with all projects, the items mentioned on the page are subject to change or delay, and the development, release, and timing of any products, features, or functionality remain at the sole discretion of GitLab Inc.

Edited by 🤖 GitLab Bot 🤖