2021年11月2日火曜日

Gitlab の Wiki を API で編集する方法

Gitlab の Wiki を API で編集する方法

概要

Gitlab のプロジェクト配下の Wiki ページを API で編集するサンプルスクリプトを紹介します

環境

  • Gitlab 14.3.3-ee

サンプルスクリプト

#!/bin/bash

CONTENT="
# API Test Page

## List
* a
* b
* c
"
TITLE="test"
BODY="format=markdown&content=${CONTENT}&title=${TITLE}&slug=${TITLE}"

PROJECT_ID=123
HOST="https://gitlab.example.com/"
PATH="/api/v4/projects/${PROJECT_ID}/wikis/${TITLE}"
PRIVATE_TOKEN="xxxxxxxxxxxx"

/usr/bin/curl -XPUT "${HOST}${PATH}" \
    --header "PRIVATE-TOKEN:${PRIVATE_TOKEN}" \
    --data "${BODY}"

解説

API のパスは /api/v4/projects/${PROJECT_ID}/wikis/${TITLE} になります

slug と TITLE は基本的に同じ値がいいとかなと思います
もしサブディレクトリに保存したい場合は slug をサブディレクトリ構成に変更してください

リクエストは JSON ではなく key/value パラメータとして送信します
format=markdown を指定しているので content はマークダウン形式で記載します

あとは各自の PROJECT_ID, HOST, PRIVATE_TOKEN を取得して設定すれば OK です

最後に

CI と組み合わせたり画像ファイルをアップロードする方法と組み合わせて使ってみたいので機会があれば試してみたいと思います

参考サイト

0 件のコメント:

コメントを投稿