matthiasrousseau / 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'