adlogix / confluence-rest-php-client
Confluence API PHP 客户端
Requires
- php: >=5.5.0
- adlogix/guzzle-atlassian-connect-middleware: ^1.1.1
- jms/serializer: ^1.3
- symfony/yaml: ^3.1
Requires (Dev)
- guzzlehttp/guzzle: ^6.2
- phpunit/phpunit: ^5.6
- silex/silex: ^2.0
- twig/twig: ^1.26
Suggests
- guzzlehttp/guzzle: For using this library as it was created for Guzzle6. But you should be able to use it with any PSR-7 HTTP Client
README
针对 Confluence 的面向对象的包装器,使用 PHP5 编写
tl;dr;
- JWT: Json Web Token 标准,Atlassian 版本,Atlassian JWT Web 解码器(使用您的查询获取 QSH,使用查询 + JWT 令牌查询参数进行验证)
- QSH: 查询字符串哈希
- 描述符: Atlassian Connect 插件描述符,验证您的描述符是否与 Atlassian 产品兼容(仅语法检查)
要求
- PHP >= 5.5.0
安装
$ php composer.phar require adlogix/confluence-rest-php-client
最小使用
查看此存储库根目录中的 index.php
实际测试
您想要进行身份验证的 Atlassian 产品需要以某种形式使用 webhooks 联系您的应用程序,因此我们创建了一个最基本的应用程序来展示如何实现。
使用 docker-compose
$ docker-compose up -d
使用主机名而不是端口
如果您已启动环境,您已经有一个代理正在运行,用于将 ngrok.dev 和 confluence-client.dev 重定向到正确的容器。您只需将这两个域名添加到您的 hosts 文件或使用类似 dnsmasq on OSX 的解决方案,但请确保将其重定向到您的 docker-machine IP。
要查找您的 docker machine ip,请使用
$ docker-machine ip [machine-name]
获取您的开发实例
Atlassian 改变了在 Confluence/Jira 上工作的方式,现在为了创建您的插件,您必须获取一个 开发者账户 并创建您自己的实例。创建环境的所有步骤都在 文档页面 上定义。
一旦您有权访问自己的 Atlassian Cloud 实例并将其设置为开发者模式,我们就可以继续并让实例联系我们。
将我们的本地应用程序公之于众
我们正在尝试进行身份验证的 Atlassian 应用程序必须向我们发送一些信息,因此我们需要将我们的应用程序暴露在互联网上。这就是为什么我们有一个运行着 ngrok 容器的原因。ngrok 是一个应用程序,它将在我们的环境和他们的服务器之间创建隧道,让我们可以从任何地方访问。
现在您应该有一个运行在 ngrok.dev 的 ngrok 容器。当您连接时,您应该看到隧道 URL,如果您打开它,您将看到所有的隧道流量。
用于安装我们的演示应用程序的 URL 为 https://[your-tunnel-id].eu.ngrok.io/descriptor.json
注意:每次您重新启动 ngrok 容器时,隧道 ID 都会更改,因此您每次都需要重新安装您的插件。我知道,这很糟糕。
更新 view/index.html.twig
文件
请确保更新 view/index.html.twig 文件,将链接设置为真实内容 URL,以便能够进行请求。请确保将基本 URL 指向我们的 API。
https://adlogixdevelopers.atlassian.net/'wiki/download/attachments/197331/Adsdaq-login.png?api=v2'