[大阪/横滨/德岛] 寻找基础设施/服务器端工程师!

[大阪/横滨/德岛] 寻找基础设施/服务器端工程师!

【超过500家企业部署】AWS搭建、运维、监控服务

【超过500家企业部署】AWS搭建、运维、监控服务

【CentOS的后继者】AlmaLinux OS服务器搭建/迁移服务

【CentOS的后继者】AlmaLinux OS服务器搭建/迁移服务

[仅适用于 WordPress] 云服务器“Web Speed”

[仅适用于 WordPress] 云服务器“Web Speed”

[便宜]网站安全自动诊断“快速扫描仪”

[便宜]网站安全自动诊断“快速扫描仪”

[预约系统开发] EDISONE定制开发服务

[预约系统开发] EDISONE定制开发服务

[注册100个URL 0日元] 网站监控服务“Appmill”

[注册100个URL 0日元] 网站监控服务“Appmill”

【兼容200多个国家】全球eSIM“超越SIM”

【兼容200多个国家】全球eSIM“超越SIM”

[如果您在中国旅行、出差或驻扎]中国SIM服务“Choco SIM”

[如果您在中国旅行、出差或驻扎]中国SIM服务“Choco SIM”

【全球专属服务】Beyond北美及中国MSP

【全球专属服务】Beyond北美及中国MSP

[YouTube]超越官方频道“美由丸频道”

[YouTube]超越官方频道“美由丸频道”

将任务从 ChatWork 复制到 Backlog

大家好,我是 Web 系统开发部的 Goto。

我们公司使用ChatWork,即使在ChatWork上分配任务,
如果任务数量很多,也可能会迷失方向,或者很难理解优先级、截止日期等。

另一方面,Backlog 允许您使用甘特图管理任务,从而轻松了解截止日期、重要性级别等。

因此,我编写了
一个将任务从 ChatWork 移动到 Backlog 的流程所以我希望它对那些尝试使用 ChatWork API 或 Backlog API 的人有所帮助。

我将介绍每个功能。

1. 从ChatWork获取任务

从 ChatWork 检索任务需要四条信息。

  • 分配任务的人员的帐户 ID
  • 分配任务的人员的帐户 ID
  • 分配任务的聊天室ID
  • 选择已完成或未完成的任务

这些信息中的每一个都可以从下面获得。

  • 收件人后的数字:分配给该任务的人员
  • To后的数字:发送给分配任务的人
  • https://www.chatwork.com/#!rid 这里的数字(rid 不是必填)
  • 已完成 已完成 : 未完成 打开

通过将这些作为 GET 参数附加到 URL 并发出请求,任务信息将以 json 格式返回。

function get_tasks_from_cw($account_id, $signed_by_account_id, $room_id){ $params = array( 'account_id' = $account_id, //分配任务的人的 ID 'assigned_by_account_id' = $signed_by_account_id, //分配任务的人的 ID ID 'status' = 'open', //未完成的任务 ); $url = 'https://api.chatwork.com/v1/rooms/'.$room_id.'/tasks?'.http_build_query($params ); $headers = array( 'http' => array( 'method' = 'GET', 'header' = implode("rn", $headers), ) ); $json_cw_tasks = file_get_contents($url, false, stream_context_create ($上下文));返回 json_decode($json_cw_tasks);

2. 将问题注册到 Backlog

注册 Backlog 需要以下项目。

  • 注册项目ID
  • 问题类型 ID
  • 优先事项
  • 作业主题

如下所示设置这些。

    • 注册项目的ID是根据项目的“项目设置”页面的URL确定的。

https://byd.backlog.jp/EditProject.action?project.id=此处的编号

    • 有关作业类型,请参阅 2-a。
    • 优先级 2 为高,3 为中,4 为低
    • 随意选择主题
function add_task_to_backlog($task, $project_id, $backlog_api_key){ $issue_type_id = get_issue_type_id_of_tasks($project_id); //获取任务的issueTypeId mb_regex_encoding('UTF-8'); $params = array( 'projectId' = $project_id, 'issueTypeId' = $issue_type_id, 'priorityId' = 3, //优先级 'summary' = 'Task from ChatWork', 'description' = $task['body'], //要注册的问题内容(CW任务文本 (body)) ); = array('Content-Type:application/x-www-form-urlencoded'); $context= array( 'http' => array( 'method' = 'POST', 'header' = $header , 'ignore_errors' = true, ) ); file_get_contents($url, false, stream_context_create($context));

2-a. 获取问题类型“任务”的issueTypeId

问题的类型取决于项目,因此请从 API 获取该项目的 issuesTypeId。
这次,我们将获得类型为“task”的issueTypeid。

*这里不需要使用curl。我刚刚尝试过。

函数 get_issue_type_id_of_tasks($project_id, $backlog_api_key){ $param = array('apiKey' = $backlog_api_key); $url = 'https://space_name.backlog.jp/api/v2/projects/'.$project_id.'/ '.http_build_query($param); $ch = curl_init(); $options = array( CURLOPT_URL = $url, CURLOPT_HTTPGET = true, CURLOPT_HTTPHEADER = array( 'HTTP/1.0', '内容类型: application/x- www-form-urlencoded', ), CURLOPT_RETURNTRANSFER = true, ); $issue_type_json = curl_exec($ch); $issue_types = json_decode($issue_type_json); “任务”。 foreach ($issue_types as $issue_type) { if ($issue_type->name == 'task'){ $issu_type = $issue_type->id; } } return $issu_type;

大致是这样的。

对于ChatWork任务,到期日期可以从limit_time元素中获取为时间戳,因此
我认为在注册backlog时将其转换并放入 dueDate 参数并注册会很方便,这样您就可以复制到期日期以及。
请尝试扩展它。

如果您觉得这篇文章有帮助,请点赞!
0
加载中...
0 票,平均:0.00 / 10
747
X Facebook 哈特纳书签 口袋
[2025.6.30 Amazon Linux 2 支持结束] Amazon Linux 服务器迁移解决方案

[2025.6.30 Amazon Linux 2 支持结束] Amazon Linux 服务器迁移解决方案

写这篇文章的人

关于作者