2
1
0

REST APIを使用し、confluenceのページをタイトル、スペースをキーにして検索し、

該当するページのpageIDを取得したいです

次のことを試しましたが、うまくいきませんでした。 どこが原因なのでしょうか?

また、pageIDが取得できる場合において、受信時のJSONデータでの取得方法も不明です。 

どうすべきでしょうか?


GETリクエスト

宛先URL:https://xxxxx.atlassian.net/wiki/rest/api/content/?title=testpj&spaceKey=TEST

受信時のJSONデータ構造は不明。


以上、宜しくお願い致します。


    Commentコメントを追加...

    3 回答

    1.  
      2
      1
      0

      レスポンス時の JSONデータの中で、ページIDの部分と思われる"id":"277577736"の部分のみを

      JSONのデータで変数で受けとりたいが、どうすれば良いでしょうか?

      1. Shuzaburo Doba

        実行は、curlコマンドでなく、confluenceの自動に定義して実行しています。

        こちらにつきまして申し訳ございません。
        Confluence の自動化はまだリリースされていないかと思っておりますが、
        Jira の自動化ということで合っておりますでしょうか...?

        レスポンスは "{{webResponse.body}}" というスマートバリューで取得できるようです。
        log action でこの値を含ませればレスポンスを確認できると思います。

        ページの ID を取得される場合は、"{{webResponse.body.results.get(0).id}}" というようなスマートバリューになるかと思います。

        認識が異なっておりましたら申し訳ございません。

      2. 青山明

        回答ありがとうございます。

        confluenceではなく、jiraの自動化でした。失礼しました。

        ただ、教えて頂いた内容を実施しましたが、ログ部分が空白でうまく取得されません。

        確認ですが、図の自動化の定義におけるGETリクエストのカスタムデータはどう記述していますでしょうか?(必須の部分です)

      3. Shuzaburo Doba

        ありがとうございます。
        良かったです...

        ログ部分が空白でうまく取得されません。

        レスポンスを取得するまで待つオプションのチェックボックスが有効になっていないなどが考えられますでしょうか...

        設定は下図のようにしております。

      4. 青山明

        回答ありがとうございます。

        取り合えず、先ほどの設定、オプション通りにして成功しました。

        どうもありがとうございました。

      5. 青山明

        すいません。復習で聞きたいのですが、{webResponse.body}}" というスマートバリュー値は

        どこに記載していますか?以下には記載されていないようですが。。。

      6. Shuzaburo Doba

        ありがとうございます。
        無事ご取得できたとのことでよかったです。

        {webResponse.body}}" というスマートバリュー値はどこに記載していますか?

        申し訳ございません。
        Automation を設定する箇所の How do I access... の部分に記載されていたのでそちらを参照しておりました。

      Commentコメントを追加...
    2.  
      2
      1
      0

      うまくいかないとのことで、どのようなレスポンスが返ってきているかお分かりになりますか?

      たとえば curl コマンドからでしたら、以下のような形式で取得できるかと思います。

      curl 'https://xxxx.atlassian.net/wiki/rest/api/content?spaceKey=<spacekey>&title=<pagetitle>' -u '<username>:<apitoken>'

      少し長く恐れ入りますが、レスポンスの JSON は以下のようなものでした。

      {"results":[{"id":"277577736","type":"page","status":"current","title":"First Page","macroRenderedOutput":{},"extensions":{"position":326013330},"_expandable":{"container":"/rest/api/space/FS","metadata":"","restrictions":"/rest/api/content/277577736/restriction/byOperation","history":"/rest/api/content/277577736/history","body":"","version":"","descendants":"/rest/api/content/277577736/descendant","space":"/rest/api/space/FS","childTypes":"","operations":"","schedulePublishDate":"","children":"/rest/api/content/277577736/child","ancestors":""},"_links":{"self":"https://xxxx.atlassian.net/wiki/rest/api/content/277577736","tinyui":"/x/CICLE","editui":"/pages/resumedraft.action?draftId=277577736","webui":"/spaces/FS/pages/277577736/First+Page"}}],"start":0,"limit":25,"size":1,"_links":{"base":"https://xxxx.atlassian.net/wiki","context":"/wiki","self":"https://xxxx.atlassian.net/wiki/rest/api/content?spaceKey=FS&title=First%20Page"}}

      jq コマンドを使用すれば、以下のような形でページの ID が取得できます。

      curl 'https://xxxx.atlassian.net/wiki/rest/api/content?spaceKey=<spacekey>&title=<pagetitle>' -u '<username>:<apitoken>' | jq .results[0].id

      API トークンにつきましては、以下のページをご参考にしていただけますと幸いです。

        Commentコメントを追加...
      1.  
        1
        0
        -1

        回答ありがとうございます。

        実行は、curlコマンドでなく、confluenceの自動に定義して実行しています。

        そのため、何のレスポンスが返ってきているか不明で困っています。確認する方法はあるのでしょうか?

        レスポンス時のJSONデータですが、結果でしょうか?変数などで受けとりたい場合の定義はどうなりますか?

          Commentコメントを追加...