Confluenceとは
- Javaで実装されている。
- Wikiの機能をもつ。
- アトラシアンが開発・販売を行っている。
- 主にビジネス用途、企業内の文書管理として用いられる。
- クライアントソフトウェアとしてもホスティングサービスとしても販売されている。
- 無償ライセンスもある。
ウィジェットコネクター
https://ja.confluence.atlassian.com/conf74/widget-connector-macro-1003128963.html
なぜConfluenceを使うのか
- チームでConfluenceを使っているところが増えてきた。
サービスを作成する
テスト用にアカウントを作成した。作成するとサブドメインが登録される。
https://symdon.atlassian.net/
Confluenceをlocalで起動する
インストール方法 https://ja.confluence.atlassian.com/doc/confluence-installation-guide-135681.html
ConfluenceをDockerで起動する
https://hub.docker.com/r/atlassian/confluence-server/
ConfluenceのDocker Image
6系のImageは600MB以上ある。 7系のImageは900MB以上ある。
7系でなぜこんなにサイズが肥大化しているのか。
ConfluenceのドキュメントをEmacsで編集するために
Confluenceのために作られたEmacs拡張
- https://github.com/mcfunley/confluence2.el
- https://github.com/danp/confluence-el
- https://sourceforge.net/projects/confluence-el/
- https://www.emacswiki.org/emacs/ConfluenceMode
confluence
https://melpa.org/#/confluence
Documentに従いURLの設定も行う。
XMLRPCとなっている。これはConfluence Remote APIのURLっぽい。 手順に従いConfluence Remote APIの有効化を行おうとした。 チェックは入っているが使えているのかは疑問。
M-x confluence-login
を実行してログイン情報をいくつか試してみたがログインはできなかった。
Confluence Remote API
使うには設定の変更が必要で、設定変更には管理者権限が必要になる。 ただしXML-RPCおよびSOAPのリモートAPIはConfluence 5.5で廃止された。 https://ja.confluence.atlassian.com/doc/enabling-the-remote-api-150460.html
Confluence API
Confluence Server REST APIを使うことが推奨されている。
curl -H "Authorization: Bearer <yourToken>" https://{confluenceBaseUrl}/rest/api/content curl -u admin:admin -X GET "http://localhost:8080/confluence/rest/api/content?type=blogpost&start=0 &limit=10&expand=space,history,body.view,metadata.labels" | python -mjson.tool
ドキュメントに従いパーソナルアクセストークンを発行してAPIを呼び出してみる。
:ATLASSIAN_PET := (getenv "ATLASSIAN_PET")
GET https://symdon.atlassian.net/confluence/rest/api/content?type=blogpost&start=0&limit=10&expand=space,history,body.view,metadata.labels
Authorization: Bearer ATLASSIAN_PET
<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><title>Oops, you've found a dead link. - JIRA</title><link type='text/css' rel='stylesheet' href='/static-assets/metal-all.css' media='all'><script src='/static-assets/metal-all.js'></script><!--[if lt IE 9]><link type='text/css' rel='stylesheet' href='/static-assets/metal-all-ie.css' media='all'><script src='/static-assets/metal-all-ie.js'></script><![endif]--><!--[if IE 9]><link type='text/css' rel='stylesheet' href='/static-assets/metal-all-ie9.css' media='all'><![endif]--><meta name="decorator" content="none" /></head><body class=" error-page error404"><script type="text/javascript">document.body.className += " js-enabled";</script><div id="page"><header id="header" role="banner"></header><!-- #header --><section id="content" role="main"><div class="aui-page-panel"><div class="aui-page-panel-inner"><section class="aui-page-panel-content lowerContent"><div id="error-state"><span class="error-type"></span><h1>Oops, you've found a dead link.</h1><ul><li>Go back to the <a href="javascript:window.history.back()">previous page</a></li><li>Go to the <a href="/secure/MyJiraHome.jspa">Home Page</a></li></ul></div></section><!-- .aui-page-panel-content --></div><!-- .aui-page-panel-inner --></div><!-- .aui-page-panel --></section><!-- #content --><footer id="footer" role="contentinfo"><section class="footer-body">
<ul class="atlassian-footer">
<li>
Atlassian JIRA <a class="seo-link" href="https://www.atlassian.com/software/jira">Project Management Software</a>
<span id="footer-build-information">(v1001.0.0-SNAPSHOT#100156-<span title='ef0510686cf40db0fbe60fe0292e60df05ead372' data-commit-id='ef0510686cf40db0fbe60fe0292e60df05ead372}'>sha1:ef05106</span>)</span>
</li>
<li>
<a id="about-link" href="/secure/AboutPage.jspa">About JIRA</a>
</li>
<li>
<a id="footer-report-problem-link" href="/secure/CreateIssue!default.jspa">Report a problem</a>
</li>
</ul>
<div id="footer-logo"><a href="http://www.atlassian.com/" rel="nofollow">Atlassian</a></div></section></footer><!-- #footer --></div><!-- #page --></body></html>
<!-- GET https://symdon.atlassian.net/confluence/rest/api/content?type=blogpost&start=0&limit=10&expand=space,history,body.view,metadata.labels -->
<!-- HTTP/1.1 404 Not Found -->
<!-- Server: AtlassianProxy/1.15.8.1 -->
<!-- vary: Accept-Encoding -->
<!-- Content-Type: text/html;charset=UTF-8 -->
<!-- Strict-Transport-Security: max-age=315360000; includeSubDomains; preload -->
<!-- Date: Sun, 11 Apr 2021 02:08:14 GMT -->
<!-- ATL-TraceId: a6b18175fe576a39 -->
<!-- x-arequestid: 4fe57471-6a3f-4e18-997e-0fd12bb94843 -->
<!-- X-XSS-Protection: 1; mode=block -->
<!-- Transfer-Encoding: chunked -->
<!-- timing-allow-origin: * -->
<!-- x-envoy-upstream-service-time: 32 -->
<!-- X-Content-Type-Options: nosniff -->
<!-- Connection: keep-alive -->
<!-- Expect-CT: report-uri="https://web-security-reports.services.atlassian.com/expect-ct-report/global-proxy", enforce, max-age=86400 -->
<!-- Request duration: 0.594352s -->
使用できなかったので断念した。
参考文献
- https://cloud6.net/so/emacs/3912690
- https://confluence.atlassian.com/enterprise/using-personal-access-tokens-1026032365.html
- https://developer.atlassian.com/server/confluence/confluence-rest-api-examples/
- https://developer.atlassian.com/server/confluence/confluence-server-rest-api/
- https://developer.mozilla.org/ja/docs/Web/HTTP/Status/426
- https://github.com/danp/confluence-el
- https://github.com/emacsorphanage/confluence/tree/4518d270a07760644c4204985c83d234ece4738b
- https://github.com/emacsorphanage/confluence
- https://github.com/mcfunley/confluence2.el
- https://hub.docker.com/layers/atlassian/confluence-server/7.11/images/sha256-7b2182ee5e3d0071827de906a0a8c3553b95f8df86ab9ba3792fc4f181b5478b?context=explore
- https://id.atlassian.com/manage-profile/profile-and-visibility
- https://id.atlassian.com/manage-profile/security/api-tokens
- https://ja.confluence.atlassian.com/doc/confluence-installation-guide-135681.html
- https://ja.confluence.atlassian.com/doc/enabling-the-remote-api-150460.html
- https://ja.wikipedia.org/wiki/Confluence
- https://melpa.org/#/confluence
- https://sourceforge.net/projects/confluence-el/
- https://symdon.atlassian.net/wiki/admin/viewgeneralconfig.action
- https://symdon.atlassian.net/wiki/people/557058:2767081e-c712-4bd4-a1c3-30404ff593e5
- https://www.atlassian.com/ja/software/confluence/free
- https://www.atlassian.com/ja/try/cloud/signup?bundle=confluence-jira-service-management&edition=free
- https://www.emacswiki.org/emacs/ConfluenceMode
- https://www.reddit.com/r/emacs/comments/7pytxd/how_to_deal_with_confluence/