通过REST API向JIRA问题添加多个观察者

韦斯

使用PHP和JIRA REST API,我可以通过以下代码将观察者添加到现有问题中:

$username = 'xxxx';
$password = 'xxxx';
$proxy = 'http://xxxx:8080/';
$url = "http://xxxx/rest/api/2/issue/xxxx/watchers";

$data = 'name1';

$ch = curl_init();

$headers = array(
    'Accept: application/json',
    'Content-Type: application/json'
);

curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_VERBOSE, 1);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data));
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_PROXY, $proxy);
curl_setopt($ch, CURLOPT_USERPWD, "$username:$password");

$result = curl_exec($ch);
$ch_error = curl_error($ch);

if ($ch_error) {
    echo "cURL Error: $ch_error";
} else {
    echo $result;
}
curl_close($ch);

但是,此方法仅允许我添加一个观察者。是否可以将多个观察者添加到现有问题?我尝试过这种方式:

$data = array(
    'name1',
    'name2',
);

但这会导致错误的请求错误。

韦斯

因此,我能解决这个问题的唯一方法是只进行多个API调用来添加观察者。由于某些原因,该API无法接受具有多个名称的格式正确的JSON调用。如果仅是一个名称,则JSON输出为just "name1",但是对于数组中的多个名称,它将变为["name1","name2","name3"](方括号显然是将其丢弃的原因)。

如果有人知道更好的方法,请告诉我,但这是我最终要做的事情(尽管如此,我确实认为这是一种解决方法,而不是答案):

$username = 'xxxx';
$password = 'xxxx';
$proxy = 'http://xxxx:8080/';
$url = "http://xxxx/rest/api/2/issue/xxxx/watchers";
$data = array(
    'name1',
    'name2',
    'name3'
);
$headers = array(
    'Accept: application/json',
    'Content-Type: application/json'
);

$ch = curl_init();

curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_VERBOSE, 1);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_PROXY, $proxy);
curl_setopt($ch, CURLOPT_USERPWD, "$username:$password");

foreach ($data as $key => $user)
{
    curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($user));
    $result = curl_exec($ch);
}

curl_close($ch);

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何通过REST API向JIRA创建问题?

来自分类Dev

无法通过 REST API 向发布报告添加问题

来自分类Dev

通过多个线程自注销/注册观察者

来自分类Dev

如何通过REST API查找JIRA问题的状态?

来自分类Dev

通过 PowerShell 使用 REST API 创建 JIRA 问题

来自分类Dev

Cypher通过REST的“注入”问题

来自分类Dev

通过REST API设置状态

来自分类Dev

通过REST API签名信封?

来自分类Dev

无法通过 REST API 发布

来自分类Dev

SonarQube,通过REST API创建问题

来自分类Dev

如何通过REST API向JIRA发送POST请求以创建项目

来自分类Dev

Jira——如何通过 REST API 获取问题变更日志——但不是单一问题

来自分类Dev

如何通过JIRA REST API查询日期范围?

来自分类Dev

通过JIRA REST API从自定义字段获取值

来自分类Dev

如何通过JIRA REST API设置“影响版本”字段-PHP

来自分类Dev

Jira V6.0 +通过REST API创建项目

来自分类Dev

通过REST API在选项卡式屏幕上创建JIRA问题-PHP

来自分类Dev

如何通过 REST API 获取 JIRA 问题的描述、受让人名称?

来自分类Dev

如何通过 jira rest api 从特定的未发布版本中获取所有问题

来自分类Dev

VSTS工作项通过REST API列出

来自分类Dev

通过REST API进行Firebase交易

来自分类Dev

通过REST API的存储分支权限

来自分类Dev

通过PHP REST API检索JSON

来自分类Dev

通过rest API检索交易ID

来自分类Dev

通过REST API与Django交流与salesforce

来自分类Dev

如何通过REST API提交工作?

来自分类Dev

如何通过REST API发送文件?

来自分类Dev

通过REST API确保用户

来自分类Dev

通过管理REST API配置Keycloak OTP