【问题标题】:How to integrate asana with intellij如何将体式与 intellij 集成
【发布时间】:2020-04-01 01:10:27
【问题描述】:

我想将 Asana 添加到我的 intellij IDE。

现在我正在使用 Web 客户端,但是直接通过 IDE 工作会更容易。

我阅读了 intellij 帮助页面,他们指示我转到设置 - 任务并填写详细信息。 但是,当我填写详细信息时,然后单击“测试”

它说测试失败 - 未经授权。我尝试在 Asana 博客上寻求帮助,但一无所获。

我错过了什么?

【问题讨论】:

  • 嗯!我是少数不使用 IntelliJ 的 Asana 工程师之一,但我会四处打听,看看其他人在做什么。

标签: intellij-idea asana


【解决方案1】:

您在“用户名”和“密码”中输入了什么?它应该需要您的 API 密钥(您可以从左下角的“帐户设置”>“应用程序”标签 > 底部的“API 密钥”链接中找到)作为用户名,并且不需要密码(API密钥实现识别和授权您的目的)。

【讨论】:

  • 所有帮助文档都没有这样说!一旦我按照您所说的进行操作,它就起作用了;)谢谢!
  • 很高兴有帮助!您能否包含指向您正在查看的文档的链接?可以发送一个拉取请求(甚至只是一条推文或电子邮件)来更新它,这样其他人就不会落入同样的陷阱:-)
  • 这是我正在阅读的内容:jetbrains.com/webstorm/webhelp/… 令人困惑的部分是它要求输入“用户名”。如果它说“API Key”而不是单词用户名字段,我会知道自己将其粘贴到那里。因为我阅读了 Asana 文档,并且说我需要一个 API 密钥来发送 CURL 请求。我在 Intellij 中找到了 API 密钥,但不知道如何处理它。所以更改 imo 应该是 -> 删除密码字段,并将“用户名”重命名为“API Key”,这将使其不言自明。
  • 另外,我建议,在体式方面,将如何与不同的 IDE 集成到您的文档中,在我设置后使用它非常容易
  • 我遵循与您建议@agnoster 完全相同的步骤,但是,我不断收到错误 "Request failed with HTTP error:NOt Found" 。我也有截图,附在单独的答案中,因为我认为 cmets 不允许图片
【解决方案2】:

2020 年 3 月您需要的一切是:

  1. 转到“我的个人资料设置”->“应用程序”->“管理开发者应用程序”
  2. 单击“新建访问令牌”并创建一个新令牌。给它一个名字,比如“任务服务器”并记下它(它只显示一次!)
  3. 现在在 Asana 中完成。打开 IDE 并打开“首选项”->“工具”->“任务”。增加连接超时:
  4. 转到“首选项”->“工具”->“任务”->“服务器”并添加新的“Asana [G]”服务器。打开“服务器配置”选项卡,然后单击“管理模板变量”。添加一个workspace 变量。为方便起见,选中“在第一个选项卡上显示”:
  5. 单击“确定”并将“任务列表 URL”更改为 {serverUrl}/tasks?workspace={workspace}&assignee=me
  6. 将“服务器配置”中的idsingleTask-id 属性更改为giddata.gid
  7. 最后,转到“常规”选项卡并填写详细信息。

Username 是您的访问令牌。 Project IDWorkspace 可以从项目主页和工作区主页的 URL 中获取。 在the docs 中阅读有关 REST API 的更多信息。

【讨论】:

  • 这非常棒,而且效果很好!值得注意的是,我已经挂断了一段时间,API 不支持同时按受让人和项目进行过滤,因此如果您只想从特定项目中检索任务,则必须替换“任务列表 URL: " 与{serverUrl}/projects/{project_ID}/tasks.
  • 找不到 404
【解决方案3】:

TLDR;您可能缺少项目 ID 字段(如果您已经将您的 api 密钥用于用户名)

我也遇到了 Request Failed: Not Found 错误。根据 asana api(当我通过 curl 尝试请求时)列出您的任务:

"Must specify exactly one of project, tag, or assignee + workspace"

intellij 任务/体式集成设置为列出项目中的任务。您需要在 intellij IDE Task Server Configuration > General 中填写 Project ID 字段。 您可能需要查询 api 以获取您的项目 id:

curl -u <api_key>: https://app.asana.com/api/1.0/projects

将项目 ID 添加到您的设置中应该可以修复任务请求。


专业提示™

就我个人而言,我想列出所有项目中分配给我的所有任务。您可以自定义 intellij 任务服务器设置以请求工作区中的所有任务。 为此,请转到 intellij 任务服务器配置上的“服务器配置”选项卡,单击管理“管理模板变量...”按钮和 workspace_ID 的变量并提供您的工作区 ID。 您可以在此处获取您的工作区 ID:

curl -u <api_key>: https://app.asana.com/api/1.0/workspaces

您还需要将设置中的任务列表 URL 更改为:

{serverUrl}/tasks?workspace={workspace_ID}&assignee=me

【讨论】:

【解决方案4】:

2018 年 8 月更新(至少,如果您使用 Asana 的工作区):

  1. Server Configuration下,点击Manage Template Variables的按钮。

  2. 添加一个名为workspace_ID的新模板变量,并选中show on first tab的框(忽略我在这里输入的serverURL值,我在乱搞):

    1. 对于 workspace_ID 的值,从 cURL 请求中获取数字(替换您自己的 API 密钥):

      curl -u '0/987654321fedcba': https://app.asana.com/api/1.0/workspaces

    2. 保存更改。

    3. Asana 的 API 发生了变化:您可以指定 [assignee + workspace] 或指定 [project];你不能指定[项目+受让人]。

    4. 仍在Server Configuration 中,将Tasks List URL 更改为以下之一(取决于您想要什么):

      {serverUrl}/projects/{project_ID}/tasks
      

      {serverUrl}/workspaces/{workspace_ID}/tasks?assignee=me
      
    5. 按下Test 按钮,您应该可以了。

【讨论】:

  • 注意:从 IntelliJ 2019.3 开始,如果您使用的是工作区 URL,则需要取消选中“在第一个选项卡上显示”下的 project_ID。如果你不这样做,IntelliJ 会认为表单不完整并且不会加载你的任务(即使连接测试通过了)。
  • 谢谢@Hudon。在“服务器配置”中,我还必须将所有出现的id 替换为gid(即{id: "gid", "singleTask-id": "data.gid"})。
【解决方案5】:

我遵循与您建议@agnoster 完全相同的步骤,但是,我不断收到错误 "Request failed with HTTP error:NOt Found" 。我也有截图,附上

【讨论】:

    【解决方案6】:

    API 密钥已弃用,取而代之的是 OAuth 2.0。 见这里:https://asana.com/developers/documentation/getting-started/auth#api-key

    【讨论】:

    • 如何使用?
    【解决方案7】:

    您应该使用您的 Api 密钥作为用户名,将密码留空并选中“使用 HTTP 身份验证”

    【讨论】:

      猜你喜欢
      • 2016-11-21
      • 2012-08-24
      • 1970-01-01
      • 1970-01-01
      • 2016-02-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-02-27
      相关资源
      最近更新 更多