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

tylernathanreed / jira-client-php / 13678007438

05 Mar 2025 02:15PM UTC coverage: 2.081% (+0.01%) from 2.067%
13678007438

push

github

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

141 of 6775 relevant lines covered (2.08%)

0.03 hits per line

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

0.0
/src/Operations/Projects.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 Projects
10
{
11
    /**
12
     * Returns all projects visible to the user.
13
     * Deprecated, use " Get projects paginated" that supports search and pagination
14
     * 
15
     * This operation can be accessed anonymously
16
     * 
17
     * **"Permissions" required:** Projects are returned only where the user has *Browse Projects* or *Administer projects* "project permission" for the project.
18
     * 
19
     * @link https://confluence.atlassian.com/x/yodKLg
20
     * 
21
     * @param string $expand Use "expand" to include additional information in the response.
22
     *                       This parameter accepts a comma-separated list.
23
     *                       Expanded options include:
24
     *                        - `description` Returns the project description
25
     *                        - `issueTypes` Returns all issue types associated with the project
26
     *                        - `lead` Returns information about the project lead
27
     *                        - `projectKeys` Returns all project keys associated with the project.
28
     * @param int $recent Returns the user's most recently accessed projects.
29
     *                    You may specify the number of results to return up to a maximum of 20.
30
     *                    If access is anonymous, then the recently accessed projects are based on the current HTTP session.
31
     * @param ?list<string> $properties A list of project properties to return for the project.
32
     *                                  This parameter accepts a comma-separated list.
33
     * 
34
     * @return list<Schema\Project>
35
     */
36
    public function getAllProjects(
×
37
        ?string $expand = null,
38
        ?int $recent = null,
39
        ?array $properties = null,
40
    ): array {
41
        return $this->call(
×
42
            uri: '/rest/api/3/project',
×
43
            method: 'get',
×
44
            query: compact('expand', 'recent', 'properties'),
×
45
            success: 200,
×
46
            schema: [Schema\Project::class],
×
47
        );
×
48
    }
49

50
    /**
51
     * Creates a project based on a project type template, as shown in the following table:
52
     * 
53
     * | Project Type Key | Project Template Key |  
54
     * |--|--|  
55
     * | `business` | `com.atlassian.jira-core-project-templates:jira-core-simplified-content-management`, `com.atlassian.jira-core-project-templates:jira-core-simplified-document-approval`, `com.atlassian.jira-core-project-templates:jira-core-simplified-lead-tracking`, `com.atlassian.jira-core-project-templates:jira-core-simplified-process-control`, `com.atlassian.jira-core-project-templates:jira-core-simplified-procurement`, `com.atlassian.jira-core-project-templates:jira-core-simplified-project-management`, `com.atlassian.jira-core-project-templates:jira-core-simplified-recruitment`, `com.atlassian.jira-core-project-templates:jira-core-simplified-task-tracking` |  
56
     * | `service_desk` | `com.atlassian.servicedesk:simplified-it-service-management`, `com.atlassian.servicedesk:simplified-general-service-desk-it`, `com.atlassian.servicedesk:simplified-general-service-desk-business`, `com.atlassian.servicedesk:simplified-external-service-desk`, `com.atlassian.servicedesk:simplified-hr-service-desk`, `com.atlassian.servicedesk:simplified-facilities-service-desk`, `com.atlassian.servicedesk:simplified-legal-service-desk`, `com.atlassian.servicedesk:simplified-analytics-service-desk`, `com.atlassian.servicedesk:simplified-marketing-service-desk`, `com.atlassian.servicedesk:simplified-design-service-desk`, `com.atlassian.servicedesk:simplified-sales-service-desk`, `com.atlassian.servicedesk:simplified-blank-project-business`, `com.atlassian.servicedesk:simplified-blank-project-it`, `com.atlassian.servicedesk:simplified-finance-service-desk`, `com.atlassian.servicedesk:next-gen-it-service-desk`, `com.atlassian.servicedesk:next-gen-hr-service-desk`, `com.atlassian.servicedesk:next-gen-legal-service-desk`, `com.atlassian.servicedesk:next-gen-marketing-service-desk`, `com.atlassian.servicedesk:next-gen-facilities-service-desk`, `com.atlassian.servicedesk:next-gen-general-it-service-desk`, `com.atlassian.servicedesk:next-gen-general-business-service-desk`, `com.atlassian.servicedesk:next-gen-analytics-service-desk`, `com.atlassian.servicedesk:next-gen-finance-service-desk`, `com.atlassian.servicedesk:next-gen-design-service-desk`, `com.atlassian.servicedesk:next-gen-sales-service-desk` |  
57
     * | `software` | `com.pyxis.greenhopper.jira:gh-simplified-agility-kanban`, `com.pyxis.greenhopper.jira:gh-simplified-agility-scrum`, `com.pyxis.greenhopper.jira:gh-simplified-basic`, `com.pyxis.greenhopper.jira:gh-simplified-kanban-classic`, `com.pyxis.greenhopper.jira:gh-simplified-scrum-classic` |  
58
     * The project types are available according to the installed Jira features as follows:
59
     * 
60
     *  - Jira Core, the default, enables `business` projects
61
     *  - Jira Service Management enables `service_desk` projects
62
     *  - Jira Software enables `software` projects
63
     * 
64
     * To determine which features are installed, go to **Jira settings** > **Apps** > **Manage apps** and review the System Apps list.
65
     * To add Jira Software or Jira Service Management into a JIRA instance, use **Jira settings** > **Apps** > **Finding new apps**.
66
     * For more information, see " Managing add-ons"
67
     * 
68
     * **"Permissions" required:** *Administer Jira* "global permission".
69
     * 
70
     * @link https://confluence.atlassian.com/x/S31NLg
71
     * @link https://confluence.atlassian.com/x/x4dKLg
72
     */
73
    public function createProject(
×
74
        Schema\CreateProjectDetails $request,
75
    ): Schema\ProjectIdentifiers {
76
        return $this->call(
×
77
            uri: '/rest/api/3/project',
×
78
            method: 'post',
×
79
            body: $request,
×
80
            success: 201,
×
81
            schema: Schema\ProjectIdentifiers::class,
×
82
        );
×
83
    }
84

85
    /**
86
     * Returns a list of up to 20 projects recently viewed by the user that are still visible to the user
87
     * 
88
     * This operation can be accessed anonymously
89
     * 
90
     * **"Permissions" required:** Projects are returned only where the user has one of:
91
     * 
92
     *  - *Browse Projects* "project permission" for the project
93
     *  - *Administer Projects* "project permission" for the project
94
     *  - *Administer Jira* "global permission".
95
     * 
96
     * @link https://confluence.atlassian.com/x/yodKLg
97
     * @link https://confluence.atlassian.com/x/x4dKLg
98
     * 
99
     * @param string $expand Use "expand" to include additional information in the response.
100
     *                       This parameter accepts a comma-separated list.
101
     *                       Expanded options include:
102
     *                        - `description` Returns the project description
103
     *                        - `projectKeys` Returns all project keys associated with a project
104
     *                        - `lead` Returns information about the project lead
105
     *                        - `issueTypes` Returns all issue types associated with the project
106
     *                        - `url` Returns the URL associated with the project
107
     *                        - `permissions` Returns the permissions associated with the project
108
     *                        - `insight` EXPERIMENTAL.
109
     *                       Returns the insight details of total issue count and last issue update time for the project
110
     *                        - `*` Returns the project with all available expand options.
111
     * @param ?list<Schema\StringList> $properties EXPERIMENTAL.
112
     *                                             A list of project properties to return for the project.
113
     *                                             This parameter accepts a comma-separated list.
114
     *                                             Invalid property names are ignored.
115
     * 
116
     * @return list<Schema\Project>
117
     */
118
    public function getRecent(
×
119
        ?string $expand = null,
120
        ?array $properties = null,
121
    ): array {
122
        return $this->call(
×
123
            uri: '/rest/api/3/project/recent',
×
124
            method: 'get',
×
125
            query: compact('expand', 'properties'),
×
126
            success: 200,
×
127
            schema: [Schema\Project::class],
×
128
        );
×
129
    }
130

131
    /**
132
     * Returns a "paginated" list of projects visible to the user
133
     * 
134
     * This operation can be accessed anonymously
135
     * 
136
     * **"Permissions" required:** Projects are returned only where the user has one of:
137
     * 
138
     *  - *Browse Projects* "project permission" for the project
139
     *  - *Administer Projects* "project permission" for the project
140
     *  - *Administer Jira* "global permission".
141
     * 
142
     * @link https://confluence.atlassian.com/x/yodKLg
143
     * @link https://confluence.atlassian.com/x/x4dKLg
144
     * 
145
     * @param int $startAt The index of the first item to return in a page of results (page offset).
146
     * @param int $maxResults The maximum number of items to return per page.
147
     * @param 'category'|'-category'|'+category'|'key'|'-key'|'+key'|'name'|'-name'|'+name'|'owner'|'-owner'|'+owner'|'issueCount'|'-issueCount'|'+issueCount'|'lastIssueUpdatedDate'|'-lastIssueUpdatedDate'|'+lastIssueUpdatedDate'|'archivedDate'|'+archivedDate'|'-archivedDate'|'deletedDate'|'+deletedDate'|'-deletedDate'|null $orderBy
148
     *        "Order" the results by a field
149
     *         - `category` Sorts by project category.
150
     *        A complete list of category IDs is found using "Get all project categories"
151
     *         - `issueCount` Sorts by the total number of issues in each project
152
     *         - `key` Sorts by project key
153
     *         - `lastIssueUpdatedTime` Sorts by the last issue update time
154
     *         - `name` Sorts by project name
155
     *         - `owner` Sorts by project lead
156
     *         - `archivedDate` EXPERIMENTAL.
157
     *        Sorts by project archived date
158
     *         - `deletedDate` EXPERIMENTAL.
159
     *        Sorts by project deleted date.
160
     * @param ?list<int> $id The project IDs to filter the results by.
161
     *                       To include multiple IDs, provide an ampersand-separated list.
162
     *                       For example, `id=10000&id=10001`.
163
     *                       Up to 50 project IDs can be provided.
164
     * @param ?list<string> $keys The project keys to filter the results by.
165
     *                            To include multiple keys, provide an ampersand-separated list.
166
     *                            For example, `keys=PA&keys=PB`.
167
     *                            Up to 50 project keys can be provided.
168
     * @param string $query Filter the results using a literal string.
169
     *                      Projects with a matching `key` or `name` are returned (case insensitive).
170
     * @param string $typeKey Orders results by the "project type".
171
     *                        This parameter accepts a comma-separated list.
172
     *                        Valid values are `business`, `service_desk`, and `software`.
173
     *                        @link https://confluence.atlassian.com/x/GwiiLQ#Jiraapplicationsoverview-Productfeaturesandprojecttypes
174
     * @param int $categoryId The ID of the project's category.
175
     *                        A complete list of category IDs is found using the "Get all project categories" operation.
176
     * @param 'view'|'browse'|'edit'|'create'|null $action
177
     *        Filter results by projects for which the user can:
178
     *         - `view` the project, meaning that they have one of the following permissions:
179
     *            
180
     *             - *Browse projects* "project permission" for the project
181
     *             - *Administer projects* "project permission" for the project
182
     *             - *Administer Jira* "global permission"
183
     *         - `browse` the project, meaning that they have the *Browse projects* "project permission" for the project
184
     *         - `edit` the project, meaning that they have one of the following permissions:
185
     *            
186
     *             - *Administer projects* "project permission" for the project
187
     *             - *Administer Jira* "global permission"
188
     *         - `create` the project, meaning that they have the *Create issues* "project permission" for the project in which the issue is created.
189
     *        @link https://confluence.atlassian.com/x/yodKLg
190
     *        @link https://confluence.atlassian.com/x/x4dKLg
191
     * @param string $expand Use "expand" to include additional information in the response.
192
     *                       This parameter accepts a comma-separated list.
193
     *                       Expanded options include:
194
     *                        - `description` Returns the project description
195
     *                        - `projectKeys` Returns all project keys associated with a project
196
     *                        - `lead` Returns information about the project lead
197
     *                        - `issueTypes` Returns all issue types associated with the project
198
     *                        - `url` Returns the URL associated with the project
199
     *                        - `insight` EXPERIMENTAL.
200
     *                       Returns the insight details of total issue count and last issue update time for the project.
201
     * @param ?list<'live'|'archived'|'deleted'> $status EXPERIMENTAL.
202
     *                                                   Filter results by project status:
203
     *                                                    - `live` Search live projects
204
     *                                                    - `archived` Search archived projects
205
     *                                                    - `deleted` Search deleted projects, those in the recycle bin.
206
     * @param ?list<Schema\StringList> $properties EXPERIMENTAL.
207
     *                                             A list of project properties to return for the project.
208
     *                                             This parameter accepts a comma-separated list.
209
     * @param string $propertyQuery EXPERIMENTAL.
210
     *                              A query string used to search properties.
211
     *                              The query string cannot be specified using a JSON object.
212
     *                              For example, to search for the value of `nested` from `{"something":{"nested":1,"other":2}}` use `[thepropertykey].something.nested=1`.
213
     *                              Note that the propertyQuery key is enclosed in square brackets to enable searching where the propertyQuery key includes dot (.) or equals (=) characters.
214
     *                              Note that `thepropertykey` is only returned when included in `properties`.
215
     */
216
    public function searchProjects(
×
217
        ?int $startAt = 0,
218
        ?int $maxResults = 50,
219
        ?string $orderBy = 'key',
220
        ?array $id = null,
221
        ?array $keys = null,
222
        ?string $query = null,
223
        ?string $typeKey = null,
224
        ?int $categoryId = null,
225
        ?string $action = 'view',
226
        ?string $expand = null,
227
        ?array $status = null,
228
        ?array $properties = null,
229
        ?string $propertyQuery = null,
230
    ): Schema\PageBeanProject {
231
        return $this->call(
×
232
            uri: '/rest/api/3/project/search',
×
233
            method: 'get',
×
234
            query: compact('startAt', 'maxResults', 'orderBy', 'id', 'keys', 'query', 'typeKey', 'categoryId', 'action', 'expand', 'status', 'properties', 'propertyQuery'),
×
235
            success: 200,
×
236
            schema: Schema\PageBeanProject::class,
×
237
        );
×
238
    }
239

240
    /**
241
     * Returns the "project details" for a project
242
     * 
243
     * This operation can be accessed anonymously
244
     * 
245
     * **"Permissions" required:** *Browse projects* "project permission" for the project.
246
     * 
247
     * @link https://confluence.atlassian.com/x/ahLpNw
248
     * @link https://confluence.atlassian.com/x/yodKLg
249
     * 
250
     * @param string $projectIdOrKey The project ID or project key (case sensitive).
251
     * @param string $expand Use "expand" to include additional information in the response.
252
     *                       This parameter accepts a comma-separated list.
253
     *                       Note that the project description, issue types, and project lead are included in all responses by default.
254
     *                       Expand options include:
255
     *                        - `description` The project description
256
     *                        - `issueTypes` The issue types associated with the project
257
     *                        - `lead` The project lead
258
     *                        - `projectKeys` All project keys associated with the project
259
     *                        - `issueTypeHierarchy` The project issue type hierarchy.
260
     * @param ?list<string> $properties A list of project properties to return for the project.
261
     *                                  This parameter accepts a comma-separated list.
262
     */
263
    public function getProject(
×
264
        string $projectIdOrKey,
265
        ?string $expand = null,
266
        ?array $properties = null,
267
    ): Schema\Project {
268
        return $this->call(
×
269
            uri: '/rest/api/3/project/{projectIdOrKey}',
×
270
            method: 'get',
×
271
            query: compact('expand', 'properties'),
×
272
            path: compact('projectIdOrKey'),
×
273
            success: 200,
×
274
            schema: Schema\Project::class,
×
275
        );
×
276
    }
277

278
    /**
279
     * Updates the "project details" of a project
280
     * 
281
     * All parameters are optional in the body of the request.
282
     * Schemes will only be updated if they are included in the request, any omitted schemes will be left unchanged
283
     * 
284
     * **"Permissions" required:** *Administer Jira* "global permission".
285
     * is only needed when changing the schemes or project key.
286
     * Otherwise you will only need *Administer Projects* "project permission"
287
     * 
288
     * @link https://confluence.atlassian.com/x/ahLpNw
289
     * @link https://confluence.atlassian.com/x/x4dKLg
290
     * @link https://confluence.atlassian.com/x/yodKLg
291
     * 
292
     * @param string $projectIdOrKey The project ID or project key (case sensitive).
293
     * @param string $expand Use "expand" to include additional information in the response.
294
     *                       This parameter accepts a comma-separated list.
295
     *                       Note that the project description, issue types, and project lead are included in all responses by default.
296
     *                       Expand options include:
297
     *                        - `description` The project description
298
     *                        - `issueTypes` The issue types associated with the project
299
     *                        - `lead` The project lead
300
     *                        - `projectKeys` All project keys associated with the project.
301
     */
302
    public function updateProject(
×
303
        Schema\UpdateProjectDetails $request,
304
        string $projectIdOrKey,
305
        ?string $expand = null,
306
    ): Schema\Project {
307
        return $this->call(
×
308
            uri: '/rest/api/3/project/{projectIdOrKey}',
×
309
            method: 'put',
×
310
            body: $request,
×
311
            query: compact('expand'),
×
312
            path: compact('projectIdOrKey'),
×
313
            success: 200,
×
314
            schema: Schema\Project::class,
×
315
        );
×
316
    }
317

318
    /**
319
     * Deletes a project
320
     * 
321
     * You can't delete a project if it's archived.
322
     * To delete an archived project, restore the project and then delete it.
323
     * To restore a project, use the Jira UI
324
     * 
325
     * **"Permissions" required:** *Administer Jira* "global permission".
326
     * 
327
     * @link https://confluence.atlassian.com/x/x4dKLg
328
     * 
329
     * @param string $projectIdOrKey The project ID or project key (case sensitive).
330
     * @param bool $enableUndo Whether this project is placed in the Jira recycle bin where it will be available for restoration.
331
     */
332
    public function deleteProject(
×
333
        string $projectIdOrKey,
334
        ?bool $enableUndo = true,
335
    ): true {
336
        return $this->call(
×
337
            uri: '/rest/api/3/project/{projectIdOrKey}',
×
338
            method: 'delete',
×
339
            query: compact('enableUndo'),
×
340
            path: compact('projectIdOrKey'),
×
341
            success: 204,
×
342
            schema: true,
×
343
        );
×
344
    }
345

346
    /**
347
     * Archives a project.
348
     * You can't delete a project if it's archived.
349
     * To delete an archived project, restore the project and then delete it.
350
     * To restore a project, use the Jira UI
351
     * 
352
     * **"Permissions" required:** *Administer Jira* "global permission".
353
     * 
354
     * @link https://confluence.atlassian.com/x/x4dKLg
355
     * 
356
     * @param string $projectIdOrKey The project ID or project key (case sensitive).
357
     */
358
    public function archiveProject(
×
359
        string $projectIdOrKey,
360
    ): true {
361
        return $this->call(
×
362
            uri: '/rest/api/3/project/{projectIdOrKey}/archive',
×
363
            method: 'post',
×
364
            path: compact('projectIdOrKey'),
×
365
            success: 204,
×
366
            schema: true,
×
367
        );
×
368
    }
369

370
    /**
371
     * Deletes a project asynchronously
372
     * 
373
     * This operation is:
374
     * 
375
     *  - transactional, that is, if part of the delete fails the project is not deleted
376
     *  - "asynchronous".
377
     * Follow the `location` link in the response to determine the status of the task and use "Get task" to obtain subsequent updates
378
     * 
379
     * **"Permissions" required:** *Administer Jira* "global permission".
380
     * 
381
     * @link https://confluence.atlassian.com/x/x4dKLg
382
     * 
383
     * @param string $projectIdOrKey The project ID or project key (case sensitive).
384
     */
385
    public function deleteProjectAsynchronously(
×
386
        string $projectIdOrKey,
387
    ): Schema\TaskProgressBeanObject {
388
        return $this->call(
×
389
            uri: '/rest/api/3/project/{projectIdOrKey}/delete',
×
390
            method: 'post',
×
391
            path: compact('projectIdOrKey'),
×
392
            success: 303,
×
393
            schema: Schema\TaskProgressBeanObject::class,
×
394
        );
×
395
    }
396

397
    /**
398
     * Restores a project that has been archived or placed in the Jira recycle bin
399
     * 
400
     * **"Permissions" required:**
401
     * 
402
     *  - *Administer Jira* "global permission"for Company managed projects
403
     *  - *Administer Jira* "global permission" or *Administer projects* "project permission" for the project for Team managed projects.
404
     * 
405
     * @link https://confluence.atlassian.com/x/x4dKLg
406
     * @link https://confluence.atlassian.com/x/yodKLg
407
     * 
408
     * @param string $projectIdOrKey The project ID or project key (case sensitive).
409
     */
410
    public function restore(
×
411
        string $projectIdOrKey,
412
    ): Schema\Project {
413
        return $this->call(
×
414
            uri: '/rest/api/3/project/{projectIdOrKey}/restore',
×
415
            method: 'post',
×
416
            path: compact('projectIdOrKey'),
×
417
            success: 200,
×
418
            schema: Schema\Project::class,
×
419
        );
×
420
    }
421

422
    /**
423
     * Returns the valid statuses for a project.
424
     * The statuses are grouped by issue type, as each project has a set of valid issue types and each issue type has a set of valid statuses
425
     * 
426
     * This operation can be accessed anonymously
427
     * 
428
     * **"Permissions" required:** *Browse Projects* "project permission" for the project.
429
     * 
430
     * @link https://confluence.atlassian.com/x/yodKLg
431
     * 
432
     * @param string $projectIdOrKey The project ID or project key (case sensitive).
433
     * 
434
     * @return list<Schema\IssueTypeWithStatus>
435
     */
436
    public function getAllStatuses(
×
437
        string $projectIdOrKey,
438
    ): array {
439
        return $this->call(
×
440
            uri: '/rest/api/3/project/{projectIdOrKey}/statuses',
×
441
            method: 'get',
×
442
            path: compact('projectIdOrKey'),
×
443
            success: 200,
×
444
            schema: [Schema\IssueTypeWithStatus::class],
×
445
        );
×
446
    }
447

448
    /**
449
     * Get the issue type hierarchy for a next-gen project
450
     * 
451
     * The issue type hierarchy for a project consists of:
452
     * 
453
     *  - *Epic* at level 1 (optional)
454
     *  - One or more issue types at level 0 such as *Story*, *Task*, or *Bug*.
455
     * Where the issue type *Epic* is defined, these issue types are used to break down the content of an epic
456
     *  - *Subtask* at level -1 (optional).
457
     * This issue type enables level 0 issue types to be broken down into components.
458
     * Issues based on a level -1 issue type must have a parent issue
459
     * 
460
     * **"Permissions" required:** *Browse projects* "project permission" for the project.
461
     * 
462
     * @link https://confluence.atlassian.com/x/yodKLg
463
     * 
464
     * @param int $projectId The ID of the project.
465
     */
466
    public function getHierarchy(
×
467
        int $projectId,
468
    ): Schema\ProjectIssueTypeHierarchy {
469
        return $this->call(
×
470
            uri: '/rest/api/3/project/{projectId}/hierarchy',
×
471
            method: 'get',
×
472
            path: compact('projectId'),
×
473
            success: 200,
×
474
            schema: Schema\ProjectIssueTypeHierarchy::class,
×
475
        );
×
476
    }
477

478
    /**
479
     * Gets a "notification scheme" associated with the project
480
     * 
481
     * **"Permissions" required:** *Administer Jira* "global permission" or *Administer Projects* "project permission".
482
     * 
483
     * @link https://confluence.atlassian.com/x/8YdKLg
484
     * @link https://confluence.atlassian.com/x/x4dKLg
485
     * @link https://confluence.atlassian.com/x/yodKLg
486
     * 
487
     * @param string $projectKeyOrId The project ID or project key (case sensitive).
488
     * @param string $expand Use "expand" to include additional information in the response.
489
     *                       This parameter accepts a comma-separated list.
490
     *                       Expand options include:
491
     *                        - `all` Returns all expandable information
492
     *                        - `field` Returns information about any custom fields assigned to receive an event
493
     *                        - `group` Returns information about any groups assigned to receive an event
494
     *                        - `notificationSchemeEvents` Returns a list of event associations.
495
     *                       This list is returned for all expandable information
496
     *                        - `projectRole` Returns information about any project roles assigned to receive an event
497
     *                        - `user` Returns information about any users assigned to receive an event
498
     */
499
    public function getNotificationSchemeForProject(
×
500
        string $projectKeyOrId,
501
        ?string $expand = null,
502
    ): Schema\NotificationScheme {
503
        return $this->call(
×
504
            uri: '/rest/api/3/project/{projectKeyOrId}/notificationscheme',
×
505
            method: 'get',
×
506
            query: compact('expand'),
×
507
            path: compact('projectKeyOrId'),
×
508
            success: 200,
×
509
            schema: Schema\NotificationScheme::class,
×
510
        );
×
511
    }
512
}
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