• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

tylernathanreed / jira-client-php / 13834920235

13 Mar 2025 12:45PM UTC coverage: 71.089% (-2.2%) from 73.289%
13834920235

push

github

tylernathanreed
Merge branch 'master' of github.com:tylernathanreed/jira-client-php

3976 of 5593 relevant lines covered (71.09%)

9.76 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

48.48
/src/Operations/ScreenSchemes.php
1
<?php
2

3
namespace Jira\Client\Operations;
4

5
use Jira\Client\Client;
6
use Jira\Client\Schema;
7

8
/** @phpstan-require-extends Client */
9
trait ScreenSchemes
10
{
11
    /**
12
     * Returns a "paginated" list of screen schemes
13
     * 
14
     * Only screen schemes used in classic projects are returned
15
     * 
16
     * **"Permissions" required:** *Administer Jira* "global permission".
17
     * 
18
     * @link https://confluence.atlassian.com/x/x4dKLg
19
     * 
20
     * @param int $startAt The index of the first item to return in a page of results (page offset).
21
     * @param int $maxResults The maximum number of items to return per page.
22
     * @param ?list<int> $id The list of screen scheme IDs.
23
     *                       To include multiple IDs, provide an ampersand-separated list.
24
     *                       For example, `id=10000&id=10001`.
25
     * @param string $expand Use "expand" include additional information in the response.
26
     *                       This parameter accepts `issueTypeScreenSchemes` that, for each screen schemes, returns information about the issue type screen scheme the screen scheme is assigned to.
27
     * @param string $queryString String used to perform a case-insensitive partial match with screen scheme name.
28
     * @param 'name'|'-name'|'+name'|'id'|'-id'|'+id'|null $orderBy
29
     *        "Order" the results by a field:
30
     *         - `id` Sorts by screen scheme ID
31
     *         - `name` Sorts by screen scheme name.
32
     */
33
    public function getScreenSchemes(
1✔
34
        ?int $startAt = 0,
35
        ?int $maxResults = 25,
36
        ?array $id = null,
37
        ?string $expand = '',
38
        ?string $queryString = '',
39
        ?string $orderBy = null,
40
    ): Schema\PageBeanScreenScheme {
41
        return $this->call(
1✔
42
            uri: '/rest/api/3/screenscheme',
1✔
43
            method: 'get',
1✔
44
            query: compact('startAt', 'maxResults', 'id', 'expand', 'queryString', 'orderBy'),
1✔
45
            success: 200,
1✔
46
            schema: Schema\PageBeanScreenScheme::class,
1✔
47
        );
1✔
48
    }
49

50
    /**
51
     * Creates a screen scheme
52
     * 
53
     * **"Permissions" required:** *Administer Jira* "global permission".
54
     * 
55
     * @link https://confluence.atlassian.com/x/x4dKLg
56
     */
57
    public function createScreenScheme(
×
58
        Schema\ScreenSchemeDetails $request,
59
    ): Schema\ScreenSchemeId {
60
        return $this->call(
×
61
            uri: '/rest/api/3/screenscheme',
×
62
            method: 'post',
×
63
            body: $request,
×
64
            success: 201,
×
65
            schema: Schema\ScreenSchemeId::class,
×
66
        );
×
67
    }
68

69
    /**
70
     * Updates a screen scheme.
71
     * Only screen schemes used in classic projects can be updated
72
     * 
73
     * **"Permissions" required:** *Administer Jira* "global permission".
74
     * 
75
     * @link https://confluence.atlassian.com/x/x4dKLg
76
     * 
77
     * @param string $screenSchemeId The ID of the screen scheme.
78
     */
79
    public function updateScreenScheme(
×
80
        Schema\UpdateScreenSchemeDetails $request,
81
        string $screenSchemeId,
82
    ): true {
83
        return $this->call(
×
84
            uri: '/rest/api/3/screenscheme/{screenSchemeId}',
×
85
            method: 'put',
×
86
            body: $request,
×
87
            path: compact('screenSchemeId'),
×
88
            success: 204,
×
89
            schema: true,
×
90
        );
×
91
    }
92

93
    /**
94
     * Deletes a screen scheme.
95
     * A screen scheme cannot be deleted if it is used in an issue type screen scheme
96
     * 
97
     * Only screens schemes used in classic projects can be deleted
98
     * 
99
     * **"Permissions" required:** *Administer Jira* "global permission".
100
     * 
101
     * @link https://confluence.atlassian.com/x/x4dKLg
102
     * 
103
     * @param string $screenSchemeId The ID of the screen scheme.
104
     */
105
    public function deleteScreenScheme(
1✔
106
        string $screenSchemeId,
107
    ): true {
108
        return $this->call(
1✔
109
            uri: '/rest/api/3/screenscheme/{screenSchemeId}',
1✔
110
            method: 'delete',
1✔
111
            path: compact('screenSchemeId'),
1✔
112
            success: 204,
1✔
113
            schema: true,
1✔
114
        );
1✔
115
    }
116
}
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc