0
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

GitHub においた md (マークダウン) のドキュメントを GitHub Actions で Conluence のページに連携

Posted at

はじめに

GitHub においた md (マークダウン) のドキュメントをGitHub Actions を使って Conluence のページに連携するメモです。

Confluence に連携するためには、以下の markdown-confluence というものを利用します。

GitHub Actions の設定

まずは、Actions のワークフロー設定は以下の通りです。
ドキュメントには markdown-confluence/publish となっていたが、どうやら変わったらしい。

name: "Confluecne Publisher"

# 動くきっかけ(push のタイミングで動作)
on: [push]

# 動かす内容
jobs:
  publish:
    runs-on: ubuntu-latest
    steps:
      - name: Checkout code
        uses: actions/checkout@v2

      
      - name: Publish Markdown to Confluence5
        uses: markdown-confluence/publish-action@main
        with:
          confluenceBaseUrl: https://<Confluence の URL>/
          confluenceParentId: 親ページのID (子ページとして作成するため)
          atlassianUserName: <ログインユーザ (メールアドレス)>
          atlassianApiToken: <Confluence の API キー>
          contentRoot: <md ファイルを置いているディレクトリ>
          folderToPublish: <contentRoot のディレクトリのうち、どのディレクトリの部分かを指定>

準備

Conflucence の API キーを取得

Confluece ページの右上にあるアカウントのアイコンをクリックすると、アカウントのメニューが出てくるので、 [アカウントを管理] をクリック。
image.png

[API トークン] というメニューがあるので、それをクリック。

image.png

[API トークンを作成をする] をクリック

image.png

トークンの名前を聞かれるので入力をして [作成] をクリック

image.png

作成されるのでコピーしておく (ここでコピーしておかないと二度と見れないので注意。作り直しとなる)

image.png

Confluence の親ページ ID を取得

子ページとして作成するため、その親ページID を取得する。

ページ右上にある団子メニューをクリックし [詳細情報] にある [ページ情報] をクリックする。

image.png

すると、以下のような URL のページに飛ぶので URL パラメータに [pageId] というのがついてくる。
これが、親ページのID となる

https:///wiki/pages/viewinfo.action?pageId=3663528040

md ファイルの用意

GitHub のレポジトリのどこかに md ファイルを用意しておきます。
doc というディレクトリに testdocument.md というファイルで以下のような内容にしておきます。

テスト用のマークダウン

テストドキュメント


#### どうなりますか

同じドキュメントは更新か?


テーブルを作る

| Day     | Meal    | Price |
| --------|---------|-------|
| Monday  | pasta   | $6    |
| Tuesday | chicken | $8    |



地平線バー
----

ワークフローが起動するタイミング

レポジトリに、なにかしらの Push があった場合にワークフローが起動するようにしておきます。

# 動くきっかけ(push のタイミングで動作)
on: [push]

Confluence に連携するための設定です。
準備で取得した内容を以下のワークフローに埋めていってください。

ちなみに、contentRoot はGitHub Actions のランナーが実行しているワークスペースなので、実際には /home/runner/work/レポジトリ名/レポジトリ名/docs とかになります

jobs:
  publish:
    runs-on: ubuntu-latest
    steps:
      - name: Checkout code
        uses: actions/checkout@v2
      
      - name: Publish Markdown to Confluence5
        uses: markdown-confluence/publish-action@main
        with:
          confluenceBaseUrl: https://<Confluence の URL>/
          confluenceParentId: 親ページのID (子ページとして作成するため)
          atlassianUserName: <ログインユーザ (メールアドレス)>
          atlassianApiToken: <Confluence の API キー>
          contentRoot: <md ファイルを置いているディレクトリ>
          folderToPublish: <contentRoot のディレクトリのうち、どのディレクトリの部分かを指定>

もし、GitHub Actions のランナーが実行しているワークスペースがよくわからんという人は私みたいにプリントデバッグしながら確認してみてもいいかもしれません。
そうすると、どこにあるかわかるかと思います。(笑

      - name: directory
        run: |
          ls -al
          pwd
          ls -al /home/runner/work/レポジトリ名/
          ls -al /home/runner/work/レポジトリ名/レポジトリ名/

      - name: Publish Markdown to Confluence5
        uses: markdown-confluence/publish-action@main
        with:
          confluenceBaseUrl: https://<Confluence の URL>/
          confluenceParentId: 親ページのID (子ページとして作成するため)
          atlassianUserName: <ログインユーザ (メールアドレス)>
          atlassianApiToken: <Confluence の API キー>
          contentRoot: <md ファイルを置いているディレクトリ>
          folderToPublish: <contentRoot のディレクトリのうち、どのディレクトリの部分
          

結果

以下のようなページが出来上がります

image.png

おまけ

ページ内容 (mdファイルの内容) が変わっていれば、ページの更新となりました。
変わっていなければ、更新とはなりません。

Confluence で利用できるマークダウンは以下のようです。デザインごりごりなリッチドキュメントを作ることはできなさそうです。

また Confluence で作ったテンプレートに埋め込むようなことはできなさそうです。
これができればいいんだけどなぁ。。。

0
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?