reportingDescriptorRelationship object
A reportingDescriptorRelationship
object specifies one or more directed relationships
from one reportingDescriptor
object, which we refer to as theSource, to another one, which we refer to as theTarget.
Tip
Generated with following command : php ./resources/serialize.php reportingDescriptorRelationship docs/assets/sarif 192
docs/assets/sarif/reportingDescriptorRelationship.json
{
"$schema": "https://json.schemastore.org/sarif-2.1.0.json",
"version": "2.1.0",
"runs": [
{
"tool": {
"driver": {
"name": "CodeScanner",
"semanticVersion": "1.1.2-beta.12",
"informationUri": "https://codeScanner.dev",
"rules": [
{
"id": "CA1000",
"relationships": [
{
"target": {
"index": 0,
"id": "327",
"guid": "33333333-0000-1111-8888-111111111111",
"toolComponent": {
"name": "CWE",
"guid": "33333333-0000-1111-8888-000000000000"
}
},
"kinds": [
"superset"
]
}
]
}
]
}
},
"results": []
}
]
}
examples/reportingDescriptorRelationship.php
<?php declare(strict_types=1);
/**
* This file is part of the Sarif-PHP-SDK package.
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*
* @author Laurent Laville
*/
use Bartlett\Sarif\Definition\ReportingDescriptor;
use Bartlett\Sarif\Definition\ReportingDescriptorReference;
use Bartlett\Sarif\Definition\ReportingDescriptorRelationship;
use Bartlett\Sarif\Definition\Run;
use Bartlett\Sarif\Definition\Tool;
use Bartlett\Sarif\Definition\ToolComponent;
use Bartlett\Sarif\Definition\ToolComponentReference;
use Bartlett\Sarif\SarifLog;
require_once dirname(__DIR__) . '/vendor/autoload.php';
$driver = new ToolComponent();
$driver->setName('CodeScanner');
$driver->setInformationUri('https://codeScanner.dev');
$driver->setSemanticVersion('1.1.2-beta.12');
$rule = new ReportingDescriptor();
$rule->setId('CA1000');
$target = new ReportingDescriptorReference();
$target->setIndex(0);
$target->setId('327');
$target->setGuid('33333333-0000-1111-8888-111111111111');
$toolComponent = new ToolComponentReference();
$toolComponent->setName('CWE');
$toolComponent->setGuid('33333333-0000-1111-8888-000000000000');
$target->setToolComponent($toolComponent);
$relationship = new ReportingDescriptorRelationship();
$relationship->setTarget($target);
$relationship->addKinds(['superset']);
$rule->addRelationships([$relationship]);
$driver->addRules([$rule]);
$tool = new Tool();
$tool->setDriver($driver);
$run = new Run();
$run->setTool($tool);
$log = new SarifLog([$run]);
Note
This alternative API is available since release 1.5.0
examples/builder/reportingDescriptorRelationship.php
<?php declare(strict_types=1);
/**
* This file is part of the Sarif-PHP-SDK package.
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*
* @author Laurent Laville
*/
require_once dirname(__DIR__, 2) . '/vendor/autoload.php';
use Bartlett\Sarif\Factory\BuilderFactory;
$factory = new BuilderFactory();
// @link https://github.com/llaville/sarif-php-sdk/blob/1.1/docs/reference/reportingDescriptorRelationship.md
$spec = $factory->specification('2.1.0')
->addRun(
$factory->run()
->tool(
$factory->tool()
->driver(
$factory->driver()
->name('CodeScanner')
->semanticVersion('1.1.2-beta.12')
->informationUri('https://codeScanner.dev')
->addRule(
$factory->rule()
->id('CA1000')
->addRelationship(
$factory->relationship()
->target(
$factory->descriptorReference()
->index(0)
->id('327')
->guid('33333333-0000-1111-8888-111111111111')
->toolComponent(
$factory->toolComponent()
->name('CWE')
->guid('33333333-0000-1111-8888-000000000000')
)
)
->addKind('superset')
)
)
)
)
)
;